[Ajuda] NO-LAG
#1

Olб, boa tarde!!!

Estou usando este cуdigo, porem os kills nгo estгo atribuindo corretamente...
Me ajudem:

pawn Код:
#include <alss>

public OnPlayerGiveDamage(playerid, damagedid, Float:amount, weaponid)
{
    new Float:HP, Float:Colete, Float:Dano;
    GetPlayerArmour(damagedid, Colete);
    GetPlayerHealth(damagedid, HP);
    if(weaponid == 24){amount = 10;}//eagle
    if(weaponid == 23){amount = 50;}//silencedcolt
    if(Colete > 0)
    {
        if(amount > Colete)
        {
            Dano = amount - Colete;
            HP = HP - Dano;
            SetPlayerArmour(damagedid, 0.0);
            SetPlayerHealth(damagedid, HP);
            return 1;
        }
        Colete = Colete - amount;
        SetPlayerArmour(damagedid, Colete);
    }
    if(Colete < 1)
    {
        HP = HP - amount;
        SetPlayerHealth(damagedid, HP);
    }
    return 1;
}
Obrigado!
Reply
#2

uma vez eu li que nao se deve confiar no OnPlayerGiveDamage, creio que a propria wiki diz o mesmo!
use OnPlayerTakeDamage
Reply
#3

Olб, boa tarde!

DartakousLien, me ajude por favor! So mudar o nome ali ?! Para "OnPlayerTakeDamage" ?!

Vlw!
Reply
#4

Sim, mude o nome da callback de OnPlayerGiveDamage para OnPlayerTakeDamage. E tambйm mude a forward OnPlayerGiveDamage para OnPlayerTakeDamage.
Reply
#5

Quote:
Originally Posted by DannielCooper
Посмотреть сообщение
Sim, mude o nome da callback de OnPlayerGiveDamage para OnPlayerTakeDamage. E tambйm mude a forward OnPlayerGiveDamage para OnPlayerTakeDamage.
Depois fala que sabe codar nй!
Mudar o nome de forward? Que forward oque! OnPlayerGiveDamage e OnPlayerTakeDamage ambas sгo funзхes nativas do samp.
Reply
#6

Quote:
Originally Posted by ProKillerpa
Посмотреть сообщение
Depois fala que sabe codar nй!
Mudar o nome de forward? Que forward oque! OnPlayerGiveDamage e OnPlayerTakeDamage ambas sгo funзхes nativas do samp.
Eu acho que em burrice, vocк se empata com a porta, sу acho.
Reply
#7

Olб, boa noite!

Nгo funcionou. Deu alguns erros.

Vlw!
Reply
#8

Posta os erros, pois as callback's tem definiзхes padrхes diferentes...
Reply
#9

Quote:
Originally Posted by DannielCooper
Посмотреть сообщение
Eu acho que em burrice, vocк se empata com a porta, sу acho.
voce sabe o que que esta falando? nem vou comentar! vai que й doenзa

@TOPIC
nao cara, tem que trocar o nome da callback insverter os valores de playerid e damagedid, se procurasse na wiki seria mais facil, mas eu vou editar seu codigo! sу um instante

@EDIT

pawn Код:
public OnPlayerTakeDamage(playerid, issuerid, Float:amount, weaponid)
{
    if(issuerid != INVALID_PLAYER_ID)
    {
        new Float:HP, Float:Colete;//, Float:Dano;
        GetPlayerArmour(playerid, Colete);
        GetPlayerHealth(playerid, HP);
        if(weaponid == 24){amount = 10;}//eagle
        if(weaponid == 23){amount = 50;}//silencedcolt
        if(Colete > 0)
        {
            if(amount > Colete)
            {
                //Dano = amount - Colete;
                //HP = HP - Dano;
                SetPlayerArmour(playerid, 0.0);
                SetPlayerHealth(playerid, HP - (amount - Colete));//dessa forma й mais seguro
                return 1;
            }
            //Colete = Colete - amount;
            SetPlayerArmour(playerid, Colete - amount);
        }
        else//nao precisa de usar if(Colete < 1) aqui pode usar o else
        {
            //HP = HP - amount;
            SetPlayerHealth(playerid, HP - amount);
        }
    }
    return 1;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)