Here's my example of a setlevel, i don't actually have a system
pawn Код:
CMD:setlevel(playerid, params[]) {
new id;
new level;
new string[128];
if(PlayerInfo[playerid][pAdmin] < 5) return SendClientMessage(playerid, COLOR_RED, "[ADMIN] - You're not a high enough level to use this command!");
if(sscanf(params, "ud", id, level)) return SendClientMessage(playerid, COLOR_RED, "[USAGE] - /setlevel [ID] [Level 0 - 7]");
if(!IsPlayerConnected(id)) return SendClientMessage(playerid, COLOR_RED, "[ERROR] - Player not found!");
if(level > 7) return SendClientMessage(playerid, COLOR_RED, "[ERROR] - Choose a valid level! [ 0 - 7 ]!");
if(level == PlayerInfo[id][pAdmin]) return SendClientMessage(playerid, COLOR_RED, "[ERROR] - Player is already that level!");
new pname[MAX_PLAYER_NAME],recievername[MAX_PLAYER_NAME];
GetPlayerName(playerid,pname,sizeof(pname));
GetPlayerName(id,recievername,sizeof(recievername));
if(level > PlayerInfo[id][pAdmin])
{
GameTextForPlayer(id, "~g~PROMOTED", 2500, 1);
PlayerInfo[id][pAdmin] = level;
format(string, sizeof(string), "* Admin %s[%d] has used SETLEVEL on %s[%d] | Level: %d |!", pname, playerid, recievername, id, level);
SendMessageToAdmins(string);
format(string, sizeof(string), "* Admin %s[%d] has PROMOTED %s[%d] to Level %d!", pname, playerid, recievername, id, level);
SendClientMessageToAll(COLOR_GREEN, string);
}
else
{
GameTextForPlayer(id, "~r~DEMOTED", 2500, 1);
PlayerInfo[id][pAdmin] = level;
format(string, sizeof(string), "* Admin %s[%d] has used SETLEVEL on %s[%d] | Level: %d |!", pname, playerid, recievername, id, level);
SendMessageToAdmins(string);
format(string, sizeof(string), "* Admin %s[%d] has DEMOTED %s[%d] to Level %d!", pname, playerid, recievername, id, level);
SendClientMessageToAll(COLOR_ORANGE, string);
}
return 1;
}
Basically the highest level is 7 (Owner)
pawn Код:
stock SendMessageToAdmins(text[])
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(PlayerInfo[i][pAdmin] >= 1)
{
SendClientMessage(i, 0xCA3FBFAA, text);
}
}
}