[Ajuda] Getar e setar vida do jogador em TextDraw
#1

Primeiramente olб a todos que estiverem lendo isso.

Eu nгo gosto muito de pedir ajuda, mas eu to tentando fazer um negocio que й simples, mas nгo vejo resultado.

Seguinte: Comecei um Mini-game em que quem for com o CJ comeзa com 1.000 de HP(talvez seja isso que esteja atrapalhando, mas enfim, gostaria de getar o life dese jogar e colocar o valor em uma TextDraw para todos verem.

Eu tentei da seguinte forma. Nгo dб nenhum erro no pawno, mas na hora o valor sу fica 0.0 independente de qual seja minha vida.

pawn Код:
new Float:healthCJ;
new Text:CJVidaS;
new cjvida;
No Spawn do CJ:
pawn Код:
new vidacj[128];
cjvida = GetPlayerHealth(playerid, healthCJ);
format(vidacj, sizeof(vidacj), "%.1f", healthCJ);
TextDrawSetString(CJVidaS, vidacj);
TextDrawShowForAll(CJVidaS);
E essa public pra checar a cada dйcimo o valor da vida do CJ:

pawn Код:
public ChecarCJ()
{
    new playercj[128];
    GetPlayerHealth(cjvida, healthCJ);
    format(playercj, sizeof(playercj), "%.1f", healthCJ);
    //SendClientMessage(playerid,COLOR_RED,vidacj);
    TextDrawSetString(CJVidaS, playercj);
    TextDrawShowForAll(CJVidaS);
    return 1;
}
Se der pra ajudar... Obrigado. Se nгo der, obrigado tambйm.

Desde jб agredeзo!

@Edit

Text Draws
pawn Код:
new Text:CJVida;
CJVida = TextDrawCreate(1.0000, 310.0000,"CJ Vida:");
TextDrawAlignment(CJVida, 1);
TextDrawColor(CJVida, 0xFAFAFAFF);
TextDrawFont(CJVida, 1);
TextDrawSetProportional(CJVida, 1);
TextDrawLetterSize(CJVida, 0.5000,1.0000);
TextDrawShowForAll(CJVida);
   
CJVidaS = TextDrawCreate(70.0000, 310.0000,"1000");
TextDrawAlignment(CJVidaS, 1);
TextDrawColor(CJVidaS, 0x9D0000AA);
TextDrawFont(CJVidaS, 1);
TextDrawSetProportional(CJVidaS, 1);
TextDrawLetterSize(CJVidaS, 0.5000,1.0000);
 TextDrawShowForAll(CJVidaS);
Reply
#2

Use a funзгo
OnPlayerUpdate
Wiki
Reply
#3

Quote:
Originally Posted by ViictorDaay-
Посмотреть сообщение
Use a funзгo
OnPlayerUpdate
Wiki
Sу pra saber, no caso o OnPlayerUpdate seria sу pro "playerid"?
Reply
#4

https://sampforum.blast.hk/showthread.php?tid=113443
Reply
#5

Quote:
Originally Posted by CidadeNovaRP
Посмотреть сообщение
Nгo era bem isso que eu queria, mas tudo bem, valeu assim mesmo. Pode ser que eu uso esse sistema algum dia.
Reply
#6

pawn Код:
TextDrawSetString(CJVidaS, playercj);
A vida do CJ nгo й int?
Reply
#7

Quote:
Originally Posted by mengueh
Посмотреть сообщение
pawn Код:
TextDrawSetString(CJVidaS, playercj);
A vida do CJ nгo й int?
nгo a vida do CJ e de todos os outros players, й Float.. mais no caso ele ta usando o format, pra atualizar a string entгo ta certin ^^

@topic tenta assim:

pawn Код:
// troca sua public  que checa a vida por essa
forward ChecarCJ(id);
public ChecarCJ(id)
{
    new playercj[128], Float: vida;
    GetPlayerHealth(id, vida);
    format(playercj, sizeof(playercj), "CJ Vida: %.1f", vida);
    TextDrawSetString(CJVida, playercj);
    TextDrawShowForAll(CJVida);
    return 1;
}

// e muda seu textdraw por esse
    CJVida = TextDrawCreate(1.0000, 310.0000,"CJ Vida: 1000");
    TextDrawAlignment(CJVida, 1);
    TextDrawColor(CJVida, 0xFAFAFAFF);
    TextDrawFont(CJVida, 1);
    TextDrawSetProportional(CJVida, 1);
    TextDrawLetterSize(CJVida, 0.5000,1.0000);
    TextDrawShowForAll(CJVida);


// coloca isso no spawn do cj..
SetTimerEx("ChecarCJ",500,true, "%i", playerid);

// se nгo funcionar.. tenta assim:

// em OnPlayerConnect
SetTimerEx("ChecarCJ",500,true, "%i", playerid);

// e a public ficaria assim.
public ChecarCJ(id)
{
    if(GetPlayerSkin(id) == 0)
    {
        new playercj[128], Float: vida;
        GetPlayerHealth(id, vida);
        format(playercj, sizeof(playercj), "CJ Vida: %.1f", vida);
        TextDrawSetString(CJVida, playercj);
        TextDrawShowForAll(CJVida);
    }
    return 1;
}
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)