OnPlayerDeath - Вызывается при смерти игрока
Описание:
Вызывается при смерти игрока.
Параметры:
(playerid, killerid, reason) |
playerid | ID погибшего игрока. |
killerid | ID убийцы. Может иметь значениеINVALID_PLAYER_ID, если игрок умер сам (например, утонул или упал с высоты). |
reason | ID причины смерти. |
Возвращаемое значение:
- В моде: Возвращаемое значение не обрабатывается сервером.
- В фильтрскриптах: При возврате 0 функция не будет вызвана в других фильтрскриптах.
Примечание | Функция вызывается сначала в фильтрскриптах, затем в моде. |
Внимание! | Не забывайте проверять параметр killerid на равенство INVALID_PLAYER_ID , чтобы не получить выход за пределы массива из-за неосторожного обращения к какому-либо массиву по индексу killerid (см. пример ниже). |
Код:
// Массивы под счётчики смертей и убийств
new num_deaths[MAX_PLAYERS], num_kills[MAX_PLAYERS];
public OnPlayerConnect(playerid)
{
num_deaths[playerid] = 0;
num_kills[playerid] = 0;
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
// Отправим в киллфид сообщение о смерти
SendDeathMessage(playerid, killerid, reason);
// Увеличим счётчик смертей у убитого игрока
num_deaths[playerid]++;
// Перед тем, как увеличить счётчик убийств,
// убедимся, что ID убийцы - не INVALID_PLAYER_ID
if (killerid != INVALID_PLAYER_ID)
num_kills[killerid]++;
return 1;
}