[Ajuda] Code ZCMD+SSCANF
#1

Pessoal fiz um trem vendo tutoriais de como usar zcmd+sscanf , dai eu fiz o comando /armour para seta o colete do jogador , So que quando eu digito o Comando diz "COMANDO DESCONHECIDO" alguem pode me ajudar. Segue abaixo o codigo

pawn Код:
#include <a_samp>
#include <zcmd>


native sscanf(const data[], const format[], {Float,_}:...);
native unformat(const data[], const format[], {Float,_}:...) = sscanf;
pawn Код:
public
    OnPlayerCommandPerformed(playerid, cmdtext[], success)
{
    static Name[24];
    GetPlayerName(playerid,Name,24);  //peguei do drakins
    printf("[COMANDOS]: Player %s Digitou | Comando: %s",Name,cmdtext);
    if (!success)
        return SendClientMessage(playerid,0xFFFFFF,"[ERRO] Comando invalido");
    return true;
}

o comando

pawn Код:
CMD:armour(playerid,params[])
{
   new
     id,
     colete;
   if(sscanf(params,"d", id)) return SendClientMessage(playerid,0xFFFFFF, "Uso correto /armour <id><quantidade>");
   if(!IsPlayerConnected(id)) return  SendClientMessage(playerid, 0xFFFFFFA, "[ FAIL]O Jogador estб offline!");
   
   SetPlayerArmour(playerid,colete);
   SendClientMessage(id,0xFFD700AA, "[ADM] Seu colete foi setado!");
   return true;
   }
tO INDO dormir espero que alguem me ajude , grato!
Reply
#2

Use FCMD muito melhor http://www.sampbrasil.com.br/forum/i...tros-e-rapido/

pawn Код:
fcmd(armour,playerid)
{
    new pid,colete;
    pid = strval ( iParams [ 0 ] );
    colete = strval ( iParams [ 1 ] );
    if(!IsPlayerConnected(pid)) return  SendClientMessage(playerid, 0xFFFFFFA, "[ FAIL]O Jogador estб offline!");
    SetPlayerArmour(pid,colete);
    SendClientMessage(pid,0xFFD700AA, "[ADM] Seu colete foi setado!");
    return true;
}
Reply
#3

Ok , mais queria saber o que tem de errado awe? para dar comand desconhecido:{
Reply
#4

pawn Код:
CMD:armour(playerid,params[])
{
    new Jogador,GivePlayerid;
    if (IsPlayerAdmin(playerid) )
    {
        if (!sscanf(params,"ui",Jogador,GivePlayerid))
        {
            if ( IsPlayerConnected(Jogador))
            {
                if (GivePlayerid <= 100)
                {
                    new nomeadm[MAX_PLAYER_NAME], PlayerName[MAX_PLAYER_NAME];
                    GetPlayerName(playerid, nomeadm, sizeof(nomeadm));
                    GetPlayerName(Jogador, PlayerName, sizeof(PlayerName));
                    format(string, sizeof(string),"-OperServ- O administrador %s setou seu colete para %d Ap.",nomeadm,GivePlayerid);
                    SendClientMessage(Jogador,COLOR_AMARELO3,string);
                    format(string, sizeof(string),"» Vocк alterou o colete do jogador %s para %d Ap.",PlayerName,GivePlayerid);
                    SendClientMessage(playerid,COLOR_AMARELO3,string);
                    SetPlayerArmour(Jogador,GivePlayerid);
                }
                else SendClientMessage(playerid,COLOR_VERMELHO,"» Esta quantia de colete nгo й valida. (Max. 100)");
            }
            else return SendClientMessage(playerid,COLOR_VERMELHO,"» Este jogador nгo esta conectado.");
        }
        else return SendClientMessage(playerid,COLOR_AMARELO,"» Comando: /armour[ID do Jogador] [Quantia de Colete]");
    }
    else return SendClientMessage(playerid,COLOR_VERMELHO,"» Vocк nгo possui nнvel necessario na administraзгo para usar este comando");
    return 1;
}
Tenta esse =)
Reply
#5

Realmente deve ser problema no ZCMD tentei de todas formas possiveis nen uma Deu certo, obrigado
Reply
#6

Ta vlw

@edit

Realmente muito bom usei ele e o comando funcionou perfeitamente!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)