Advertisement
Mongi

Server Control Panel

Aug 15th, 2017
342
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 1.99 KB | None | 0 0
  1. #include <a_samp>
  2. #include <Dini>
  3.  
  4. #define COLOR_RED 0xFF0000FF
  5.  
  6. #if !defined isnull
  7.     #define isnull(%1) ((!(%1[0])) || (((%1[0]) == '\1') && (!(%1[1]))))
  8. #endif
  9.  
  10. public OnFilterScriptInit()
  11. {
  12.     print("----------------------------------------------------");
  13.     print(" Server Control Panel executable - By Mongi ");
  14.     print("----------------------------------------------------");
  15.     SetTimer("FileChecker", 1000, true);
  16.     print("Timer Started!");
  17.     return 1;
  18. }
  19.  
  20. public OnFilterScriptExit()
  21. {
  22.     return 1;
  23. }
  24.  
  25. forward FileChecker();
  26. public FileChecker()
  27. {
  28.     if(dini_Exists("/CPFolder/ControlPanel.cfg"))
  29.     {
  30.         new user_name[MAX_PLAYER_NAME];
  31.         if(dini_Isset("/CPFolder/ControlPanel.cfg", "KickPlayer"))
  32.         {
  33.             format(user_name, sizeof(user_name), "%s", dini_Get("/CPFolder/ControlPanel.cfg", "KickPlayer"));
  34.         }
  35.         else{
  36.             format(user_name, sizeof(user_name), "%s", dini_Get("/CPFolder/ControlPanel.cfg", "BanPlayer"));
  37.         }
  38.         for(new id=0 ; id < MAX_PLAYERS ; id++)
  39.         {
  40.             if(isnull(user_name)) break;
  41.             if(IsPlayerConnected(id))
  42.             {
  43.                 new pName[MAX_PLAYER_NAME];
  44.                 GetPlayerName(id, pName, sizeof(pName));
  45.                 if(strcmp(user_name, pName) == 0) // Match
  46.                 {
  47.                     print("Found");
  48.                     if(dini_Isset("/CPFolder/ControlPanel.cfg", "KickPlayer"))
  49.                     {
  50.                         SendClientMessage(id, COLOR_RED, "You've been kicked by an offline admin from the server.");
  51.                         SetTimerEx("PlayerBanKick", 1000, false, "ii", id, 0); // Kick
  52.                     }
  53.                     else{
  54.                         SendClientMessage(id, COLOR_RED, "You've been banned by an offline admin from the server.");
  55.                         SetTimerEx("PlayerBanKick", 1000, false, "ii", id, 1); // Ban
  56.                     }
  57.                     dini_Remove("/CPFolder/ControlPanel.cfg");
  58.                     break;
  59.                 }
  60.             }
  61.         }
  62.     }
  63.     return 1;
  64. }
  65.  
  66. forward PlayerBanKick(usrid, ans);
  67. public PlayerBanKick(usrid, ans)
  68. {
  69.     if(ans) // Ban = 1
  70.     {
  71.         Ban(usrid);
  72.     }
  73.     else{ // Kick = 0
  74.         Kick(usrid);
  75.     }
  76.     return 1;
  77. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement