OnPlayerTakeDamage - Вызывается, когда игрок получает урон
Описание:
Параметры:
playerid | ID игрока, который получил урон. |
issuerid | ID игрока, который нанес урон. |
amount | Количество нанесенного урона (здоровье и броня комбинированы) |
weaponid | ID оружия, с которого был нанесен урон. |
bodypart | Часть тела, в которую попали. (ПРИМЕЧАНИЕ: Этот параметр был добавлен в 0.3z. Пропустите его, если используете более старую версию!) |
Возвращаемые значения:
- 1 — Обратный вызов не может вызываться в других скриптах.
- 0 — Обратный вызов может вызываться в других скриптах.
- Это всегда вызывается первым в filterscript'ах, тем самым возвращая 1 это заблокирует его вызов в следующем filterscript'е.
Важное | GetPlayerHealth и GetPlayerArmour будут возвращать старые значения игрока до выполнения этого функции. |
Примечания |
|
Примечание | 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;
}