OnPlayerDeath

OnPlayerDeath

Description:
Callback OnPlayerDeath is called when a player dies, either by suicide or by being killed by another player.
  • The reason will return 37 (flame thrower) from any fire sources (e.g. molotov, 18)
  • The reason will return 51 from any weapon that creates an explosion (e.g. RPG, grenade)
  • You do not need to check whether killerid is valid before using it in SendDeathMessage. INVALID_PLAYER_ID is a valid killerid ID parameter in that function.
  • playerid is the only one who can call the callback. (good to know for anti fake death)
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.


Related Functions
The following functions may be useful, as they are related to this function in one way or another.