This AI is still in early stages of development.
isPlayerAlive()
- Aubergine
Syntax
var alive = isPlayerAlive(playerID);
Parameters
Parameter | Type | Mandatory | Notes | API Version |
---|---|---|---|---|
playerID | Number | The ID of the player that is to be checked. | 1.0 |
Return value
Value | Type | Notes | API Version |
---|---|---|---|
true | Boolean | Indicates the player is alive | 1.0 |
false | Boolean | Indicates the player is dead | 1.0 |
<error> | Error | If an invalid player ID is specified, an error will be thrown. | 1.0 |
Notes
The isPlayerAlive() function is not cached and does not check to see if a player is a spectator or vacant slot – so it's slower and less reliable than using the .isAlive property of Players Objects:
// .isAlive uses some tricks and caching to boost performance.. var alive = Players[playerID].isAlive; // much faster way to check
Redefining isPlayerAlive()
You can define a custom isPlayerAlive() function if desired, using the following syntax:
// must be *after* including Define API Define("isPlayerAlive", function isPlayerAlive(playerID) { // handle scavenger id gracefully! (see notes below) // do not use Players API to find out if a player is alive... // ...because it will call this function to find out! // 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. That means that the .isAlive property of players objects will call your function, so you can't use those (or Players.alive which relies on them) to find out if a player is alive, duh!
Because the Players API includes a players object for Scavengers, regardless of whether they are enabled or present on the map, your function must handle that scenario gracefully. If (playerID >= maxPlayers
) then you're being asked if scavengers are alive.
You can see an example script here: Define.isPlayerAlive.js
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.
Availability STABLE
Requires:
- Warzone 3.1 or above
- Define API – if defining your own function
- Players API – if using the default function or faster .isAlive property of Players Objects
Contents
Jump to:
See also
Related articles:
- countDroid() – count the number of droids for a player or group of players
- countStruct() – count the number of structures for a player or group of players
- enumDroid() – get a list of Droid objects for a player
- enumStruct() – get a list of Structure objects for a player
- Victory Conditions – how to determine game victory conditions
Players API
Topics:
- isPlayerAlive() — A global function that performs a basic, un-cached check to determine if a player is alive.
- eventTeamRevived() — A global event triggered when a team is revived (one or more of it's players resurrected).
- eventPlayerDefeated() — A global event triggered when a player is defeated.
- eventPlayerRevived() — A global event triggered when a player is revived (brought back to life).
- Modding Players API — The Players API supports modding...
- isSpectator() — A global function that performs a basic, un-cached check to determine if a player is a spectator based on presence of a Satellite Uplink at the start of the game.
- Players[] — Main interface to Players API and an array of all players in the game, including Scavengers.
- Players.alliesAndMe[] — Returns an array of players objects for living allied players, including me.
- Players.alive[] — Returns an array of players objects for living players.
- Players.allies[] — Returns an array of players objects for living allied players.
- Players.refresh() — Rebuilds all Players Objects, use with care!
- Players.dead[] — Returns an array of players objects for dead players.
- Players.scavenger — Returns the players object associated with the Scavenger faction, even if Scavengers are disabled.
- Players.me — Returns the player object associated with your script.
- Players.enemies[] — Returns an array of players objects for living enemy players.
- Players.mod() — Extend the Players API and Players Objects with your own features...
- Players Objects — The objects returned by the Players API are enhanced versions of Player objects...
- eventTeamDefeated() — A global event triggered when a team is defeated (all it's players defeated).