This AI is still in early stages of development.

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

Version 1 Next »

A global function that performs a rudimentary check to determine if a player is alive.

 

Syntax

var alive = isPlayerAlive(playerID);

Parameters

ParameterTypeMandatoryNotesAPI Version
playerIDNumber(tick)The ID of the player that is to be checked.1.0

Return value

ValueTypeNotes
trueBooleanIndicates the player is alive
falseBooleanIndicates the player is dead
<error>ErrorIf an invalid player ID is specified, an error will be thrown.

Notes

The isPlayerAlive() function is not cached and does not check to see if a player is a spectator or empty slot. As such, it is recommended that you use Players Objects to determine if a player is alive as it will be quicker and more accurate:

Best way to check if a player is alive...
var alive = Players[playerID].isAlive;

Redefining isPlayerAlive()

You can define a custom isPlayerAlive() function if desired, using the following syntax:

Defining a custom isPlayerAlive() function
// must be *after* including Define API
 
Define("isPlayerAlive", function isPlayerAlive(playerID) {
  // return true if alive, false if dead
});
 
// and *before* including Players API

The Players API will use your custom function instead of its own if the function is defined as specified in the code above.

If no custom function has been defined prior to including the Players API, a default definition is created in accordance with standard game rules: A player is deemed to be living if they have either a FACTORY or a CYBORG_FACTORY or a DROID.

For reference, the default definition uses code similar to that shown below to determine if a player is alive:

Default definition
if (typeof countDroid == "function") { // WZ 3.2+
  return (countStruct(FACTORY, playerID)
       || countStruct(CYBORG_FACTORY, playerID)
       || countDroid(playerID));
} else { // WZ 3.1
  return (enumStruct(playerID, FACTORY).length
       || enumStruct(playerID, CYBORG_FACTORY).length
       || enumDroid(playerID).length);
}

Availability

Requires:

  • Warzone 3.1 or above
  • Util API
  • Define API
  • Player API

 

  • No labels