public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid)
{
if(issuerid == INVALID_PLAYER_ID)
{
SetPlayerHealthEx(playerid, -amount);
}
return 1;
}
public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid)
{
if(issuerid == INVALID_PLAYER_ID)
{
SetPlayerHealthEx(playerid, GetPlayerHealthEx(playerid) -amount);
}
return 1;
}
public OnPlayerGiveDamage(playerid, damagedid, Float: amount, weaponid, bodypart)
{
if(damagedid != INVALID_PLAYER_ID)
{
if(GetPlayerArmourEx(damagedid) == 0)
{
SetPlayerHealthEx(damagedid, GetPlayerHealthEx(playerid) -amount);
}
else
{
SetPlayerArmourEx(damagedid, GetPlayerArmourEx(damagedid) -amount);
}
}
return 1;
}
stock SetPlayerHealthEx(playerid, Float:health)
{
SetPlayerHealth(playerid, Float:health);
Informacion[playerid][pVida] = health;
return 1;
}
stock SetPlayerArmourEx(playerid, Float:armour)
{
SetPlayerArmour(playerid, armour);
Informacion[playerid][pChaleco] = armour;
return 1;
}
stock Float:GetPlayerHealthEx(playerid)
{
new Float:vida = Informacion[playerid][pVida];
return vida;
}
stock Float:GetPlayerArmourEx(playerid)
{
new Float:chaleco = Informacion[playerid][pChaleco];
return chaleco;
}
OnPlayerTakeDamage en espaсol es "Cuando el jugador recibe daсo", cada vez que un jugador pierde vida la callback funciona, podrнas hacer una variable que sea por ejemplo "PerdioVida" que estй en OnPlayerTakeDamage cuando le disparan, caen y demбs y si el PerdioVida = 0 y la vida bajo kickearlo o banearlo
|
OnPlayerTakeDamage es llamado despues de que el daсo fuese procesado.
Ghost112397, no te recomiendaria hacer esto. Hace que OnPlayerDeath se salga de control con outputs incorrectos, en veces nulos. |
Genial, muchas gracias.
їCrees que alguno de estos tambiйn me sirva? http://forum.sa-mp.com/showthread.ph...ght=Anti+cheat http://forum.sa-mp.com/showthread.ph...ght=Anti+cheat |