Advertisement
Guest User

[FS] Simple ANTI-Cheat

a guest
Feb 19th, 2011
267
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  2. *                                                                              *
  3. *                        [FS] Simple Anti-Cheat System                         *
  4. *                                                                              *
  5. *                          © 2011 Script by 4#Future                           *
  6. *                                                                              *
  7. *                                                        | Scripter: Fake      *
  8. *                                                        | Version:  1.0       *
  9. *                                                        | Release:  19.02.11  *
  10. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
  11.  
  12. // ------------
  13. // - Includes -
  14. // ------------
  15.  
  16. #include <a_samp>
  17.  
  18.  
  19. // -----------
  20. // - Defines -
  21. // -----------
  22.  
  23. #define MAX_PLAYER_MONEY 25000      // Menge des Geldes eines Spielers LEVEL 1 zum BANN
  24.  
  25. new plname[60];
  26. new plipadr[16];
  27.  
  28. new Text:BlackBox;
  29.  
  30. forward CheckForHacks(playerid);
  31. forward BroadCast(const string[]);
  32. forward CheatLog(const string[]);
  33.  
  34.  
  35. // --------------
  36. // - Funktionen -
  37. // --------------
  38.  
  39. public OnFilterScriptInit()
  40. {
  41.     print(" ");
  42.     print("[FILTERSCRIPT] Simple Anti-Cheat System, by 4#Future");
  43.     print(" ");
  44.    
  45.     // -- Textdraws --
  46.  
  47.     BlackBox = TextDrawCreate(1.000000, 1.000000, "-");
  48.     TextDrawBackgroundColor(BlackBox, 255);
  49.     TextDrawFont(BlackBox, 1);
  50.     TextDrawLetterSize(BlackBox, 0.500000, 56.699977);
  51.     TextDrawColor(BlackBox, 0);
  52.     TextDrawSetOutline(BlackBox, 0);
  53.     TextDrawSetProportional(BlackBox, 1);
  54.     TextDrawSetShadow(BlackBox, 0);
  55.     TextDrawUseBox(BlackBox, 1);
  56.     TextDrawBoxColor(BlackBox, 255);
  57.     TextDrawTextSize(BlackBox, 744.000000, 25.000000);
  58.  
  59.     return 1;
  60. }
  61.  
  62. public OnFilterScriptExit()
  63. {
  64.     TextDrawHideForAll(BlackBox);
  65.     TextDrawDestroy(BlackBox);
  66.    
  67.     return 1;
  68. }
  69.  
  70. // -----------------------------------------------------------------------------
  71.  
  72. public OnPlayerSpawn(playerid)
  73. {
  74.     SetTimer("CheckForHacks", 10000, 0);
  75.  
  76.     return 1;
  77. }
  78.  
  79. public CheckForHacks(playerid)
  80. {
  81.     new string[255];
  82.     new dstring[1024];
  83.    
  84.     if(GetPlayerScore(playerid) <= 1)
  85.     {
  86.         if(GetPlayerMoney(playerid) >= MAX_PLAYER_MONEY)
  87.         {
  88.             TextDrawShowForPlayer(playerid, BlackBox);
  89.            
  90.             GetPlayerName(playerid, plname, sizeof(plname));
  91.             GetPlayerIp(playerid, plipadr, sizeof(plipadr));
  92.  
  93.             format(dstring, sizeof(dstring), "\n%s, Du wurdest automatisch vom Server gebannt.\n\nBegründung:   Verdacht auf einen Geld Hack...\n      Du hast mit Level %i bereits %d Dollar.\n\nDeine IP, %s, wurde in den Logs vermerkt.\n\nDu kannst das Spiel nun beenden...\n ", plname, GetPlayerScore(playerid), GetPlayerMoney(playerid), plipadr);
  94.             ShowPlayerDialog(playerid, 001, DIALOG_STYLE_MSGBOX, "[ACHTUNG] Du wurdest soeben gebannt!", dstring, "OK", "");
  95.  
  96.             format(string, sizeof(string), "%s (%s) wurde wegen Verdacht auf Hacking gebannt. | Money Hack (Level %i - %i Dollar)", plname, plipadr, GetPlayerScore(playerid), GetPlayerMoney(playerid));
  97.             BroadCast(string);
  98.             CheatLog(string);
  99.  
  100.             TogglePlayerControllable(playerid, 0);
  101.             Ban(playerid);
  102.         }
  103.     }
  104. }
  105.  
  106. public OnPlayerDeath(playerid, killerid, reason)
  107. {
  108.     new string[255];
  109.     new dstring[1024];
  110.     new killer[60];
  111.  
  112.     GetPlayerName(killerid, killer, sizeof(killer));
  113.     GetPlayerName(playerid, plname, sizeof(plname));
  114.     GetPlayerIp(killerid, plipadr, sizeof(plipadr));
  115.  
  116.     if(GetPlayerWeapon(killerid) == 28)
  117.     {
  118.         if(IsPlayerConnected(killerid))
  119.         {
  120.             TextDrawShowForPlayer(killerid, BlackBox);
  121.        
  122.             format(dstring, sizeof(dstring), "\n%s, Du wurdest automatisch vom Server gebannt.\n\nBegründung:   Verdacht auf einen Waffen Hack...\n        Du hast %s mit der Micro SMG getötet.\n\nDeine IP, %s, wurde in den Logs vermerkt.\n\nDu kannst das Spiel nun beenden...\n ", killer, playerid, plipadr);
  123.             ShowPlayerDialog(killerid, 002, DIALOG_STYLE_MSGBOX, "[ACHTUNG] Du wurdest soeben gebannt!", dstring, "OK", "");
  124.  
  125.             format(string, sizeof(string), "%s (%s) wurde wegen Verdacht auf Hacking gebannt. | Waffen Hack (Mikro SMG's)", killer, plipadr);
  126.             BroadCast(string);
  127.             CheatLog(string);
  128.  
  129.             TogglePlayerControllable(killerid, 0);
  130.             Ban(killerid);
  131.         }
  132.     }
  133.     if(GetPlayerWeapon(killerid) == 32)
  134.     {
  135.         if(IsPlayerConnected(killerid))
  136.         {
  137.             TextDrawShowForPlayer(killerid, BlackBox);
  138.            
  139.             format(dstring, sizeof(dstring), "\n%s, Du wurdest automatisch vom Server gebannt.\n\nBegründung:   Verdacht auf einen Waffen Hack...\n        Du hast %s mit der Tec 9 getötet.\n\nDeine IP, %s, wurde in den Logs vermerkt.\n\nDu kannst das Spiel nun beenden...\n ", killer, playerid, plipadr);
  140.             ShowPlayerDialog(killerid, 003, DIALOG_STYLE_MSGBOX, "[ACHTUNG] Du wurdest soeben gebannt!", dstring, "OK", "");
  141.  
  142.             format(string, sizeof(string), "%s (%s) wurde wegen Verdacht auf Hacking gebannt. | Waffen Hack (Tec 9's)", killer, plipadr);
  143.             BroadCast(string);
  144.             CheatLog(string);
  145.  
  146.             TogglePlayerControllable(killerid, 0);
  147.             Ban(killerid);
  148.         }
  149.     }
  150.     if(GetPlayerWeapon(killerid) == 35)
  151.     {
  152.         if(IsPlayerConnected(killerid))
  153.         {
  154.             TextDrawShowForPlayer(killerid, BlackBox);
  155.            
  156.             format(dstring, sizeof(dstring), "\n%s, Du wurdest automatisch vom Server gebannt.\n\nBegründung:   Verdacht auf einen Waffen Hack...\n        Du hast %s mit der Panzerfaust getötet.\n\nDeine IP, %s, wurde in den Logs vermerkt.\n\nDu kannst das Spiel nun beenden...\n ", killer, playerid, plipadr);
  157.             ShowPlayerDialog(killerid, 004, DIALOG_STYLE_MSGBOX, "[ACHTUNG] Du wurdest soeben gebannt!", dstring, "OK", "");
  158.  
  159.             format(string, sizeof(string), "%s (%s) wurde wegen Verdacht auf Hacking gebannt. | Waffen Hack (Panzerfaust)", killer, plipadr);
  160.             BroadCast(string);
  161.             CheatLog(string);
  162.  
  163.             TogglePlayerControllable(killerid, 0);
  164.             Ban(killerid);
  165.         }
  166.     }
  167.     if(GetPlayerWeapon(killerid) == 36)
  168.     {
  169.         if(IsPlayerConnected(killerid))
  170.         {
  171.             TextDrawShowForPlayer(killerid, BlackBox);
  172.            
  173.             format(dstring, sizeof(dstring), "\n%s, Du wurdest automatisch vom Server gebannt.\n\nBegründung:   Verdacht auf einen Waffen Hack...\n        Du hast %s mit der Panzerfaust getötet.\n\nDeine IP, %s, wurde in den Logs vermerkt.\n\nDu kannst das Spiel nun beenden...\n ", killer, playerid, plipadr);
  174.             ShowPlayerDialog(killerid, 005, DIALOG_STYLE_MSGBOX, "[ACHTUNG] Du wurdest soeben gebannt!", dstring, "OK", "");
  175.  
  176.             format(string, sizeof(string), "%s (%s) wurde wegen Verdacht auf Hacking gebannt. | Waffen Hack (Panzerfaust)", killer, plipadr);
  177.             BroadCast(string);
  178.             CheatLog(string);
  179.  
  180.             TogglePlayerControllable(killerid, 0);
  181.             Ban(killerid);
  182.         }
  183.     }
  184.     if(GetPlayerWeapon(killerid) == 37)
  185.     {
  186.         if(IsPlayerConnected(killerid))
  187.         {
  188.             TextDrawShowForPlayer(killerid, BlackBox);
  189.            
  190.             format(dstring, sizeof(dstring), "\n%s, Du wurdest automatisch vom Server gebannt.\n\nBegründung:   Verdacht auf einen Waffen Hack...\n        Du hast %s mit dem Flammenwerfer getötet.\n\nDeine IP, %s, wurde in den Logs vermerkt.\n\nDu kannst das Spiel nun beenden...\n ", killer, playerid, plipadr);
  191.             ShowPlayerDialog(killerid, 006, DIALOG_STYLE_MSGBOX, "[ACHTUNG] Du wurdest soeben gebannt!", dstring, "OK", "");
  192.  
  193.             format(string, sizeof(string), "%s (%s) wurde wegen Verdacht auf Hacking gebannt. | Waffen Hack (Flammenwerfer)", killer, plipadr);
  194.             BroadCast(string);
  195.             CheatLog(string);
  196.  
  197.             TogglePlayerControllable(killerid, 0);
  198.             Ban(killerid);
  199.         }
  200.     }
  201.     if(GetPlayerWeapon(killerid) == 38)
  202.     {
  203.         if(IsPlayerConnected(killerid))
  204.         {
  205.             TextDrawShowForPlayer(killerid, BlackBox);
  206.            
  207.             format(dstring, sizeof(dstring), "\n%s, Du wurdest automatisch vom Server gebannt.\n\nBegründung:   Verdacht auf einen Waffen Hack...\n        Du hast %s mit der Minigun getötet.\n\nDeine IP, %s, wurde in den Logs vermerkt.\n\nDu kannst das Spiel nun beenden...\n ", killer, playerid, plipadr);
  208.             ShowPlayerDialog(killerid, 006, DIALOG_STYLE_MSGBOX, "[ACHTUNG] Du wurdest soeben gebannt!", dstring, "OK", "");
  209.  
  210.             format(string, sizeof(string), "%s (%s) wurde wegen Verdacht auf Hacking gebannt. | Waffen Hack (Minigun)", killer, plipadr);
  211.             BroadCast(string);
  212.             CheatLog(string);
  213.  
  214.             TogglePlayerControllable(killerid, 0);
  215.             Ban(killerid);
  216.         }
  217.     }
  218.    
  219.     return 1;
  220. }
  221.  
  222. // -----------------------------------------------------------------------------
  223.  
  224. public BroadCast(const string[])
  225. {
  226.     SendClientMessageToAll(0xEC5559FF, string);
  227.     return 1;
  228. }
  229.  
  230. // --------
  231. // - Logs -
  232. // --------
  233.  
  234. public CheatLog(const string[])
  235. {
  236.     new hour, minute, second, year, month, day;
  237.     new entry[512];
  238.     gettime(hour, minute, second);
  239.     getdate(year, month, day);
  240.     format(entry, sizeof(entry), "[%02d.%02d.%d - %02d:%02d:%02d] %s\n", day, month, year, hour, minute, second, string);
  241.     new File:logFile;
  242.     logFile = fopen("cheat_log.log", io_append);
  243.     fwrite(logFile, entry);
  244.     fclose(logFile);
  245. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement