OnPlayerTakeDamage - Вызывается, когда игрок получает урон

Описание:

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

Параметры:

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

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

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

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

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

Примечания

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

Примечание

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

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

Код:

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;

}

RSS
Нет комментариев. Ваш будет первым!
Загрузка...