OnPlayerDeath

From SA-MP Wiki

Jump to: navigation, search


Description:

This callback is called when a player dies, either by suicide or by being killed by another player.


Parameters:
(playerid, killerid, reason)
playeridThe ID of the player that died.
killeridThe ID of the player that killed the player who died, or INVALID_PLAYER_ID if there was none.
reasonThe 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.


Example Usage:

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;
}
Image:32px-Circle-style-warning.png

Important
Note

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.


Image:32px-Ambox_warning_orange.png

Notes

  • 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)


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 might be useful, as they're related to this callback in one way or another.

Personal tools
Navigation
Toolbox
In other languages