04.11.2012, 01:54
I have this code for setting admin and for some reason it doesnt set the proper person admin? I dont know what I did wrong
This is also my admins command which tells us all the different levels.
pawn Код:
CMD:adminlevel(playerid, params[])
{
new giveplayerid, level, str[128], str2[128];
if(GetAdminLevel(playerid)>= 6 || IsPlayerAdmin(playerid))
{
new file[128]; format(file, 128, USER_FILE, GetPName(giveplayerid));
if(sscanf(params, "ud", giveplayerid, level)) return SendClientMessage(playerid, COLOR_WHITE, "{F23A0D}USAGE: {AAAAAA} /adminlevel (playerid) (level 1-5)");
if(!IsPlayerConnected(giveplayerid)) return 1;
if(0 > strval(params[2]) > 6) return SendClientMessage(playerid, COLOR_RED, "{F23A0D}ERROR: {AAAAAA}Admin level not recognised! (1 - 6)");
dini_IntSet(file, "AdminLevel", level);
format(str, 128, "{ADF20D}You have set the admin level of %s to %d!", GetPName(giveplayerid), level);
format(str2, 128, "{ADF20D}%s has set your admin level to %d!", GetPName(playerid), level);
SendClientMessage(playerid,COLOR_LIGHTBLUE, str);
SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, str2);
}
else
{
SendClientMessage(playerid, -1, NO_PERM);
}
return 1;
}
This is also my admins command which tells us all the different levels.
pawn Код:
CMD:admins(playerid, params[])
{
SendClientMessage(playerid, -1, "{ADF20D}-_{AAAAAA} Online Administrators {ADF20D}_-");
new string[128];
new count=0;
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(GetAdminLevel(playerid)>= 1 || IsPlayerAdmin(playerid))
{
format(string, 256, "{ADF20D}- {AAAAAA}%s {ADF20D}-{AAAAAA} %d {ADF20D}-", GetPName(i),GetAdminLevel(i));
SendClientMessage(playerid, -1, string);
count++;
}
}
}
return 1;
}