SA-MP Forums Archive
[Ajuda] Comando - 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] Comando (/showthread.php?tid=611437)



Comando - ViniciusTUF - 06.07.2016

Olб rapaziada do fуrum, eu queria que nesse comando, a pessoa que nгo fosse um pux, admin ou organizador e tenta realizar o comando, aparecer aquele mensagem "vocк nгo tem permissгo pra usar esse comando!".


if (strcmp("/anunciar trombar", cmdtext, true) == 0)
{
if(Player[playerid][pAdmin] >= 1 || Player[playerid][pOrganizador] >= 1 || Player[playerid][pPux] >=1)
{
if(GetPVarInt(playerid, "UsouCMD") == 1) return SendClientMessage(playerid, COR_ERRO, "Aguarde 10 segundos para usa esse comando novamente! ");
SetTimerEx("usarcmd",10000,false,"i",playerid);
SetPVarInt(playerid, "UsouCMD" , 1);
new t = Player[playerid][pTorcida];
GivePlayerMoney(playerid, -300);
format(string, sizeof(string), "O %s %s da %s estб chamando alguma torcida para Trombar, /PM [%d]", AccountName(playerid), getPName(playerid), Torcidas[t][tNome], playerid);
SendClientMessageToAll(0xFFFF00AA, string);
return 1;
}
}


Re: Comando - F1N4L - 06.07.2016

Utilize else
Код:
if (strcmp("/anunciar trombar", cmdtext, true) == 0)
{
if(Player[playerid][pAdmin] >= 1 || Player[playerid][pOrganizador] >= 1 || Player[playerid][pPux] >=1)
{
if(GetPVarInt(playerid, "UsouCMD") == 1) return SendClientMessage(playerid, COR_ERRO, "Aguarde 10 segundos para usa esse comando novamente! ");
SetTimerEx("usarcmd",10000,false,"i",playerid);
SetPVarInt(playerid, "UsouCMD" , 1);
new t = Player[playerid][pTorcida];
GivePlayerMoney(playerid, -300);
format(string, sizeof(string), "O %s %s da %s estб chamando alguma torcida para Trombar, /PM [%d]", AccountName(playerid), getPName(playerid), Torcidas[t][tNome], playerid);
SendClientMessageToAll(0xFFFF00AA, string);
return 1;
}
else {
 // code
}
}



Re: Comando - ViniciusTUF - 06.07.2016

Ficaria assim? eu coloquei assim e apareceu a mesangem "vocк nгo tem permissгo pra usar esse comando!". Mas tbm apareceu a mensagem "Esse comando nгo existe".

if (strcmp("/anunciar trombar", cmdtext, true) == 0)
{
if(Player[playerid][pAdmin] >= 1 || Player[playerid][pOrganizador] >= 1 || Player[playerid][pPux] >=1)
{
if(GetPVarInt(playerid, "UsouCMD") == 1) return SendClientMessage(playerid, COR_ERRO, "Aguarde 10 segundos para usa esse comando novamente! ");
SetTimerEx("usarcmd",10000,false,"i",playerid);
SetPVarInt(playerid, "UsouCMD" , 1);
new t = Player[playerid][pTorcida];
GivePlayerMoney(playerid, -300);
format(string, sizeof(string), "O %s %s da %s estб chamando alguma torcida para Trombar, /PM [%d]", AccountName(playerid), getPName(playerid), Torcidas[t][tNome], playerid);
SendClientMessageToAll(0xFFFF00AA, string);
return 1;
}
else { SendClientMessage(playerid, COR_ERRO, "ERRO: Vocк nгo tem permissгo para usar este comando!");
}
}


Re: Comando - F1N4L - 06.07.2016

o return estб atrapalhando...
Код:
if (strcmp("/anunciar trombar", cmdtext, true) == 0)
{
if(Player[playerid][pAdmin] >= 1 || Player[playerid][pOrganizador] >= 1 || Player[playerid][pPux] >=1)
{
if(GetPVarInt(playerid, "UsouCMD") == 1) return SendClientMessage(playerid, COR_ERRO, "Aguarde 10 segundos para usa esse comando novamente! ");
SetTimerEx("usarcmd",10000,false,"i",playerid);
SetPVarInt(playerid, "UsouCMD" , 1);
new t = Player[playerid][pTorcida];
GivePlayerMoney(playerid, -300);
format(string, sizeof(string), "O %s %s da %s estб chamando alguma torcida para Trombar, /PM [%d]", AccountName(playerid), getPName(playerid), Torcidas[t][tNome], playerid);
SendClientMessageToAll(0xFFFF00AA, string);
}
else { SendClientMessage(playerid, COR_ERRO, "ERRO: Vocк nгo tem permissгo para usar este comando!");
}
return 1;
}
Lembre-se de que sempre que for utilizar IF e ELSE, sendo que nгo terб mais nenhum cуdigo posteriormente, nunca adicione return porque nгo hб necessidade, jб que haverб apenas resultados exatos (strcmp й uma exceзгo na callback OnPlayerCommandText, jб que possui muitas outras comparaзхes)...

Maneira errada:
Код:
if(numero == 1) return SendClientMessage(playerid, -1, "1");
else if(numero == 2) return SendClientMessage(playerid, -1, "2");
else if(numero == 3) return SendClientMessage(playerid, -1, "3");
else return SendClientMessage(playerid, -1, "N/A");
Maneira correta:
Код:
if(numero == 1) SendClientMessage(playerid, -1, "1");
else if(numero == 2) SendClientMessage(playerid, -1, "2");
else if(numero == 3) SendClientMessage(playerid, -1, "3");
else SendClientMessage(playerid, -1, "N/A");
Estб muito claro que haverб apenas uma comparaзгo exata, se "numero" for igual a 1 ou 2 ou 3 resultara em uma mensagem com seus respectivos nъmeros, caso "numero" for diferente de 1 ou 2 ou 3 resultarб em uma mensagem com N/A.


Re: Comando - ViniciusTUF - 06.07.2016

Massa mano valeu