OnPlayerDeath
Description:
Callback OnPlayerDeath is called when a player dies, either by suicide or by being killed by another player.
|
You MUST check whether 'killerid' is valid (not INVALID_PLAYER_ID) before using it in an array (or really anywhere), as it will cause the OnPlayerDeath script to crash (not the entire script). This is because INVALID_PLAYER_ID is defined as 65535, and if an array only has 'MAX_PLAYERS' elements, e.g. 500, you're trying to access an index that is above 499, which is out of bounds. |
Parameters:
(playerid, killerid, reason)
int | playerid | The ID of the player that died. |
int | killerid | The ID of the player that killed the player who died, or INVALID_PLAYER_ID if there was none. |
int | reason | The ID of the reason for the player's death. |
Return Values:
- 0 - Will prevent other filterscripts from receiving this callback.
- 1 - Indicates that this callback will be passed to the next filterscript.
- It is always called first in filterscripts.
Examples:
new PlayerDeaths[MAX_PLAYERS]; new PlayerKills[MAX_PLAYERS]; public OnPlayerDeath(playerid, killerid, reason) { SendDeathMessage(killerid, playerid, reason); // Shows the kill in the killfeed // Check that the killerid is valid before doing anything with it if(killerid != INVALID_PLAYER_ID) { PlayerKillCount[killerid] ++; } // Outside the check, handle stuff for playerid (it's always valid) PlayerDeaths[playerid] ++; return 1; }
Related Callbacks
The following callbacks might be useful as well, as they are related to this callback in one way or another.
- OnPlayerSpawn: Called when a player spawns.
Related Functions
The following functions may be useful, as they are related to this function in one way or another.
- SendDeathMessage: Add a kill to the death list.
- SetPlayerHealth: Set a player's health.