SA-MP Forums Archive
[Duda] Detectar daсo de caida - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Español/Spanish (https://sampforum.blast.hk/forumdisplay.php?fid=29)
+---- Thread: [Duda] Detectar daсo de caida (/showthread.php?tid=571333)



[Duda] Detectar daсo de caida - Ghost112397 - 18.04.2015

Buenas, estaba haciendo un sistema de anticheat pero surgiу un error, ya que cuando el usuario caнa de algъn lugar, no se registraba la perdida de vida en la caida y se tomaba como hack, por lo tanto era baneado.
їExiste alguna funciуn o callback para esto? Desde ya muchas gracias.


Re: [Duda] Detectar daсo de caida - SickAttack - 18.04.2015

OnPlayerTakeDamage - Es llamado cuando te caes.


Respuesta: [Duda] Detectar daсo de caida - Ghost112397 - 18.04.2015

Hacer esto estб bien?
PHP код:
public OnPlayerTakeDamage(playeridissueridFloatamountweaponid)
{
    if(
issuerid == INVALID_PLAYER_ID)
    {
        
SetPlayerHealthEx(playerid, -amount);
    }
    return 
1;

No comprendн bien el uso de OnPlayerTakeDamage


Respuesta: [Duda] Detectar daсo de caida - Goncho28 - 18.04.2015

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


Respuesta: [Duda] Detectar daсo de caida - Ghost112397 - 18.04.2015

Hice esto, me gustarнa que me dijeran si las dos funciones son correctas o no, muchas gracias.
PHP код:
public OnPlayerTakeDamage(playeridissueridFloatamountweaponid)
{
    if(
issuerid == INVALID_PLAYER_ID)
    {
        
SetPlayerHealthEx(playeridGetPlayerHealthEx(playerid) -amount);
    }
    return 
1;
}
public 
OnPlayerGiveDamage(playeriddamagedidFloatamountweaponidbodypart)
{
    if(
damagedid != INVALID_PLAYER_ID)
    {
        if(
GetPlayerArmourEx(damagedid) == 0)
        {
            
SetPlayerHealthEx(damagedidGetPlayerHealthEx(playerid) -amount);
        }
        else
        {
            
SetPlayerArmourEx(damagedidGetPlayerArmourEx(damagedid) -amount);
        }
    }
    return 
1;

Y dejo los stock, por si acaso:
PHP код:
stock SetPlayerHealthEx(playeridFloat:health)
{
    
SetPlayerHealth(playeridFloat:health);
    
Informacion[playerid][pVida] = health;
    return 
1;
}
stock SetPlayerArmourEx(playeridFloat:armour)
{
    
SetPlayerArmour(playeridarmour);
    
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;




Re: [Duda] Detectar daсo de caida - SickAttack - 18.04.2015

Quote:
Originally Posted by Goncho28
Посмотреть сообщение
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.


Respuesta: Re: [Duda] Detectar daсo de caida - Ghost112397 - 18.04.2015

Quote:
Originally Posted by SickAttack
Посмотреть сообщение
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.
їQue sugieres hacer? Es que no tengo ni la menor idea de como hacerlo :/

їNo serнa mejor descargarme un anti-cheat del foro?


Re: [Duda] Detectar daсo de caida - SickAttack - 18.04.2015

Te recomiendo esto: http://forum.sa-mp.com/showthread.ph...=weapon-config + un sistema que lo hara posible.


Respuesta: [Duda] Detectar daсo de caida - Ghost112397 - 18.04.2015

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


Re: Respuesta: [Duda] Detectar daсo de caida - SickAttack - 18.04.2015

Quote:
Originally Posted by Ghost112397
Посмотреть сообщение
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
Depende de tus necesidades, pues no te puedo decir exactamente lo que necesitas.