OnPlayerTakeDamage RU

From SA-MP Wiki

Jump to: navigation, search

OnPlayerTakeDamage

OnPlayerTakeDamage RU добавлено в 0.3d Этот обратный вызов был добавлен в SA-MP 0.3d и не работает в более ранних версиях!


Описание:

Этот колбэк вызывается, когда игрок получает урон


Параметры:
(playerid, issuerid, Float:amount, weaponid, bodypart)
playeridID игрока, который получил урон.
issueridID игрока, который нанес урон.
amountКоличество нанесенного урона (здоровье и броня комбинированы)
weaponidID оружия, с которого был нанесен урон.
bodypartЧасть тела, в которую попали. (ПРИМЕЧАНИЕ: Этот параметр был добавлен в 0.3z. Пропустите его, если используете более старую версию!)


Возвращаемые значения:

  • 1 - Обратный вызов не может вызываться в других скриптах.
  • 0 - Обратный вызов может вызываться в других скриптах.
  • Это всегда вызывается первым в filterscript'ах, тем самым возвращая 1 это заблокирует его вызов в следующем filterscript'е.


Image:32px-Circle-style-warning.png

Важное
Примечание

GetPlayerHealth и GetPlayerArmour будут возвращать старые значения игрока до выполнения этого колбэка.


Image:32px-Ambox_warning_orange.png

Примечания

  • weaponid будет равен 37 (огнемёт) для любых источников огня (например коктейль молотова, 18).
  • playerid единственный, кто может вызывать данный callback.


Пример использования:

public OnPlayerTakeDamage(playerid, issuerid, Float:amount, weaponid, bodypart)
{
    if(issuerid != INVALID_PLAYER_ID)
    {
        new string[128], victim[MAX_PLAYER_NAME], attacker[MAX_PLAYER_NAME];
        new weaponname[24];
        GetPlayerName(playerid, victim, sizeof (victim));
        GetPlayerName(issuerid, attacker, sizeof (attacker));
 
        GetWeaponName(weaponid, weaponname, sizeof (weaponname));
        format(string, sizeof(string), "%s повредил на %.0f здоровья %s, оружие: %s", attacker, amount, victim, weaponname);
        SendClientMessageToAll(0xFFFFFFFF, string);
    }
    return 1;
}


Image:32px-Ambox_warning_orange.png

Примечание

OnPlayerTakeDamage и OnPlayerGiveDamage не синхронизированы полностью.

Из-за различия в пинге, функция OnPlayerTakeDamage вызывается через несколько миллисекунд в случае успешного вызова функции OnPlayerGiveDamage.


Связанные автовызываемые функции

Эти автовызываемые функции могут оказаться полезными, т.к. они связаны с текущей функцией.

Template:OnPlayerGiveDamage RU

  • OnPlayerWeaponShot: Вызывается, когда игрок производит выстрел из оружия.
Personal tools
Navigation
Toolbox
In other languages