Admin level doesnt save
#1

Hello guys,

I tried to save admin level. But I clearly dont seem to succeed it. Admin level gets set. And I use the test admin cmd just perfect.

I created a /kill command for admins who are above level 4(except 4). And set myself as a 5 level admin. I used it and I died. Then, I demoted myself to 4, tried it and it said "You aren't authorized enough to use this command !"... So the admin level part is not bugged. But when I leave the server and connect again, my admin level gets set back to 0. here is my setlevel command :

pawn Код:
CMD:setlevel(playerid, params[])
{
new INI:file = INI_Open(Path(playerid));
if(IsPlayerAdmin(playerid) || pInfo[playerid][AdminLevel] >= SETLEVEL_ADMIN)
{
new level, target;
if(sscanf(params, "ui", target, level)) return SendClientMessage(playerid, red, "[*] Usage: /setadmin [playerid/name] [level]");
if(target == INVALID_PLAYER_ID) return SendClientMessage(playerid, red, "[*] Enter a valid player ID/name!");
new string[128], str2[50];
if(level < 0 || level > MAX_ADMIN_LEVEL) // here we check if the level the player entered is more then the max admin level defined or 0
{
format(string, sizeof(string), "Enter a level between 0 and %d!", MAX_ADMIN_LEVEL);
SendClientMessage(playerid, red,string); // if it is then we send the message and stop the command from processing
return 1;
}
pInfo[target][AdminLevel] = level;
INI_WriteInt(file,"AdminLevel",pInfo[playerid][AdminLevel]);
format(string, 256, "You have set %s[%d]'s admin level to %d.", pInfo[target][Nick], target, level);
SendClientMessage(playerid, green, string);
format(string, 256, "Admin %s has set your admin level to %d.", pInfo[playerid][Nick], level);
SendClientMessage(target, yellow, string);
for (new i=0; i<MAX_PLAYERS; i++)
{
if(pInfo[i][Logged] == 1 && pInfo[i][AdminLevel])
{
format(str2, sizeof(str2), "Admin %s[%d] has used the following command: Setlevel", pInfo[playerid][Nick], playerid);
SendClientMessage(i,COLOR_SPRINGGREEN,string);
}
}
PlayerPlaySound(target,1057,0.0,0.0,0.0);
}
else return ErrorMessage(playerid);
return 1;
}
edit: Fixed. lol. Sorry this is the second time
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)