SA-MP Forums Archive
[AJUDA] Mensagem errada ao digitar comando invбlido - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [AJUDA] Mensagem errada ao digitar comando invбlido (/showthread.php?tid=254836)



[AJUDA] Mensagem errada ao digitar comando invбlido - guivaldevieso - 13.05.2011

Pessoal, sou novo no fуrum , e meio leigo em programaзгo no Pawno...
Tenho uma dъvida, e estou quebrando a cabeзa com ela a tempos...

Toda vez que eu digito um comando invбlido, ex: (/ajfoaisfjasio) o servidor retorna uma mensagem que sу deveria retornar caso o player digitasse /aceitar, mas ele retorna a seguinte mensagem "Nenhum player te convidou para um Pega-pega." , ficaria muito grato se me dessem uma luz, estou postando o cуdigo abaixo. Abraзos.

OBS : NГO LIGUEM PRA MINHA DESORGANIZAЗГO NO CУDIGO, COMO DISSE SOU MEIO LEIGO...

PHP код:
public OnPlayerCommandText(playeridcmdtext[])
{
    new 
idx;
    new 
cmd[256];
    
cmd strtok(cmdtext,idx);
    if (
strcmp(cmd,"/pegar",true) == 0){
    new 
tmp[256];
    new 
msg[128];
    new 
IdJogador;
    new 
convite[256];
    new 
MeuNome[MAX_PLAYER_NAME], JogadorNome[MAX_PLAYER_NAME];
    
tmp strtok(cmdtext,idx);
    if (!
strlen(tmp)){
    
SendClientMessage(playerid,COLOR_BLUE,"O Comando й usado assim : /pegar [playerid]");
    return 
1;
    }
    if (
strval(tmp) == playerid){
    
SendClientMessage(playerid,COLOR_RED,"Vocк nгo pode convidar vocк mesmo.");
    return 
1;
    }
    if (!
IsPlayerConnected(IdJogador)){
    
format(msg,sizeof(msg),"O jogador de ID %d nгo estб online, tente outra ID.",IdJogador);
    
SendClientMessage(playerid,COLOR_YELLOW,msg);
    return 
1;
    }
    
IdJogador strval(tmp);
    
GetPlayerName(playerid,MeuNome,sizeof(MeuNome));
    
GetPlayerName(IdJogador,JogadorNome,sizeof(JogadorNome));
    
format(convite,sizeof(convite),"%s(%d) , o jogador %s(%d) estб te convidando para um pega-pega, deseja aceitar?",JogadorNome,IdJogador,MeuNome,playerid);
    
SendClientMessage(IdJogador,COLOR_GREEN,convite);
    
format (msg,sizeof(msg),"Convite enviado para %s(%d).",JogadorNome,IdJogador);
    
SendClientMessage(playerid,COLOR_BLUE,msg);
    
playerbool[IdJogador] = true;
    
playerconvite[IdJogador] = playerid;
    return 
1;
    }
    if (
strcmp("/aceitar"cmdtexttrue0) == 0)
     {
     if (!
playerbool[playerid] == true){
    
SendClientMessage(playerid,COLOR_YELLOW,"Nenhum player te convidou para um Pega-pega.");
    return 
1;
    }
    if (
playerbool[playerid] == true)
    {
    new 
msg[128];
    new 
pnome[MAX_PLAYER_NAME];
    new 
idcridpg;
    
GetPlayerName(playerconvite[playerid],pnome,sizeof(pnome));
    
format(msg,sizeof(msg),"Seu convite foi aceito por %s(%d).",pnome,playerid);
    
SendClientMessage(playerconvite[playerid],COLOR_BLUE,msg);
    
idcr AddStaticVehicle(507,1487.2806,-975.6321,37.1073,61.5499,36,36);
    
idpg AddStaticVehicle(507,1593.6980,-966.9681,38.3022,82.6747,36,36); // pegador
    
PutPlayerInVehicle(playerid,idcr,0);
    
PutPlayerInVehicle(playerconvite[playerid],idpg,0);
    
GameTextForPlayer(playerid,"O Pega-pega vai comeзar...",2000,0);
    
GameTextForPlayer(playerconvite[playerid],"O Pega-pega comecou...",2000,0);
    
playerbool[playerid] = false;
    
SetVehicleParamsForPlayer(idcr,playerconvite[playerid],1,0);
    
SetVehicleParamsForPlayer(idcr,playerid,1,0);
    return 
1;
    }
    }
    return 
SendClientMessage(playerid,COLOR_YELLOW,"Comando desconhecido no servidor...");
    } 



