[AJUDA] Comando vida
#1

Queria um comando de setar vida que eu quero, ou seja, nгo quero dar /vida [playerid/nome] e setar automaticamente 100 de vida, quero que eu designe o tanto de vida do player, tentei mais n consegui:

PHP код:
CMD:vida(playerid, params[])
{
    new 
pname[MAX_PLAYER_NAME];
    new 
health = 0;
    if(
PlayerInfo[playerid][Admin] != 12 && !IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFF3C3CAA, "Vocк nгo tem permissгo para utilizar este comando");
    if(
sscanf(params, "ds[40]", aname)) return SendClientMessage(playerid, 0xA4857BAA, "/vida [playerid/nome] [quantidade]");
    if(
strval(params) == INVALID_PLAYER_ID) return SendClientMessage(playerid,-1,"Vocк especificou um jogador invбlido.");
    
SetPlayerHealth(playerid, health);
    
GetPlayerName(playerid, pname, sizeof(aname));
    
format(pname, sizeof(aname), "%s te setou %s de vida.", pname, health);
    
SendClientMessage(playerid, -1, pname);
    return 
1;
} 
Se possнvel um /colete tmb
Reply
#2

PHP код:
dcmd_vida(playerid, params[]) Ponha no TOPO DA GAME MODE:new Float:vida;
{
    new 
health, giveplayer[MAX_PLAYER_NAME+1], sendername[MAX_PLAYER_NAME+1], idx, string[264], tmp[264], giveplayerid;
    
GetPlayerName(playerid, sendername, sizeof(sendername));
    
GetPlayerName(giveplayerid, giveplayer,sizeof(giveplayer));
    
tmp = strtok(params, idx);
    if(!
strlen(tmp))
    {
        
SendClientMessage(playerid,COR_USOCORRETO,"ERRO: /Vida [ID| |VIDA|");
        return 
1;
    }
    
giveplayerid = strval(tmp);
    
tmp = strtok(params, idx);
    if(!
strlen(tmp))
    {
        
SendClientMessage(playerid,COR_USOCORRETO,"ERRO: /Vida [ID| |VIDA|");
        return 
1;
    }
    
health = strval(tmp);
    if(
health < 0 || health > 100)
    {
        
SendClientMessage(playerid,COR_ERRO,"ERRO: Quantidade de vida invбlida!");
        return 
1;
    }
    if(
Player[playerid][pLogged] == true)
    {
        if(
Player[playerid][pAdmin] >= 1)
        {
            if(
IsPlayerConnected(giveplayerid))
            {
                
SetPlayerHealth(giveplayerid,health);
                
GetPlayerName(giveplayerid, giveplayer,sizeof(giveplayer));
                
format(string, 256, "O %s %s deu vida para %s.", AccountName(playerid), getPName(playerid), giveplayer);
                
SendClientMessageToAll(COR_NEGATIVO, string);
            }
            else
            {
                
SendClientMessage(playerid, COR_ERRO, "ERRO: Este jogador nгo estб conectado.");
            }
        }
        else
        {
            
SendClientMessage(playerid, COR_ERRO, "ERRO: Vocк nгo tem permissгo para usar este comando!");
        }
    }
    else
    {
        
SendClientMessage(playerid, COR_ERRO, "ERRO: Vocк tem que estar logado para usar este comando!");
    }
    return 
1;
} 
/// 
dcmd_colete(playerid, params[])
{
    new 
armor, giveplayer[MAX_PLAYER_NAME+1], sendername[MAX_PLAYER_NAME+1], idx, string[264], tmp[264], giveplayerid;
    
GetPlayerName(playerid, sendername, sizeof(sendername));
    
GetPlayerName(giveplayerid, giveplayer,sizeof(giveplayer));
    
tmp = strtok(params, idx);
    if(!
strlen(tmp))
    {
        
SendClientMessage(playerid,COR_USOCORRETO,"ERRO: /colete [id do player] [colete]");
        return 
1;
    }
    
giveplayerid = strval(tmp);
    
tmp = strtok(params, idx);
    if(!
strlen(tmp))
    {
        
SendClientMessage(playerid,COR_USOCORRETO,"ERRO: /colete [id do player] [colete]");
        return 
1;
    }
    
armor = strval(tmp);
    if(
armor < 0 || armor > 100)
    {
        
SendClientMessage(playerid,COR_ERRO,"ERRO: Quantidade de colete invбlida!");
        return 
1;
    }
    if(
Player[playerid][pLogged] == true)
    {
        if(
Player[playerid][pAdmin] >= 1)
        {
            if(
IsPlayerConnected(giveplayerid))
            {
                
SetPlayerArmour(giveplayerid, armor);
                
GetPlayerName(giveplayerid, giveplayer,sizeof(giveplayer));
                
format(string, 256, "O %s %s encheu o colete de %s.", AccountName(playerid), getPName(playerid), giveplayer);
                
SendClientMessageToAll(COR_NEGATIVO, string);
            }
            else
            {
                
SendClientMessage(playerid, COR_ERRO, "ERRO: Este jogador nгo estб conectado.");
            }
        }
        else
        {
            
SendClientMessage(playerid, COR_ERRO, "ERRO: Vocк nгo tem permissгo para usar este comando!");
        }
    }
    else
    {
        
SendClientMessage(playerid, COR_ERRO, "ERRO: Vocк tem que estar logado para usar este comando!");
    }
    return 
1;
} 
Reply
#3

