Skip to main content

OnPlayerGiveDamage

Deskripcija​

Ovaj callback je pozvan kada igrač zadaje povredu drugom igraču.

ImeDeskripcija
playeridID igrača koji tadaje povredu.
damagedidID igrača koji prima povredu.
Float:amountKoličina healtha i armora kojeg je izgubio (kombinirano).
WEAPON:weaponidRazlog zbog kojeg je zadobio povredu.
bodypartDio tijela koji je udaren.

Returns​

1 - Spriječiti će da druge filterskripte primaju ovaj callback.

0 - Označava da će ovaj callback biti proslijeđen narednoj filterskripti.

Uvijek je pozvana prva u filterskripti.

Primjeri​

public OnPlayerGiveDamage(playerid, damagedid, Float:amount, WEAPON:weaponid, bodypart)
{
new string[128], victim[MAX_PLAYER_NAME], attacker[MAX_PLAYER_NAME];
new weaponname[24];
GetPlayerName(playerid, attacker, sizeof (attacker));
GetPlayerName(damagedid, victim, sizeof (victim));

GetWeaponName(weaponid, weaponname, sizeof (weaponname));
format(string, sizeof(string), "%s has made %.0f damage to %s, weapon: %s, bodypart: %d", attacker, amount, victim, weaponname, bodypart);
SendClientMessageToAll(0xFFFFFFFF, string);
return 1;
}

Zabilješke​

note
  • Imajte na umu da ova funkcija može biti neprecizna u nekim slučajevima.
  • ID oružja (weaponid) će return-ovati 37 (flame thrower) od bilo kojeg izvora vatre (npr. molotov, 18)
  • ID oružja (weaponid) će return-ovati 51 od bilo koje vrste eksplozije (npe. RPG, granata)
  • playerid je jedini koji može pozvati ovaj callback.
  • Količina je uvijek maksimalna povreda koju taj ID oružja (weaponid) može da dadne, iako je nivo healtha manji od maksimalne povrede. Tako da kada igrač ima 100.0 healtha i biva pogođen sa Desert Eagle-om koji daje damage vrijednosti 46.2, potrebna su 3 hica da se taj igrač ubije. Sva tri hica će priakzati količinu 46.2, iako zadnji kada zadnji hitac biva ispaljen, igrač ima samo 7.6 preostalog healtha.
tip

Ako želite spriječiti da određeni igrači povrjeđuju, koristite SetPlayerTeam.