OnPlayerDeath
Опис
Ова функција се позива када играч умре, било самоповређивањем или од стране другог играча.
Име | Опис |
---|---|
playerid | ID играча који је умро. |
killerid | ID играча који је убо играча који је умро, или INVALID_PLAYER_ID ако таквог играча нема. |
WEAPON:reason | ID разлога (id оружја) за смрт играча. |
Враћа
0 - Спречиће друге филтерскрипте да приме овај позив.
1 - Означава да ће овај позив бити прослеђен следећем филтерскрипту.
Увек се прво позива у филтерскриптима.
Пример
new PlayerDeaths[MAX_PLAYERS];
new PlayerKills[MAX_PLAYERS];
public OnPlayerDeath(playerid, killerid, WEAPON:reason)
{
SendDeathMessage(killerid, playerid, reason); // Приказује убиство у фееду за убиства.
// Проверите да ли је killerid валидан пре него што било шта урадите са њим.
if (killerid != INVALID_PLAYER_ID)
{
PlayerKills[killerid] ++;
}
// Изван провере, обрадите ствари за playerid (он је увек валидан).
PlayerDeaths[playerid] ++;
return 1;
}
Белешке
Разлог ће враћати 37 (пламен метак) од било којих извора ватре (нпр. молотов, 18). Разлог ће враћати 51 од било ког оружја које ствара експлозију (нпр. RPG, граната). Не морате да проверавате да ли је killerid валидан пре него што га користите у SendDeathMessage. INVALID_PLAYER_ID је валидан killerid ID параметар у тој функцији. Само playerid може да позове ову функцију (добро је знати за анти-фејк смрт).
Морате проверити да ли је 'killerid' валидан (не INVALID_PLAYER_ID) пре него што га користите у низу (или било где другде), јер ће то узроковати пад скрипте OnPlayerDeath (не целокупне скрипте). То је зато што је INVALID_PLAYER_ID дефинисан као 65535, а ако низ има само 'MAX_PLAYERS' елемената, нпр. 500, покушавате да приступите индексу који је изнад 499, што је ван опсега.
Повезане повратне функције
Следеће повратне функције могу бити корисне, јер су на један или други начин повезане са овим позивом.
- OnPlayerSpawn: Ова функција се позива када се играч појави.
Повезане функције
Следеће функције могу бити корисне, јер су на један или други начин повезане са овим позивом.
- SendDeathMessage: Додај убиство на листу смрти.
- SetPlayerHealth: Подесите здравље играча.