[Ajuda] Setar vida mбxima
#1

Estou tentando setar a vida mбxima de 100 para 35, e coloquei no OnPlayerSpawn, SetPlayerSpawn e OnPlayerLogin o seguinte comando:
pawn Code:
new vida;
        PlayerInfo[playerid][pHealth] = vida;
        if(vida > 35)
        {
        SetPlayerHealth(playerid,vida);
        PlayerInfo[playerid][pHealth] = vida;
        }
Dizendo que se a vida estб mais de 35, ela seta para o pHealth, que estб configurado como 35. (Ao registrar e ao logar).
Tentei fazer uma public tambйm.
pawn Code:
public VidaMenor(playerid)
{
        if(PlayerInfo[playerid][pAdmin] >= 1 && admtrampando[playerid] == 1)
        {
            new vida;
            PlayerInfo[playerid][pHealth] = vida;
            if(vida < 100)
            {
            SetPlayerHealth(playerid,100);
            PlayerInfo[playerid][pHealth] = 100;
            }
        }
        else
        {
            new vida;
            PlayerInfo[playerid][pHealth] = vida;
            if(vida > 35)
            {
            SetPlayerHealth(playerid,vida);
            PlayerInfo[playerid][pHealth] = vida;
            }
        }
}
Pra administrador que bateu o cartгo ter a vida atй o 100, e o resto menor que 35. Alguma ideia? :S
Reply
#2

Qual o problema?
Reply
#3

Roda um timer que verifica se a vida й maior que 35, se for seta automaticamente para 35.
Reply
#4

Seu cуdigo estб errado.

OnGameModeInit.
pawn Code:
SetTimer("VidaMenor", 3000, true);//O timer vai checar a cada 3 segundos a public
OnPlayerSpawn
pawn Code:
new vida;//Variavel
    vida = PlayerInfo[playerid][pHealth];//Vai armazenar o valor que ta no pHealth (antes vc tava fazendo pro pHealth ser = vida.
    if(vida > 35)//Se a vida for maior que 35
        return SetPlayerHealth(playerid, vida);//Vai setar a vida para o que estava no pHealth.
pawn Code:
forward VidaMenor(playerid);
public VidaMenor(playerid)
{
    if(PlayerInfo[playerid][pAdmin] >= 1 && admtrampando[playerid] == 1) {
        new vida = PlayerInfo[playerid][pHealth];//Armazena o valor..
        if(vida < 100)//Checa o valor
            return SetPlayerHealth(playerid, 100);//Seta o valor
    }
    else {
        new vida = PlayerInfo[playerid][pHealth];//Armazena
        if(vida > 35)//Checa
            return SetPlayerHealth(playerid,vida);//Seta
    }
    return 1;
}
Reply
#5

Seu cуdigo tambйm Mittos

Vocк precisa usar SetTimerEx em alguma public com o parвmetro 'playerid' e nгo й preciso setar no OnPlayerSpawn, й sу colocar o timer rodando no mesmo.

pawn Code:
forward @seth(playerid);

public OnPlayerSpawn(playerid)
{
    SetTimerEx("@seth", 500, 1, "i", playerid);
    return 1;
}

@seth(playerid)
{
    // coloca aqui seus trampos de admin e um else
    new Float:h;
   
    GetPlayerHealth(playerid, h);
   
    if(h > 35.0) SetPlayerHealth(playerid, 35);
}
Reply
#6

Pooxa galera, vocкs sгo mto gente boa!
Obrigado а cada um de vocкs, deopis edito falando o resultado xD, vou testar um por um.
Viniborn, o problema й que a vida volta pra 100, queria deixar o mбximo 35, entende? xD
*Edit*
Muito bom! Alйm de resolver consegui outra coisa, deixar a vida do admin sempre ao 100. Maravilhoso! *-*, levaram reputaзгo ae galera
Reply
#7

Quote:
Originally Posted by [BEP]AcerPilot
View Post
Seu cуdigo tambйm Mittos

Vocк precisa usar SetTimerEx em alguma public com o parвmetro 'playerid' e nгo й preciso setar no OnPlayerSpawn, й sу colocar o timer rodando no mesmo.

pawn Code:
forward @seth(playerid);

public OnPlayerSpawn(playerid)
{
    SetTimerEx("@seth", 500, 1, "i", playerid);
    return 1;
}

@seth(playerid)
{
    // coloca aqui seus trampos de admin e um else
    new Float:h;
   
    GetPlayerHealth(playerid, h);
   
    if(h > 35.0) SetPlayerHealth(playerid, 35);
}
Eu nгo usei um float presumindo que ele tem jб um float no pHealth dele, e o meu timer estб errado, afinal nunca usei timer no meu GM xD
Reply
#8

vou dar-lhe um conselho..se voce nao quiser que o player morra, lige o god mode
Reply
#9

@Mittos: de qualquer jeito, no seu cуdigo a variбvel 'vida' precisaria ser declarada como float pois irб armazenar o pHealth, que, se o criador do tуpico estiver fazendo certo, estб definida como float, entende?
Reply
#10

Quote:
Originally Posted by [BEP]AcerPilot
View Post
@Mittos: de qualquer jeito, no seu cуdigo a variбvel 'vida' precisaria ser declarada como float pois irб armazenar o pHealth, que, se o criador do tуpico estiver fazendo certo, estб definida como float, entende?
Sim, nгo tinha percebido isso.
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)