[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(playerid, cmdtext[])
{
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", cmdtext, true, 0) == 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 idcr, idpg;
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", cmdtext, true, 0) == 0)
Correto :
PHP код:
if (!strcmp("/aceitar", cmdtext, true, 10))
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(playerid, cmdtext[])
{
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", cmdtext, true, 0) == 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 idcr, idpg;
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 ?