Advertisement
Deaderik

Untitled

Feb 5th, 2024
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 5.82 KB | Gaming | 0 0
  1. #include <a_samp>
  2.  
  3. #define MAX_ADMINS 50
  4.  
  5. new g_AdminLevels[MAX_PLAYERS];
  6. new g_AdminPasswords[MAX_PLAYERS][32];
  7.  
  8. #define ADMIN_LEVEL_1 5
  9. #define ADMIN_LEVEL_2 4
  10. #define ADMIN_LEVEL_3 3
  11. #define ADMIN_LEVEL_4 2
  12. #define ADMIN_LEVEL_5 1
  13.  
  14. stock SetPlayerAdminLevel(playerid, level)
  15. {
  16.     if(playerid >= 0 && playerid < MAX_PLAYERS)
  17.         g_AdminLevels[playerid] = level;
  18. }
  19.  
  20. stock GetPlayerAdminLevel(playerid)
  21. {
  22.     if(playerid >= 0 && playerid < MAX_PLAYERS)
  23.         return g_AdminLevels[playerid];
  24.     return 0;
  25. }
  26.  
  27. stock SetPlayerAdminPassword(playerid, password[])
  28. {
  29.     if(playerid >= 0 && playerid < MAX_PLAYERS)
  30.         strcpy(g_AdminPasswords[playerid], password);
  31. }
  32.  
  33. stock GetPlayerAdminPassword(playerid, password[], maxlen)
  34. {
  35.     if(playerid >= 0 && playerid < MAX_PLAYERS)
  36.     {
  37.         new len = strlen(g_AdminPasswords[playerid]);
  38.         if(len < maxlen)
  39.         {
  40.             strcpy(password, g_AdminPasswords[playerid]);
  41.             return true;
  42.         }
  43.     }
  44.     return false;
  45. }
  46.  
  47. stock CheckAdminLevel(playerid, requiredLevel)
  48. {
  49.     return GetPlayerAdminLevel(playerid) >= requiredLevel;
  50. }
  51.  
  52. CMD:setadminlevel(playerid, params[])
  53. {
  54.     new level;
  55.     if(IsPlayerAdmin(playerid) && sscanf(params, "i", level))
  56.     {
  57.         SetPlayerAdminLevel(playerid, level);
  58.         SendClientMessage(playerid, -1, "Tvoja úroveň administrátora bola nastavená na %d", level);
  59.     }
  60.     else
  61.     {
  62.         SendClientMessage(playerid, -1, "Nemáš oprávnenie na použitie tohto príkazu.");
  63.     }
  64.     return 1;
  65. }
  66.  
  67. CMD:saveadminlevel(playerid, params[])
  68. {
  69.     new password[32], level;
  70.     if(sscanf(params, "su", password, level) && !strcmp(password, "tajneHeslo")) // Zadajte vlastné tajné heslo
  71.     {
  72.         SetPlayerAdminLevel(playerid, level);
  73.         SendClientMessage(playerid, -1, "Tvoja úroveň administrátora bola uložená na %d", level);
  74.     }
  75.     else
  76.     {
  77.         SendClientMessage(playerid, -1, "Nesprávne heslo alebo použitie: /saveadminlevel [heslo] [úroveň]");
  78.     }
  79.     return 1;
  80. }
  81.  
  82. CMD:removeadminlevel(playerid, params[])
  83. {
  84.     new password[32];
  85.     if(sscanf(params, "s", password) && !strcmp(password, "tajneHeslo")) // Zadajte vlastné tajné heslo
  86.     {
  87.         SetPlayerAdminLevel(playerid, 0);
  88.         SendClientMessage(playerid, -1, "Tvoja úroveň administrátora bola zrušená.");
  89.     }
  90.     else
  91.     {
  92.         SendClientMessage(playerid, -1, "Nesprávne heslo alebo použitie: /removeadminlevel [heslo]");
  93.     }
  94.     return 1;
  95. }
  96.  
  97. CMD:login(playerid, params[])
  98. {
  99.     new password[32];
  100.     if(sscanf(params, "s", password))
  101.     {
  102.         new savedPassword[32];
  103.         if(GetPlayerAdminPassword(playerid, savedPassword, sizeof(savedPassword)) && !strcmp(savedPassword, password))
  104.         {
  105.             SendClientMessage(playerid, -1, "Bol si úspešne prihlásený ako administrátor.");
  106.         }
  107.         else
  108.         {
  109.             SendClientMessage(playerid, -1, "Nesprávne heslo. Použi: /login [heslo]");
  110.         }
  111.     }
  112.     else
  113.     {
  114.         SendClientMessage(playerid, -1, "Správne použitie: /login [heslo]");
  115.     }
  116.     return 1;
  117. }
  118.  
  119. CMD:registeradmin(playerid, params[])
  120. {
  121.     new password[32];
  122.     if(sscanf(params, "s", password))
  123.     {
  124.         if(!GetPlayerAdminPassword(playerid, _, 0))
  125.         {
  126.             SetPlayerAdminPassword(playerid, password);
  127.             SendClientMessage(playerid, -1, "Bol si úspešne zaregistrovaný ako administrátor.");
  128.         }
  129.         else
  130.         {
  131.             SendClientMessage(playerid, -1, "Už si registrovaný ako administrátor.");
  132.         }
  133.     }
  134.     else
  135.     {
  136.         SendClientMessage(playerid, -1, "Správne použitie: /registeradmin [heslo]");
  137.     }
  138.     return 1;
  139. }
  140.  
  141. CMD:varovat(playerid, params[])
  142. {
  143.     new targetid, reason[128];
  144.     if(CheckAdminLevel(playerid, ADMIN_LEVEL_1) && sscanf(params, "us[128]", targetid, reason))
  145.     {
  146.         SendClientMessage(playerid, -1, "Varoval si hráča.");
  147.  
  148.         new logtext[256];
  149.         format(logtext, sizeof(logtext), "Admin %s varoval hráča %d s dôvodom: %s", GetPlayerName(playerid), targetid, reason);
  150.         AppendToLogFile("server_log.txt", logtext);
  151.     }
  152.     else
  153.     {
  154.         SendClientMessage(playerid, -1, "Nemáte dostatočné oprávnenia na použitie tohto príkazu.");
  155.     }
  156.     return 1;
  157. }
  158.  
  159. CMD:kicknut(playerid, params[])
  160. {
  161.     new targetid, reason[128];
  162.     if(CheckAdminLevel(playerid, ADMIN_LEVEL_&& sscanf(params, "us[128]", targetid, reason)) { Kick(targetid); SendClientMessage(playerid, -1, "Hráč bol kicknutý s dôvodom: %s");
  163. new logtext[256];
  164.  format(logtext, sizeof(logtext), "Admin %s kickol hráča %d s dôvodom: %s", GetPlayerName(playerid), targetid, reason);
  165.  AppendToLogFile("server_log.txt", logtext);} else { SendClientMessage(playerid, -1, "Nemáte dostatočné oprávnenia na použitie tohto príkazu."); } return 1; }
  166.  
  167. CMD:ban(playerid, params[]) {
  168. new targetid, reason[128], duration; if(CheckAdminLevel(playerid, ADMIN_LEVEL_5) && sscanf(params, "us[128]i", targetid, reason, duration)) { new targetname[MAX_PLAYER_NAME]; GetPlayerName(targetid, targetname, sizeof(targetname));if(duration > 0)
  169.     {
  170.         Ban(targetid);
  171.         g_bannedPlayers[targetid] = duration;
  172.  
  173.         SendClientMessage(playerid, -1, "Hráč %s bol zabanovaný na %d minút s dôvodom: %s", targetname, duration, reason);
  174.  
  175.         new logtext[256];
  176.         format(logtext, sizeof(logtext), "Admin %s zabanoval hráča %d na %d minút s dôvodom: %s", GetPlayerName(playerid), targetid, duration, reason);
  177.         AppendToLogFile("server_log.txt", logtext);
  178.     }
  179.     else
  180.     {
  181.         SendClientMessage(playerid, -1, "Dĺžka banu musí byť väčšia ako 0.");
  182.     }
  183. }
  184. else
  185. {
  186.     SendClientMessage(playerid, -1, "Nemáte dostatočné oprávnenia na použitie tohto príkazu.");
  187. }
  188. return 1;}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement