Player não recebe admin - jnXX - 07/06/2022
Estou com um problema que quando dou o comando /daradmin pra dar admin para o player, ele não recebe o admin. Se conseguirem ajudar eu agradeço.
Código: CMD:daradmin(playerid, params[])
{
if (gPlayerLogged[playerid] == 0)
{
SendClientMessage(playerid, COR_GREY, "Você não está logado!");
return 1;
}
if (PlayerInfo[playerid][pAdmin] < 1)
{
SendClientMessage(playerid, COR_GRAD1, "Você não tem autorização para usar esse comando.");
return true;
}
else
{
if (PlayerInfo[playerid][pAdmin] >= 1342)
{
new para1;
new level;
if(sscanf(params, "ud", para1, level))
{
SendClientMessage(playerid, COR_GRAD2, "{0099ff}×{ffffff} USE: /daradmin [ id ] [Level 0 á 1342]");
return true;
}
VagaAdmins();
if(VagasLivresAdm == 0)
{
SendClientMessage(playerid, COR_GRAD1, "Não há mais vagas na lista use /limparadmin primeiro.");
return 1;
}
if (level == 0)
{
SendClientMessage(playerid, COR_GRAD2, "{0099ff}×{ffffff} USE: /limparadmin para limpar uma vaga");
return 1;
}
GetPlayerName(para1, giveplayerZCMD, sizeof(giveplayerZCMD));
GetPlayerName(playerid, sendername, sizeof(sendername));
if (IsPlayerConnected(para1))
{
if (para1 != INVALID_PLAYER_ID)
{
if (PlayerInfo[para1][pAdmin] >= 1342)
{
SendClientMessage(playerid, COR_GRAD1, "Você não pode promover um admin Dono/Scripter!");
format(stringZCMD, sizeof(stringZCMD), "O admin %s tentou te promover a nivel %d", sendername, level);
SendClientMessage(para1, COR_SONS, stringZCMD);
return 1;
}
if (PlayerInfo[playerid][pAdmin] == 1341)
{
if (level < 0 || level > 1339)
{
SendClientMessage(playerid, COR_GRAD1, "Você só pode promover até cargo 4 por enquanto");
return 1;
}
}
format(stringZCMD, sizeof(stringZCMD), " Você foi promovido para level %d de Admin - pelo dono %s.", level, sendername);
SendClientMessage(para1, COR_LIGHTBLUE, stringZCMD);
format(stringZCMD, sizeof(stringZCMD), " Você promoveu o(a) %s para o level %d de Admin.", giveplayerZCMD, level);
SendClientMessage(playerid, COR_LIGHTBLUE, stringZCMD);
getdate(year, month, day);
gettime(hour, minute, second);
format(stringZCMD, sizeof(stringZCMD), "%s deu admin nivel %d para %s [%d/%d/%d] ás [%d:%d:%d].", sendername, level, giveplayerZCMD, day, month, year, hour, minute, second);
PAdminsLog(stringZCMD);
PlayerInfo[para1][pAvaliacoes] += 1;
PlayerInfo[para1][pAFinal] += 10;
for (new i = 0; i < sizeof(AdmInfo); i++)
{
if (PlayerInfo[para1][pAdmin] > 0)
{
PlayerInfo[para1][pAdmin] = level;
break;
}
else if (AdmInfo[i][AdminVaga] == 0)
{
PlayerInfo[para1][pAdmin] = level;
AdmInfo[i][AdminNick] = giveplayerZCMD;
AdmInfo[i][AdminVaga] = 1;
SalvarAdmins();
break;
}
}
}
}
}
}
return 1;
}
RE: Player não recebe admin - CoelhaO_LokaO - 07/06/2022
chama discord e mas fácil arrumar testando tem vários if tem que ver qual ele ta bugando ou poste print do que acontece;
Acredito que seja relacionado ao if dentro do loop
if (PlayerInfo[para1][pAdmin] > 0) // so se o padmin foi maior que 0 ali tem que estar >= 0
RE: Player não recebe admin - jnXX - 07/06/2022
(07/06/2022 14:03)CoelhaO_LokaO Escreveu: chama discord e mas fácil arrumar testando tem vários if tem que ver qual ele ta bugando ou poste print do que acontece;
Acredito que seja relacionado ao if dentro do loop
if (PlayerInfo[para1][pAdmin] > 0) // so se o padmin foi maior que 0 ali tem que estar >= 0 mandei pedido lá
RE: Player não recebe admin - k2bi_YT - 07/06/2022
Faz o teste para ver se está tudo OK
OBS: recomendo que coloque primeiro as funções, definições e depois as mensagens que for aparecer para o jogador, isso pode ajudar no debug, no caso se não aparecer alguma mensagem, quer dizer que alguma função deu problema.
Código PHP: CMD:daradmin(playerid, params[]) { if (gPlayerLogged[playerid] == 0) return SendClientMessage(playerid, COR_GREY, "Você não está logado!"); if (PlayerInfo[playerid][pAdmin] < 1342) return SendClientMessage(playerid, COR_GRAD1, "Você não tem autorização para usar esse comando."); new para1; new level; if(sscanf(params, "ud", para1, level)) return SendClientMessage(playerid, COR_GRAD2, "{0099ff}×{ffffff} USE: /daradmin [ id ] [Level 0 á 1342]"); if(!IsPlayerConnected(para1) || para1 == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_GRAD1, "Jogador não conectado."); VagaAdmins(); if(VagasLivresAdm == 0) return SendClientMessage(playerid, COR_GRAD1, "Não há mais vagas na lista use /limparadmin primeiro."); if(level == 0) return SendClientMessage(playerid, COR_GRAD2, "{0099ff}×{ffffff} USE: /limparadmin para limpar uma vaga"); if(PlayerInfo[playerid][pAdmin] == 1341 && (level < 0 || level > 1339)) return SendClientMessage(playerid, COR_GRAD1, "Você só pode promover até cargo 4 por enquanto"); GetPlayerName(para1, giveplayerZCMD, sizeof(giveplayerZCMD)); GetPlayerName(playerid, sendername, sizeof(sendername)); if(PlayerInfo[para1][pAdmin] >= 1342) { SendClientMessage(playerid, COR_GRAD1, "Você não pode promover um admin Dono/Scripter!"); format(stringZCMD, sizeof(stringZCMD), "O admin %s tentou te promover a nivel %d", sendername, level); SendClientMessage(para1, COR_SONS, stringZCMD); return 1; } PlayerInfo[para1][pAvaliacoes] += 1; PlayerInfo[para1][pAFinal] += 10; if(PlayerInfo[para1][pAdmin] > 0) { PlayerInfo[para1][pAdmin] = level; } else { for(new i = 0; i != sizeof(AdmInfo); ++i) { if(AdmInfo[i][AdminVaga] == 0) { PlayerInfo[para1][pAdmin] = level; AdmInfo[i][AdminNick] = giveplayerZCMD; AdmInfo[i][AdminVaga] = 1; SalvarAdmins(); break; } } } format(stringZCMD, sizeof(stringZCMD), " Você foi promovido para level %d de Admin - pelo dono %s.", level, sendername); SendClientMessage(para1, COR_LIGHTBLUE, stringZCMD); format(stringZCMD, sizeof(stringZCMD), " Você promoveu o(a) %s para o level %d de Admin.", giveplayerZCMD, level); SendClientMessage(playerid, COR_LIGHTBLUE, stringZCMD); getdate(year, month, day); gettime(hour, minute, second); format(stringZCMD, sizeof(stringZCMD), "%s deu admin nivel %d para %s [%d/%d/%d] ás [%d:%d:%d].", sendername, level, giveplayerZCMD, day, month, year, hour, minute, second); PAdminsLog(stringZCMD); return 1; }
Recomendo publicar essa função para ver se o uso está sendo correto VagaAdmins();
Código PHP: VagaAdmins(); if(VagasLivresAdm == 0) return SendClientMessage(playerid, COR_GRAD1, "Não há mais vagas na lista use /limparadmin primeiro.");
|