19/10/2023 20:28
(19/10/2023 20:15)leonardos08bt Escreveu:Código PHP:CMD:setadmin(playerid, params[]){
if(Player[playerid][pLogged] == false)
return SCM(playerid, COLOR_ERRO, ""TAG_ERRO"Você não está logado!");
if(!IsPlayerAdmin(playerid))
return SCM(playerid, COLOR_ERRO, ""TAG_ERRO"Você não tem permissão para usar este comando!");
new idx, level;
if(sscanf(params, "ud", idx, level))
return SCM(playerid, COLOR_USOCORRETO, "Uso: /setadmin [id/nick] [level]");
if(!IsPlayerConnected(idx))
return SCM(playerid, COLOR_ERRO, ""TAG_ERRO"Este jogador não está conectado.");
if(!Player[idx][pLogged])
return SCM(playerid, COLOR_ERRO, ""TAG_ERRO"Este jogador não está Logado!");
if(level < 0 || level > 6)
return SCM(playerid, COLOR_ERRO, ""TAG_ERRO"Máximo de level para administradores é de 0 até 6.");
new string[128];
if(level == 0){
format(string, sizeof(string),"%s removeu seu cargo de Administrador.", getPName(playerid));
SCM(idx, -1, string);
format(string, sizeof(string), "%s removeu %s do cargo de Administrador.", getPName(playerid), getPName(idx));
for(new x; x < MAX_PLAYERS; x++)
{
if(Player[x][pAdmin])
SCM(x, COR_AZUL, query);
}
}
if(level >= 1){
format(string, sizeof(string),"%s setou você de Administrador level %d.", AccountName(playerid), getPName(playerid), level);
SCM(idx, -1, string);
format(string, sizeof(string), "Você foi setado de Administrador pelo %s de level %d.", getPName(idx), level);
SCM(playerid, -1, string);
format(string, sizeof(string), "%s mudou o level de Administrador da conta de %s para %d.", getPName(playerid), getPName(idx), level);
for(new x; x < MAX_PLAYERS; x++)
{
if(Player[x][pAdmin])
SCM(x, COR_AZUL, query);
}
}
Player[idx][pAdmin] = level;
return true;
}
A única coisa que fiz foi colocar as verificações de conectado e logado primeiro. Com isso deve funcionar.
Também verifique se você está usando alguma filterscript que usa um processador de comando diferente ao que você usa na Gamemode, isso da conflito.
não estou usando nenhum filterscript está sendo executado. comando funciona normalmente certo, porém olhe este print. em vez de mostrar a mensagem "Este jogador não está conectado." ele mostra o que o setadmin 2 3 n existe. pois não ele não está conectado mesmo, mas era para exibi a mensagem "Este jogador não está conectado."