Other great resources: Official JS API docs, Scripting Forum

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

Determine if more generators are required to power our oil derricks.

 

Code

function generatorsRequired(player) {
  if (player == null) {
    player == me;
  } else if (player<0 || player>maxPlayers) {
    return 0;
  }
  var num_res  = enumStruct(player,RESOURCE_EXTRACTOR).length;
  var num_gens = enumStruct(player,POWER_GEN).length;
  var gens_needed = Math.ceil(num_res/4);
  return Math.max(0,gens_needed-num_gens);
}

Example

// build generator if needed
if (generatorsRequired()) {
  // tell a free truck to build a power generator
}
 
// build all required generators
var i;
if (i=generatorsRequired()) while (-1<--i) {
  // tell a free truck to build a power generator
}
 
// how many more generators does player 3 need?
console("Player 3 needs "+generatorsRequired(3)+" more generators to power their resource extractors.");

Notes

If you just want a super-quick check to see if more generators are required, without being able to specify which player or find out how many generators are required, you could use this simplified alternative:

function generatorsRequired() {
  return (enumStruct(me,RESOURCE_EXTRACTOR).length > enumStruct(me,POWER_GEN).length*4);
}
 
// do I need more generators?
if (generatorsRequired()) {
  // build a generator
}

Availability

Requires:

  • Warzone 3.1 Beta 1 and above.

See also

Related articles:

 

  • No labels