#include static AdminLevel[MAX_PLAYERS]; new Iterator:Admin; hook OnPlayerConnect(playerid) { AdminLevel[playerid] = 0; } hook OnPlayerDisconnect(playerid, reason) { Iter_Remove(Admin, playerid); } stock Admin_GetRankName(playerid) { new rank[24]; switch(AdminLevel[playerid]) { case 0: strcat(rank, "None"); case 1: strcat(rank, "Helper"); case 2: strcat(rank, "Game Admin"); case 3: strcat(rank, "Lead Admin"); case 4: strcat(rank, "Manager"); case 5: strcat(rank, "Developer"); } return rank; } stock Admin_GetLevel(playerid) { return AdminLevel[playerid]; } stock Admin_SetLevel(playerid, level, bool:save) { AdminLevel[playerid] = level; if(level > 0) { Iter_Add(Admin, playerid); } else Iter_Remove(Admin, playerid); if(save) { new query[84]; mysql_format(MySQL_GetHandle(), query, sizeof(query), "UPDATE accounts SET admin = %d WHERE id = %d", level, Account_GetSQLID(playerid)); mysql_tquery(MySQL_GetHandle(), query); } }