[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(playeridparams[])
{
    new 
pname[MAX_PLAYER_NAME];
    new 
health 0;
    if(
PlayerInfo[playerid][Admin] != 12 && !IsPlayerAdmin(playerid)) return SendClientMessage(playerid0xFF3C3CAA"Vocк nгo tem permissгo para utilizar este comando");
    if(
sscanf(params"ds[40]"aname)) return SendClientMessage(playerid0xA4857BAA"/vida [playerid/nome] [quantidade]");
    if(
strval(params) == INVALID_PLAYER_ID) return SendClientMessage(playerid,-1,"Vocк especificou um jogador invбlido.");
    
SetPlayerHealth(playeridhealth);
    
GetPlayerName(playeridpnamesizeof(aname));
    
format(pnamesizeof(aname), "%s te setou %s de vida."pnamehealth);
    
SendClientMessage(playerid, -1pname);
    return 
1;

Se possнvel um /colete tmb
Reply
#2

PHP код:
dcmd_vida(playeridparams[]) Ponha no TOPO DA GAME MODE:new Float:vida;
{
    new 
healthgiveplayer[MAX_PLAYER_NAME+1], sendername[MAX_PLAYER_NAME+1], idxstring[264], tmp[264], giveplayerid;
    
GetPlayerName(playeridsendernamesizeof(sendername));
    
GetPlayerName(giveplayeridgiveplayer,sizeof(giveplayer));
    
tmp strtok(paramsidx);
    if(!
strlen(tmp))
    {
        
SendClientMessage(playerid,COR_USOCORRETO,"ERRO: /Vida [ID| |VIDA|");
        return 
1;
    }
    
giveplayerid strval(tmp);
    
tmp strtok(paramsidx);
    if(!
strlen(tmp))
    {
        
SendClientMessage(playerid,COR_USOCORRETO,"ERRO: /Vida [ID| |VIDA|");
        return 
1;
    }
    
health strval(tmp);
    if(
health || 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(giveplayeridgiveplayer,sizeof(giveplayer));
                
format(string256"O %s %s deu vida para %s."AccountName(playerid), getPName(playerid), giveplayer);
                
SendClientMessageToAll(COR_NEGATIVOstring);
            }
            else
            {
                
SendClientMessage(playeridCOR_ERRO"ERRO: Este jogador nгo estб conectado.");
            }
        }
        else
        {
            
SendClientMessage(playeridCOR_ERRO"ERRO: Vocк nгo tem permissгo para usar este comando!");
        }
    }
    else
    {
        
SendClientMessage(playeridCOR_ERRO"ERRO: Vocк tem que estar logado para usar este comando!");
    }
    return 
1;

/// 
dcmd_colete(playeridparams[])
{
    new 
armorgiveplayer[MAX_PLAYER_NAME+1], sendername[MAX_PLAYER_NAME+1], idxstring[264], tmp[264], giveplayerid;
    
GetPlayerName(playeridsendernamesizeof(sendername));
    
GetPlayerName(giveplayeridgiveplayer,sizeof(giveplayer));
    
tmp strtok(paramsidx);
    if(!
strlen(tmp))
    {
        
SendClientMessage(playerid,COR_USOCORRETO,"ERRO: /colete [id do player] [colete]");
        return 
1;
    }
    
giveplayerid strval(tmp);
    
tmp strtok(paramsidx);
    if(!
strlen(tmp))
    {
        
SendClientMessage(playerid,COR_USOCORRETO,"ERRO: /colete [id do player] [colete]");
        return 
1;
    }
    
armor strval(tmp);
    if(
armor || 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(giveplayeridarmor);
                
GetPlayerName(giveplayeridgiveplayer,sizeof(giveplayer));
                
format(string256"O %s %s encheu o colete de %s."AccountName(playerid), getPName(playerid), giveplayer);
                
SendClientMessageToAll(COR_NEGATIVOstring);
            }
            else
            {
                
SendClientMessage(playeridCOR_ERRO"ERRO: Este jogador nгo estб conectado.");
            }
        }
        else
        {
            
SendClientMessage(playeridCOR_ERRO"ERRO: Vocк nгo tem permissгo para usar este comando!");
        }
    }
    else
    {
        
SendClientMessage(playeridCOR_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(playeridparams[]) 

    new 
IDHealth
    if(
sscanf(params"ui"IDHealth)) return SendClientMessage(playerid, -1"Use: /setarvida [id] [health]"); 
    if(!
IsPlayerConnected(ID)) return SendClientMessage(playerid, -1"ERRO: ID invalido"); 
    if(
Health|| Health100) return SendClientMessage(playerid, -1"ERRO: Valor invбlido, use de 0 a 100"); 
    
SetPlayerHealth(IDHealth); 
    
format(Stringsizeof(String), "O Admin %s setou para vocк %d de health."playerName(playerid), Health); 
    
SendClientMessage(ID, -1String); 
    
SendClientMessage(playerid, -1"Vocк setou vida com sucesso."); 
    return 
1

CMD:setarcolete(playeridparams[]) 

    new 
IDArmour
    if(
sscanf(params"ui"IDArmour)) return SendClientMessage(playerid, -1"Use: /colete [id] [armour]"); 
    if(!
IsPlayerConnected(ID)) return SendClientMessage(playerid, -1"ERRO: ID invalido"); 
    if(
Armour|| Armour100) return SendClientMessage(playerid, -1"ERRO: Valor invбlido, use de 0 a 100"); 
    
SetPlayerArmour(IDArmour); 
    
format(Stringsizeof(String), "O Admin %s setou para vocк %d de colete."playerName(playerid), Armour); 
    
SendClientMessage(ID, -1String); 
    
SendClientMessage(playerid, -1"Vocк setou colete com sucesso."); 
    return 
1

Reply
#8

Funfou, valeu!!!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)