admin.inc 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. #include <YSI_Coding\y_hooks>
  2. static AdminLevel[MAX_PLAYERS];
  3. new Iterator:Admin<MAX_PLAYERS>;
  4. hook OnPlayerConnect(playerid)
  5. {
  6. AdminLevel[playerid] = 0;
  7. }
  8. hook OnPlayerDisconnect(playerid, reason)
  9. {
  10. Iter_Remove(Admin, playerid);
  11. }
  12. stock Admin_GetRankName(playerid)
  13. {
  14. new rank[24];
  15. switch(AdminLevel[playerid])
  16. {
  17. case 0: strcat(rank, "None");
  18. case 1: strcat(rank, "Helper");
  19. case 2: strcat(rank, "Game Admin");
  20. case 3: strcat(rank, "Lead Admin");
  21. case 4: strcat(rank, "Manager");
  22. case 5: strcat(rank, "Developer");
  23. }
  24. return rank;
  25. }
  26. stock Admin_GetLevel(playerid)
  27. {
  28. return AdminLevel[playerid];
  29. }
  30. stock Admin_SetLevel(playerid, level, bool:save)
  31. {
  32. AdminLevel[playerid] = level;
  33. if(level > 0)
  34. {
  35. Iter_Add(Admin, playerid);
  36. }
  37. else Iter_Remove(Admin, playerid);
  38. if(save)
  39. {
  40. new query[84];
  41. mysql_format(MySQL_GetHandle(), query, sizeof(query), "UPDATE accounts SET admin = %d WHERE id = %d", level, Account_GetSQLID(playerid));
  42. mysql_tquery(MySQL_GetHandle(), query);
  43. }
  44. }