Re: [AJUDA] Mensagem errada ao digitar comando invбlido - guivaldevieso - 13.05.2011

Nossa gente burrice minha, jб achei o erro.

Errado :

PHP код:
 if (strcmp("/aceitar"cmdtexttrue0) == 0
Correto :

PHP код:
if (!strcmp("/aceitar"cmdtexttrue10)) 
Agora estб tudo suave...

Obrigado e desculpe pelo transtorno


Re: [AJUDA] Mensagem errada ao digitar comando invбlido - Shadoww5 - 13.05.2011

Arrumei seu codigo, entгo substitue por isto aqui e ve se funciona:

PHP код:
public OnPlayerCommandText(playeridcmdtext[])
{
    new 
idx;
    new 
cmd[256];
    
cmd strtok(cmdtext,idx);
    if (
strcmp(cmd,"/pegar",true) == 0)
    {
        new 
tmp[256];
        new 
msg[128];
        new 
IdJogador;
        new 
convite[256];
        new 
MeuNome[MAX_PLAYER_NAME], JogadorNome[MAX_PLAYER_NAME];
        
tmp strtok(cmdtext,idx);
        if (!
strlen(tmp))
        {
            
SendClientMessage(playerid,COLOR_BLUE,"O Comando й usado assim : /pegar [playerid]");
            return 
1;
        }
        if (
strval(tmp) == playerid)
        {
            
SendClientMessage(playerid,COLOR_RED,"Vocк nгo pode convidar vocк mesmo.");
            return 
1;
        }
        if (!
IsPlayerConnected(IdJogador))
        {
            
format(msg,sizeof(msg),"O jogador de ID %d nгo estб online, tente outra ID.",IdJogador);
            
SendClientMessage(playerid,COLOR_YELLOW,msg);
            return 
1;
        }
        
IdJogador strval(tmp);
        
GetPlayerName(playerid,MeuNome,sizeof(MeuNome));
        
GetPlayerName(IdJogador,JogadorNome,sizeof(JogadorNome));
        
format(convite,sizeof(convite),"%s(%d) , o jogador %s(%d) estб te convidando para um pega-pega, deseja aceitar?",JogadorNome,IdJogador,MeuNome,playerid);
        
SendClientMessage(IdJogador,COLOR_GREEN,convite);
        
format (msg,sizeof(msg),"Convite enviado para %s(%d).",JogadorNome,IdJogador);
        
SendClientMessage(playerid,COLOR_BLUE,msg);
        
playerbool[IdJogador] = true;
        
playerconvite[IdJogador] = playerid;
        return 
1;
    }
    if (
strcmp("/aceitar"cmdtexttrue0) == 0)
    {
        if (
playerbool[playerid] == false)]
        {
            
SendClientMessage(playerid,COLOR_YELLOW,"Nenhum player te convidou para um Pega-pega.");
        }
        else
        {
            new 
msg[128];
            new 
pnome[MAX_PLAYER_NAME];
            new 
idcridpg;
            
GetPlayerName(playerconvite[playerid],pnome,sizeof(pnome));
            
format(msg,sizeof(msg),"Seu convite foi aceito por %s(%d).",pnome,playerid);
            
SendClientMessage(playerconvite[playerid],COLOR_BLUE,msg);
            
idcr AddStaticVehicle(507,1487.2806,-975.6321,37.1073,61.5499,36,36);
            
idpg AddStaticVehicle(507,1593.6980,-966.9681,38.3022,82.6747,36,36); // pegador
            
PutPlayerInVehicle(playerid,idcr,0);
            
PutPlayerInVehicle(playerconvite[playerid],idpg,0);
            
GameTextForPlayer(playerid,"O Pega-pega vai comeзar...",2000,0);
            
GameTextForPlayer(playerconvite[playerid],"O Pega-pega comecou...",2000,0);
            
playerbool[playerid] = false;
            
SetVehicleParamsForPlayer(idcr,playerconvite[playerid],1,0);
            
SetVehicleParamsForPlayer(idcr,playerid,1,0);
        }
        return 
1;
    }
    return 
SendClientMessage(playerid,COLOR_YELLOW,"Comando desconhecido no servidor...");

#EDIT

Consertou o erro mesmo ?