Advertisement
Mongi

Server Control Panel V2

Sep 28th, 2017
429
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 2.48 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.    
  17.     new File: file = fopen("/CPFolder/ChatLog.txt", io_append);
  18.     fwrite(file, "Server Starts...");
  19.     fclose(file);
  20.    
  21.     print("Timer Started!");
  22.     return 1;
  23. }
  24.  
  25. public OnFilterScriptExit()
  26. {
  27.     return 1;
  28. }
  29.  
  30. public OnPlayerText(playerid, text[])
  31. {
  32.     new File: file = fopen("/CPFolder/ChatLog.txt", io_append);
  33.     new pName[MAX_PLAYER_NAME], string[256];
  34.     GetPlayerName(playerid, pName, sizeof(pName));
  35.     format(string, sizeof(string), "\n%s[%d]: %s", pName, playerid, text);
  36.     fwrite(file, string);
  37.     fclose(file);
  38.     return 1;
  39. }
  40.  
  41. forward FileChecker();
  42. public FileChecker()
  43. {
  44.     if(dini_Exists("/CPFolder/ControlPanel.cfg"))
  45.     {
  46.         new user_name[MAX_PLAYER_NAME];
  47.         if(dini_Isset("/CPFolder/ControlPanel.cfg", "KickPlayer"))
  48.         {
  49.             format(user_name, sizeof(user_name), "%s", dini_Get("/CPFolder/ControlPanel.cfg", "KickPlayer"));
  50.         }
  51.         else if(dini_Isset("/CPFolder/ControlPanel.cfg", "BanPlayer")){
  52.             format(user_name, sizeof(user_name), "%s", dini_Get("/CPFolder/ControlPanel.cfg", "BanPlayer"));
  53.         }
  54.         for(new id=0 ; id < MAX_PLAYERS ; id++)
  55.         {
  56.             if(isnull(user_name)) break;
  57.             if(IsPlayerConnected(id))
  58.             {
  59.                 new pName[MAX_PLAYER_NAME];
  60.                 GetPlayerName(id, pName, sizeof(pName));
  61.                 if(strcmp(user_name, pName) == 0) // Match
  62.                 {
  63.                     print("Found");
  64.                     if(dini_Isset("/CPFolder/ControlPanel.cfg", "KickPlayer"))
  65.                     {
  66.                         SendClientMessage(id, COLOR_RED, "You've been kicked by an offline admin from the server.");
  67.                         SetTimerEx("PlayerBanKick", 1000, false, "ii", id, 0); // Kick
  68.                     }
  69.                     else{
  70.                         SendClientMessage(id, COLOR_RED, "You've been banned by an offline admin from the server.");
  71.                         SetTimerEx("PlayerBanKick", 1000, false, "ii", id, 1); // Ban
  72.                     }
  73.                     dini_Remove("/CPFolder/ControlPanel.cfg");
  74.                     break;
  75.                 }
  76.             }
  77.         }
  78.     }
  79.     return 1;
  80. }
  81.  
  82. forward PlayerBanKick(usrid, ans);
  83. public PlayerBanKick(usrid, ans)
  84. {
  85.     if(ans) // Ban = 1
  86.     {
  87.         Ban(usrid);
  88.     }
  89.     else{ // Kick = 0
  90.         Kick(usrid);
  91.     }
  92.     return 1;
  93. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement