06/02/2024 19:35
(Esta mensagem foi modificada pela última vez a: 06/02/2024 20:35 por L10motos.)
(06/02/2024 15:56)pushline Escreveu: Tente isso:
Coloquei alguns prints de debug pra voce saber aonde que "para" o comando
Código PHP:CMD:infoadmins(playerid, const params[])
{
print("debug 1");
if(!IsPlayerLogged(playerid) || !IsPlayerConnected(playerid))
return false;
print("debug 2");
if(PlayerInfo[playerid][pAdmin] == 0)
return SendClientMessage(playerid, COLOR_GREY, "Você não está autorizado a usar este comando.");
print("debug 3");
new megastring[3000];
for(new i = 1; i <= MAX_ADMIN; i++)
{
format(sstring, sizeof(sstring), "%s%02d - %s Cargo: %d\n", megastring i, InfoAdmin[i], LevelAdmin[i]);
}
ShowPlayerDialog(playerid, 1361, DIALOG_STYLE_LIST, "Administração", megastring, "Confirmar", "Fechar");
print("debug 4");
return true;
}
Cara, o que pode ser, tah crashando quando digito o comando, vou te mostrar todo o sistema
Código PHP:
#define MAX_ADMIN 20
new InfoAdmin[MAX_ADMIN][MAX_PLAYER_NAME];
new LevelAdmin[MAX_ADMIN];
forward LoadAdmins();
public LoadAdmins()
{
new file[64];
for(new i = 1; i < MAX_ADMIN; i++)
{
format(file, sizeof(file), "general/admins/admin-%02d.ini", i);
if(DOF2_FileExists(file))
{
format(InfoAdmin[i], MAX_PLAYER_NAME, "%s", DOF2_GetString(file, "Name"));
LevelAdmin[i] = DOF2_GetInt(file, "Level");
}
else
{
format(InfoAdmin[i], MAX_PLAYER_NAME, "Vazio");
LevelAdmin[i] = 0;
}
}
return 1;
}
forward SaveAdmins();
public SaveAdmins()
{
new file[64];
for(new i = 1; i < MAX_ADMIN; i++)
{
format(file, sizeof(file), "general/admins/admin-%02d.ini", i);
if(!DOF2_FileExists(file)) DOF2_CreateFile(file);
DOF2_SetString(file, "Name", InfoAdmin[i]);
DOF2_SetInt(file, "Level", LevelAdmin[i]);
DOF2_SaveFile();
}
return 1;
}
forward UpdateAdmin(playerid);
public UpdateAdmin(playerid)
{
for(new i = 1; i < MAX_ADMIN; i++)
{
if(!strcmp(InfoAdmin[i], Name(playerid), false))
{
LevelAdmin[i] = PlayerInfo[playerid][pAdmin];
printf("%s set to admin %s.", Name(playerid), PlayerInfo[playerid][pAdmin]);
return 1;
}
}
if(PlayerInfo[playerid][pAdmin] >= 1)
{
PlayerInfo[playerid][pAdmin] = 0;
printf("%s was taken from the administrator.", Name(playerid));
}
return 1;
}
Estranho com mensagens funciona:
Código PHP:
if(IsPlayerConnected(playerid))
{
new megastring[3000];
for(new i = 1; i < MAX_ADMIN; i++)
{
format(sstring, sizeof(sstring), "%02d - %s Cargo: %d", i, InfoAdmin[i], LevelAdmin[i]);
SendClientMessage(playerid, -1, sstring);
//format(sstring, sizeof(sstring), "%02d - %s Cargo: %d", i, InfoAdmin[i], LevelAdmin[i]);
//strcat(megastring, sstring);
}
//ShowPlayerDialog(playerid, 1361, DIALOG_STYLE_LIST, "Administração", megastring, "Fechar", "");
}