Nesse comando tem coisas definidas que na minha GM nгo tem..
Reply
#4

Apenas os, dcmd(colete, cmdtext);
dcmd(vida, cmdtext);

E Float:VidaColeteDM[2],
Reply
#5

Nгo.. diversas coisas nгo definidas aqui... tem um comando mais simples nгo? Estou super confundido com esse.
Reply
#6

Tente assim:
pawn Код:
CMD:vida(playerid, params[])
{
    new pname[MAX_PLAYER_NAME], pname, ID;
    if(PlayerInfo[playerid][Admin] != 12 && !IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFF3C3CAA, "Vocк nгo tem permissгo para utilizar este comando");
    if(sscanf(params, "dd", ID, health)) return SendClientMessage(playerid, 0xA4857BAA, "/vida [playerid] [quantidade]");
    if(strval(params) == INVALID_PLAYER_ID) return SendClientMessage(playerid,-1,"Vocк especificou um jogador invбlido.");
    SetPlayerHealth(ID, health);
    GetPlayerName(playerid, pname, sizeof(pname));
    format(pname, sizeof(pname), "%s te setou %d de vida.", pname, health);
    SendClientMessage(playerid, -1, pname);
    return 1;
}
Reply
#7

PHP код:
CMD:setarvida(playerid, params[]) 
{ 
    new 
ID, Health; 
    if(
sscanf(params, "ui", ID, Health)) return SendClientMessage(playerid, -1, "Use: /setarvida [id] [health]"); 
    if(!
IsPlayerConnected(ID)) return SendClientMessage(playerid, -1, "ERRO: ID invalido"); 
    if(
Health< 0 || Health> 100) return SendClientMessage(playerid, -1, "ERRO: Valor invбlido, use de 0 a 100"); 
    
SetPlayerHealth(ID, Health); 
    
format(String, sizeof(String), "O Admin %s setou para vocк %d de health.", playerName(playerid), Health); 
    
SendClientMessage(ID, -1, String); 
    
SendClientMessage(playerid, -1, "Vocк setou vida com sucesso."); 
    return 
1; 
} 
CMD:setarcolete(playerid, params[]) 
{ 
    new 
ID, Armour; 
    if(
sscanf(params, "ui", ID, Armour)) return SendClientMessage(playerid, -1, "Use: /colete [id] [armour]"); 
    if(!
IsPlayerConnected(ID)) return SendClientMessage(playerid, -1, "ERRO: ID invalido"); 
    if(
Armour< 0 || Armour> 100) return SendClientMessage(playerid, -1, "ERRO: Valor invбlido, use de 0 a 100"); 
    
SetPlayerArmour(ID, Armour); 
    
format(String, sizeof(String), "O Admin %s setou para vocк %d de colete.", playerName(playerid), Armour); 
    
SendClientMessage(ID, -1, String); 
    
SendClientMessage(playerid, -1, "Vocк setou colete com sucesso."); 
    return 
1; 
} 
Reply
#8

Funfou, valeu!!!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)