SA-MP Forums Archive
[Ajuda]OnPlayerTakeDamage - 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: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda]OnPlayerTakeDamage (/showthread.php?tid=303700)



[Ajuda]OnPlayerTakeDamage - telmo_ferreira - 14.12.2011

Boas

Estou tentando fazer uma zona em que nгo se consegue matar,
mais ou menos atй esta funcionando mas...

Код:
public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid)
{
    

    if(IsPlayerInArea(playerid,2008.2567,1907.5319,1227.3151,1111.2321))
    {
    
    new Float:armour;
    new Float:hp;
    GetPlayerHealth(playerid, hp);
    GetPlayerArmour(playerid, armour);
    if (armour > 1.0)
    {
    SetPlayerArmour(playerid,amount+armour);
    }
    if (armour < 1.0)
    {
    SetPlayerHealth(playerid,amount+hp);
    }

    }

    return 1;
}
Eu para testar fui a essa area(IsPlayerInArea...) com a barra de vida a 50HP e saltei de um lugar mais alto onde desconta 4HP

Era Suposto ficar com 46HP depois segundo o codigo recebia 4HP(amount) e ficava com os 50HP.
Mas o que acontece й que quando fasso o teste fico com 54HP.

O codigo parece todo correcto e atй me parece algo facil mas...

Alguem me pode ajudar


Re: [Ajuda]OnPlayerTakeDamage - Lуs - 14.12.2011

Mais fбcil utilizar o GetPlayerTargetPlayer


Re: [Ajuda]OnPlayerTakeDamage - telmo_ferreira - 14.12.2011

Obrigado pela resposta.

Mas ainda assim preferia fazer com OnPlayerTakeDamage porque em caso de grenade ou flame o GetPlayerTargetPlayer nao vai ajudar


Re: [Ajuda]OnPlayerTakeDamage - Lуs - 14.12.2011

Quote:
Originally Posted by telmo_ferreira
Посмотреть сообщение
Obrigado pela resposta.

Mas ainda assim preferia fazer com OnPlayerTakeDamage porque em caso de grenade ou flame o GetPlayerTargetPlayer nao vai ajudar
Mais ai jб seria apelaзгo Хo.


Re: [Ajuda]OnPlayerTakeDamage - telmo_ferreira - 14.12.2011

apelaзгo
como assim nao percebi


Re: [Ajuda]OnPlayerTakeDamage - Lуs - 14.12.2011

Oks, portuga...

Isso jб й exagero usar granadas. Mais pro flammer adianta sim, pois ele precisa mirar.


Re: [Ajuda]OnPlayerTakeDamage - telmo_ferreira - 15.12.2011

Resolvido...

Basta ficar assim, da outra forma nгo descontava dano e ainda acrescentava o que deveria retirar

Код:
public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid)
{
    

    if(IsPlayerInArea(playerid,2008.2567,1907.5319,1227.3151,1111.2321))
    {
    
    new Float:armour;
    new Float:hp;
    GetPlayerHealth(playerid, hp);
    GetPlayerArmour(playerid, armour);
    SetPlayerArmour(playerid,armour);
    SetPlayerHealth(playerid,hp);
    

    }

    return 1;
}



Re: [Ajuda]OnPlayerTakeDamage - CyNiC - 15.12.2011

Quote:
Originally Posted by telmo_ferreira
Посмотреть сообщение
Resolvido...

Basta ficar assim, da outra forma nгo descontava dano e ainda acrescentava o que deveria retirar

Код:
public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid)
{
    

    if(IsPlayerInArea(playerid,2008.2567,1907.5319,1227.3151,1111.2321))
    {
    
    new Float:armour;
    new Float:hp;
    GetPlayerHealth(playerid, hp);
    GetPlayerArmour(playerid, armour);
    SetPlayerArmour(playerid,armour);
    SetPlayerHealth(playerid,hp);
    

    }

    return 1;
}
Vocк testou isso bem?


Re: [Ajuda]OnPlayerTakeDamage - telmo_ferreira - 15.12.2011

Sim e desta ultima forma o cуdigo funciona bem!!