rendered paste bodyif(strcmp(cmd, "/setadmin", true) == 0 || strcmp(cmd, "/setlevel", true) == 0)
{
tmp = strtok(cmdtext, idx);
giveplayerid = strval(tmp);
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[playerid][pAdmin] = dini_Int(udb_encode(sendername), "level");
PlayerInfo[giveplayerid][pAdmin] = dini_Int(udb_encode(giveplayer), "level");
if(IsStringAName(tmp))
{
giveplayerid = GetPlayerID(tmp);
}
else
{
giveplayerid = strval(tmp);
}
if(!strlen(tmp) && PlayerInfo[playerid][pAdmin] >= 1)
{
SendClientMessage(playerid, COLOR_DBLUE, "Correct Usage: /setadmin [playerid] [level]");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp) && PlayerInfo[playerid][pAdmin] >= 1)
{
SendClientMessage(playerid, COLOR_DBLUE, "Correct Usage: /setadmin [playerid] [level]");
return 1;
}
if(logged[playerid] == 0)
{
SendClientMessage(playerid, COLOR_RED, "You must be logged in to use this command!");
return 1;
}
if(logged[giveplayerid] == 0)
{
SendClientMessage(playerid, COLOR_RED, "The player You're setting rights to must be logged in!");
return 1;
}
PlayerInfo[playerid][pAdmin] = dini_Int(udb_encode(sendername), "level");
level[playerid] = strval(tmp);
if(level[playerid] < 0)
{
SendClientMessage(playerid, COLOR_RED, "Invalid Admin Level");
return 1;
}
if(level[playerid] > 3)
{
SendClientMessage(playerid, COLOR_RED, "Invalid Admin Level");
return 1;
}
if(level[playerid] == PlayerInfo[giveplayerid][pAdmin])
{
format(string, sizeof(string), "That player already has level %d admin privileges.", level[playerid]);
SendClientMessage(playerid, COLOR_BLUE, string);
return 1;
}
if(IsPlayerAdmin(playerid))
{
if(IsPlayerConnected(giveplayerid))
{
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
dini_IntSet(udb_encode(giveplayer), "level", level[playerid]);
format(string, sizeof(string), "You have given %s level %d admin powers.", giveplayer, level[playerid]);
SendClientMessage(playerid, COLOR_BLUE, string);
format(string, sizeof(string), "You were made a level %d admin by %s (id: %d).", level[playerid], sendername, playerid);
SendClientMessage(giveplayerid, COLOR_BLUE, string);
PlayerInfo[giveplayerid][pAdmin] = dini_Int(udb_encode(giveplayer), "level");
new PlayerName[30];
GetPlayerName(playerid, PlayerName, 30);
printf("[Command] %s has used /setadmin to set %s ' level to: %d", PlayerName, giveplayer, level[playerid]);
}
else
{
format(string, sizeof(string), "%d is not an active player ID number.", giveplayerid);
SendClientMessage(playerid, COLOR_RED, string);
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You do not have permission to use that command!");
}
return 1;
}
if(strcmp(cmd, "/setmeadmin", true) == 0)
{
if(logged[playerid] == 1)
{
if(IsPlayerAdmin(playerid))
{
GetPlayerName(playerid, sendername, sizeof(sendername));
level[playerid] = 3;
level[playerid] = dini_Int(udb_encode(sendername), "level");
PlayerInfo[playerid][pAdmin] = dini_Int(udb_encode(sendername), "level");
level[playerid] = PlayerInfo[playerid][pAdmin];
SendClientMessage(playerid, COLOR_RED, "You've set Your level to 3, Server Main Administration");
SendClientMessage(playerid, COLOR_RED, "Check out /adminhelp for administration commands.");
}
else
{
SendClientMessage(playerid, COLOR_RED, "You have to be RCON admin to set Yourself admin!");
}
return 1;
}
else
{
SendClientMessage(playerid, COLOR_RED, "You must be logged in!");
}
return 1;
}