if(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; }