[AJUDA] Health
#1

Como faзo isso abaixo? Ou estб certo?

pawn Код:
SetPlayerHealth(playerid, GetPlayerHealth(playerid)+20);
Para ele pegar a vida do player e somar +20, e se for = a 100 nгo adiciona nada de vida
Reply
#2

Acredito que nгo precise de "(playerid)" 2 vezes '-'
Reply
#3

pawn Код:
new vida = GetPlayerHealth(playerid);
if(vida < 80)
{
     SetPlayerHealth(playerid, +20);
}
else return 0;
й isso que tu quer ? oO

@EDIT; TInha um erro, arrumado, ve se vai '-'
Reply
#4

Nossa eu tinha feito o mesmo, pensei que estava errado hehe.
Ali й else mesmo?
Reply
#5

Sim, se a vida do Player tiver Maior que 80, ele vai retornar 0 (Nullo)

agora por que 80 ? por que se tiver mais de 80, por exemplo 81 e ele dar +20 vai ficar 101 de vida, ou seja, nada bom.

dai fica 80 '-'
Reply
#6

E assim:
pawn Код:
new vida = GetPlayerHealth(playerid);
if(vida == 100) return SendClientMessage(playerid, COLOR_GREY, " Vocк nгo pode comer pois estб de estomago cheio!");
     SetPlayerHealth(playerid, +20);
     // continuaзгo do script
Estб correto?
Reply
#7

Com isso vocк apenas setaria o Health para 20,o certo seria:
pawn Код:
SetPlayerHealth(playerid, vida+20);
Reply
#8

Como a funзгo GetPlayerHealth retorna o valor da vida do jogador armazenando-o na variбvel passada ao segundo parвmetro da mesma, entгo seu cуdigo ficaria assim :


pawn Код:
new Float:vida; //Й criada a variбvel "vida" com suporte para valores flutuantes (fracionбrios).
GetPlayerHealth(playerid, vida); //A variбvel "vida" passa a ter o valor da vida do jogador de ID "playerid".
SetPlayerHealth(playerid, vida+20); //O valor da vida do jogador й transformado nele mesmo com um acrйscimo de 20 de vida.

Para checar o valor da vida com if, faзa como no exemplo abaixo :


pawn Код:
if(vida == 20) return SendClientMessage(playerid, 0xFFFFFFAA, "Vida !");


Espero ter ajudado .
Reply
#9

й esqueci do famoso Float auhseasuhe
Reply
#10

Ajudou e muito +rep obrigado!,

ficou assim:
pawn Код:
if(strcmp(cmd, "/comerhotdog",true)==0)
    {
        if (bHotDog[playerid] != 1)
        {
            SendClientMessage(playerid, COLOR_GREY, "   Vocк nгo tem um hotdog!");
            return 1;
        }      
        new Float:vida;
        if(vida == 100) return SendClientMessage(playerid, COLOR_GREY, "Vocк nгo pode comer, esta de barriga cheia!");        
        GetPlayerHealth(playerid, vida);        
        SetPlayerHealth(playerid, vida+20);
        format(string, sizeof(string), "* Vocк comeu um hotdog.");
        SendClientMessage(playerid, COLOR_WHITE, string);
        format(string, sizeof(string), "* %s pega um hotdog e come.", sendername);
        ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
        bHotDog[playerid] = 0;
        return 1;
    }
funcionou certinho
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)