[Ajuda]Reconhecendo Health (Saъde)
#1

Olбббaa .. Gente tipo to querendo fazer um sisteminha aqui.. mais й o seguinte eu quero criar um codigo que quando o player tiver HP " Health ou Saъde " em 20 % por exemplo o meu codigo reconhecer esse HP mais nгo faзo a minima ideia de como comeзar nгo sei ser tem essa funзгo tipo " SetPlayerHealth(playerid, 20.0); " Dai eu queria ao invez de seta ele reconhecer quando o player estiver com 20.0 de Saъde para da partida para um outro codigo que irei fazer ...

achei esse texto acima meio inrolado mais nгo consegui faze-lo melhor ..Acho que vai dar pra entender oque eu tenho duvida .-.
Reply
#2

pawn Код:
if(!strcmp("/saude",cmdtext))
{
    new Float:Saude,string[32];
    GetPlayerHealth(playerid,Saude);
    format(string,32,"Vocк tem %.2f de saude",Saude);
    return 1;
}
Reply
#3

Vocк nгo entendeu -ґ/ irei tentar explicar melhor ..

tipo eu to pra criar um codigo que quando o player estiver morrendo com pouquinha saъde abre uma tela vermelha e e fica meio rodando a tela. Mais pra isso preciso saber como ativar a tela vermelha sу quando o HP " Saъde " do cara tiver pouca ou seja em 15, 20 % de HP. Abre a tela tipo mostrando que ele ta morrendo e tal. Tipo em alguns jogos de tiro que vocк ta morrendo dai fica tudo vermelho. Mais infelimente nгo sei como ativa a tela vermelha sу quando o hp tiver em determinado pucento me ajudem ae agora acho que expliquei melhor uhsauhasuh Grato!
Reply
#4

Primeiramente vocк vai precisar de uma funзгo que verifica o hp de todos os jogadores.
Conforme o resultado, vocк aplica a tela vermelha.

pawn Код:
forward CheckHealth();
public CheckHealth()
{
    new Float:Saude;
    for(new i=0; i < GetMaxPlayers(); i++)
    {
        if(IsPlayerConnected(i))
        {
            GetPlayerHealth(i,Saude);
            if(Saude < 20)
            {
                //Tela vermelha
            }
        }
    }
    return 1;
}
Depois vocк vai precisar de um timer, para executar periodicamente a funзгo criada anteriormente.

pawn Код:
SetTimer("CheckHealth", 1000, false);


Se nгo era isso, entгo eu realmente nгo entendi.
Reply
#5

a mano eu fiz um bagulho meio doido com esse seu code mais ta dando esse warning agora olha

Код:
(59256) : warning 209: function "CheckHealth" should return a value
e tambйm entrei la e nгo funcionou talvez seja por causa do warning olha e alinha do warning й uma chave .-. }
olha o code todo ..

Код:
public CheckHealth()
{
    new Float:Saude;
    for(new i=0; i <MAX_PLAYERS; i++)
    {
		if(IsPlayerConnected(i))
		{
			GetPlayerHealth(i,Saude);
			if(Saude < 20)
			{
			    new tela1[256];
 				format(tela1, sizeof(tela1), "Vocк estar morrendo corra !!!!!!!!!", Saude);
				TextDrawSetString(TelaVemelha[i], tela1);
			}
		}
		return 1;
	}
}// Linha 59256
Reply
#6

return 1;
Reply
#7

pawn Код:
public CheckHealth()
{
    new Float:Saude;
    for(new i, j = GetMaxPlayers(); i != j; ++i)
    {
        if(IsPlayerConnected(i))
        {
            GetPlayerHealth(i,Saude);
            if(Saude < 20)
            {
                new tela1[256];
                format(tela1, sizeof(tela1), "Vocк estar morrendo corra !!!!!!!!!", Saude);
                TextDrawSetString(TelaVemelha[i], tela1);
            }
        }
       
    }
     return 1;
}
Reply
#8

Quote:
Originally Posted by Tom_Park
Посмотреть сообщение
[B]a mano eu fiz um bagulho meio doido com esse seu code mais ta dando esse warning agora olha

Код:
(59256) : warning 209: function "CheckHealth" should return a value
e tambйm entrei la e nгo funcionou talvez seja por causa do warning olha e alinha do warning й uma chave .-. }
olha o code todo ..
Olha lб no teu cуdigo, vocк colocou um return dentro de um for.
Na primeira vez que o laзo for executado, ele vai ser interrompido.

Coloca o return 1; fora da estrutura de repetiзгo.
Reply
#9

pawn Код:
new bool:CheckVida[MAX_PLAYERS];
public CheckHealth()
{
    new Float:Saude;
    for(new i, j = GetMaxPlayers(); i != j; ++i)
    {
        if(IsPlayerConnected(i))
        {
            GetPlayerHealth(i,Saude);
            if(Saude < 20)
            {
                if( CheckVida[i] == false)
                {
                new tela1[128];
                format(tela1, sizeof(tela1), "Vocк estar morrendo corra !!!!!!!!!", Saude);
                TextDrawSetString(TelaVemelha[i], tela1);
                CheckVida[i] = true;
               }
            }
else if(Saude => 20)
            {
if(CheckVida[i] == true)
{
CheckVida[i] = false;
}
}
        }
       
    }
     return 1;
}
Reply
#10


Por Consegui retira-lo ... mais meu player pego 20 de HP e nгo abriu a tela vermelha =/ alguйm sabe me explicar porque ?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)