[Ajuda] Menos dano variavel
#1

Sem reformular tudo tem como no onplayergivedamage ou takedamage, colcoar pra se tiver com a variavel CAPACETE[playerid] == 1, tomar menos 20% de dano em todos os tiros?
Reply
#2

pode fazer uma verificaзгo mais ou menos assim:

pawn Код:
new Float:hp;
GetPlayerHealth(playerid, hp);
if(CAPACETE[playerid] == 1)
{
    SetPlayerHealth(playerid, hp-5);
}
else
{
    SetPlayerHealth(playerid, hp-10);
}
Mais ou menos assim...
Reply
#3

Oq eu quis dizer sem reformular era tipo um jeito de dar um GET, pegar o dano q foi dado e nesse dano diminuir, pra eu n ter q fazer outros danos nas armas, pq o normal jб й o ideal
Reply
#4

Posta a public onplayerdamage e o takedamage para o pessoal poder fazer utilizando seu cуdigo.
Reply
#5

Na callback OnPlayerTakeDamage ou OnPlayerGiveDamage, vocк pode utilizar de GetPlayerHealth+SetPlayerHealth... Mas vou dar um conselho amigo, isto nгo vai dar certo... A callback й chamada antes do dano, ou seja, em players lagados nгo vai funcionar corretamente.
Reply
#6

Quote:
Originally Posted by Artista
Посмотреть сообщение
Na callback OnPlayerTakeDamage ou OnPlayerGiveDamage, vocк pode utilizar de GetPlayerHealth+SetPlayerHealth... Mas vou dar um conselho amigo, isto nгo vai dar certo... A callback й chamada antes do dano, ou seja, em players lagados nгo vai funcionar corretamente.
Na verdade se ele usar a OnplayerTakeDamage corretamente funciona atй em players lagados, visto que o health vai ser "aumentado" e logo apуs seria diminuido...

Код:
na public OnPlayerTakeDamage: 

new Float:Health, Float:RestoreAmount = Floatmul(Floatdiv(amount, 100.0), 20.0);//20%

GetPlayerHealth(playerid, Health);
SetPlayerHealth(playerid, Floatadd(Health, RestoreAmount));
OBS: nгo testei.
Reply
#7

Quote:
Originally Posted by n0minal
Посмотреть сообщение
Na verdade se ele usar a OnplayerTakeDamage corretamente funciona atй em players lagados, visto que o health vai ser "aumentado" e logo apуs seria diminuido...

Код:
na public OnPlayerTakeDamage: 

new Float:Health, Float:RestoreAmount = Floatmul(Floatdiv(amount, 100.0), 20.0);//20%

GetPlayerHealth(playerid, Health);
SetPlayerHealth(playerid, Floatadd(Health, RestoreAmount));
OBS: nгo testei.
Nao foi nao
pawn Код:
if(CAPACETE[playerid] == 3) {
        new Float:Floatmul, Float:Floatdiv;
        new Float:Health, Float:RestoreAmount = Floatmul(Floatdiv(amount, 100.0), 50.0);//50%
        GetPlayerHealth(playerid, Health);
        SetPlayerHealth(playerid, Floatadd(Health, RestoreAmount));
       
        // error 012: invalid function call, not a valid address
        // warning 215: expression has no effect
        // warning 215: expression has no effect
        // error 001: expected token: ";", but found ")"
        // fatal error 107: too many error messages on one line
// todos os erros na linha:
// new Float:Health, Float:RestoreAmount = Floatmul(Floatdiv(amount, 100.0), 50.0);//50%
    }
Reply
#8

Tenta assim:

Quote:

Float:RestoreAmount = floatmul(floatdiv(amount, 100.0), 50.0);

Reply
#9

Ta muito bugado ta somando mt mais q 50%
Testei assim e msm assim n foi
pawn Код:
if(ARMADURA[playerid] > 0) {
        if(ARMADURA[playerid] == 1) {
            new Float:Health, Float:RestoreAmount = floatmul(floatdiv(amount, 100.0), 10.0);
            new Float:Sum;
            GetPlayerHealth(playerid, Health);
            Sum = Health + RestoreAmount;
            SetPlayerHealth(playerid, Sum);
        }
        else if(ARMADURA[playerid] == 2) {
            new Float:Health, Float:RestoreAmount = floatmul(floatdiv(amount, 100.0), 20.0);
            new Float:Sum;
            GetPlayerHealth(playerid, Health);
            Sum = Health + RestoreAmount;
            SetPlayerHealth(playerid, Sum);
        }
        else if(ARMADURA[playerid] == 3) {
            new Float:Health, Float:RestoreAmount = floatmul(floatdiv(amount, 100.0), 30.0);
            new Float:Sum;
            GetPlayerHealth(playerid, Health);
            Sum = Health + RestoreAmount;
            SetPlayerHealth(playerid, Sum);
        }
    }
Reply
#10

ta enchendo mais a vida do que diminuindo o dano

Tipo ele toma tiro a vida dele sobe manja?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)