não esta salvando o admin na conta do player - jnXX - 13/06/2022
Derrepente começou a não salvar os administradores do servidor, oq eu posso fazer pra solucionar? eu entendo bem pouco de pawno.
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: não esta salvando o admin na conta do player - k2bi_YT - 13/06/2022
Mande esse VagaAdmins() para ver se a utilização dela esta sendo correta
RE: não esta salvando o admin na conta do player - jnXX - 13/06/2022
(13/06/2022 14:29)jnXX Escreveu: Derrepente começou a não salvar os administradores do servidor, oq eu posso fazer pra solucionar? eu entendo bem pouco de pawno.
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;
}
Código: FLRP::VagaAdmins()
{
for(new idx=0; idx<sizeof(AdmInfo); idx++)
{
if(strcmp(AdmInfo[idx][AdminNick],"Vazio", true ) == 0 )
{
VagasLivresAdm = 1;
return 1;
}
}
VagasLivresAdm = 0;
return 0;
}
FLRP:: SalvarAdmins()
{
new idx;
new File: file2;
while (idx < sizeof(AdmInfo))
{
new coordsstring[256];
format(coordsstring, sizeof(coordsstring), "%s,%d\n", AdmInfo[idx][AdminNick], AdmInfo[idx][AdminVaga]);
if (idx == 0)
{
file2 = fopen("Configs/Admins.cfg", io_write);
}
else
{
file2 = fopen("Configs/Admins.cfg", io_append);
}
fwrite(file2, coordsstring);
idx++;
fclose(file2);
}
return true;
}
FLRP::CarregarAdmins()
{
new arrCoords[2][64];
new strFromFile2[254];
new File: file = fopen("Configs/Admins.cfg", io_read);
if (file)
{
new idx = 0;
while (idx < sizeof(AdmInfo))
{
fread(file, strFromFile2);
split(strFromFile2, arrCoords, ',');
strmid(AdmInfo[idx][AdminNick], arrCoords[0], 0, strlen(arrCoords[0]), 255);
AdmInfo[idx][AdminVaga] = strval(arrCoords[1]);
idx++;
}
}
fclose(file);
return true;
}
Coloquei esses outros 2 pra ver se ajuda também.
RE: não esta salvando o admin na conta do player - xbruno1000x - 13/06/2022
Pode ser o sistema de vagas, quando você seta um, acaba removendo outro admin que estava na vaga anteriormente. Faça o teste sozinho no servidor, sete sua conta como admin e relogue. Se ainda estiver salvo, provavelmente é o sistema de vagas.
RE: não esta salvando o admin na conta do player - jnXX - 14/06/2022
Alguem poderia ajudar? ainda não consegui resolver isso, ta foda kk
RE: não esta salvando o admin na conta do player - Maycon_Felipe - 14/06/2022
Seguinte, você vai ter que colocar esses printf na hora de salvar, e setar os admins..
printf("[%d] checando admin: %d", 0, coloca a variavel admin aqui);
printf("[%d] checando admin: %d", 1, coloca a variavel admin aqui);
E vai olhando o CMD do server e analisando, em qual número a variável de admin perdeu o valor..
|