Advertisement
946ben

946ben's Antis

Jul 15th, 2011
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 9.05 KB | None | 0 0
  1. #include <a_samp>
  2. #include <zcmd>
  3.  
  4. #define RED 0xEB0000FF
  5. #define BLUE 0x0055FFFF
  6.  
  7. // Welche Sachen sollen verboten werden: einfach auskommentieren oder anders herum
  8. #define ANTI_JETPACK    // Jetpack
  9. #define ANTI_MINIGUN    // Minigun
  10. //#define ANTI_DRIVEBY1     // DriveBy-Kills/Totparken (Nur als Fahrer)
  11. #define ANTI_DRIVEBY2   // DriveBy-Kills/Totparken (Auch als Beifahrer)
  12. #define ANTI_FLAME      // Flammenwerfer
  13. #define ANTI_ROCKET     // Raketenwerfer
  14. #define ANTI_HS         // HS-Raketenwerfer
  15. #define ANTI_STACHEL    // Paketbomben
  16. #define ANTI_CHAIN      // Motorsäge
  17. #define ANTI_MOLOTOV    // Molotov Cocktails
  18. #define ANTI_INT        // Interior-Kills
  19. #define ANTI_MONEY      // Geld-Hacks (bitte Hinweise in der Vorstellung beachten)
  20. // -------------------------------------------------------------------------------
  21. // Welche Sachen sollen verhindert werden (Durch Waffen abnehmen etc.)
  22. //#define NO_DRIVEBY1     // DriveBy (Fahrer) -> Waffen abnehmen
  23. #define NO_DRIVEBY2     // DriveBy (Allgemein) -> Waffen abnehmen
  24. // -------------------------------------------------------------------------------
  25. // Was soll womit bestraft werden (In Kick bzw. Ban umändern)
  26. #define P_DRIVEBY Kick  // DriveBy-Strafe
  27. #define P_WEAPON Ban    // Waffen-Hack-Strafe
  28. #define P_JETPACK Ban   // JetPack-Hack-Strafe
  29. #define P_INTKILL Kick  // Strafe für Interior-Kill
  30. #define P_MONEY Ban     // Strafe für Money-Hacks
  31. // -------------------------------------------------------------------------------
  32.  
  33. new checktimerid;
  34. new msgtimerid;
  35. new weapons[MAX_PLAYERS][13];
  36. new ammos[MAX_PLAYERS][13];
  37. new bool:waspassenger[MAX_PLAYERS];
  38.  
  39. forward checktimer();
  40. forward msgtimer();
  41.  
  42. public OnFilterScriptInit()
  43. {
  44.     print("\n--------------------------------------");
  45.     print("           946ben's Antis             ");
  46.     print("--------------------------------------\n");
  47.     checktimerid = SetTimer("checktimer", 1500, 1);
  48.     msgtimerid = SetTimer("msgtimer", 1800000, 1); // = alle 30 Minuten
  49.     EnableStuntBonusForAll(0);
  50.     return 1;
  51. }
  52.  
  53. public OnFilterScriptExit()
  54. {
  55.     KillTimer(checktimerid);
  56.     KillTimer(msgtimerid);
  57.     return 1;
  58. }
  59.  
  60. public OnPlayerDisconnect(playerid, reason)
  61. {
  62.     for(new i=0; i<13; i++)
  63.     {
  64.         weapons[playerid][i] = 0;
  65.         ammos[playerid][i] = 0;
  66.     }
  67.     #if defined ANIT_MONEY
  68.         SetPVarInt(playerid, "A_MONEY", 0);
  69.     #endif
  70.     return 1;
  71. }
  72.  
  73. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  74. {
  75.     #if defined NO_DRIVEBY1
  76.         if(!ispassenger)
  77.         {
  78.             waspassenger[playerid] = false;
  79.             for (new i=0; i<13; i++)
  80.             {
  81.                 GetPlayerWeaponData(playerid, i, weapons[playerid][i], ammos[playerid][i]);
  82.                 printf("Waffe %d     AMMO: %d", weapons[playerid][i], ammos[playerid][i]);
  83.             }
  84.             ResetPlayerWeapons(playerid);
  85.         }
  86.     #endif
  87.    
  88.     #if defined NO_DRIVEBY2
  89.         for (new i=0; i<13; i++)
  90.         {
  91.             GetPlayerWeaponData(playerid, i, weapons[playerid][i], ammos[playerid][i]);
  92.             printf("Waffe %d     AMMO: %d", weapons[playerid][i], ammos[playerid][i]);
  93.         }
  94.         ResetPlayerWeapons(playerid);
  95.     #endif
  96.    
  97.     return 1;
  98. }
  99.  
  100. public OnPlayerExitVehicle(playerid, vehicleid)
  101. {
  102.     #if defined NO_DRIVEBY1
  103.         if(waspassenger[playerid] == false)
  104.         {
  105.             for(new i=0; i<13; i++)
  106.             {
  107.                 GivePlayerWeapon(playerid, weapons[playerid][i], ammos[playerid][i]);
  108.                 printf("Waffe %d     AMMO: %d", weapons[playerid][i], ammos[playerid][i]);
  109.             }
  110.         }
  111.     #endif
  112.    
  113.     #if defined NO_DRIVEBY2
  114.         for(new i=0; i<13; i++)
  115.         {
  116.             GivePlayerWeapon(playerid, weapons[playerid][i], ammos[playerid][i]);
  117.             printf("Waffe %d     AMMO: %d", weapons[playerid][i], ammos[playerid][i]);
  118.         }
  119.     #endif
  120.    
  121.     return 1;
  122. }
  123.  
  124. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  125. {
  126.     SetPVarInt(playerid, "A_MONEY", GetPlayerMoney(playerid));
  127.     return 1;
  128. }
  129.  
  130. public OnVehicleMod(playerid,vehicleid,componentid)
  131. {
  132.     SetPVarInt(playerid, "A_MONEY", GetPlayerMoney(playerid));
  133.     return 1;
  134. }
  135.  
  136.  
  137. public OnPlayerDeath(playerid, killerid, reason)
  138. {
  139.     new string[128];
  140.    
  141.     #if defined ANTI_DRIVEBY1
  142.         if(IsPlayerInAnyVehicle(killerid) || GetPlayerVehicleSeat(killerid) == 0)
  143.         {
  144.             format(string, sizeof(string), "[ANTI] %s wurde wegen DriveBy (Fahrer) bestraft.", GetName(killerid));
  145.             SendClientMessageToAll(RED, string);
  146.             P_DRIVEBY(killerid);
  147.         }
  148.     #endif
  149.    
  150.     #if defined ANTI_DRIVEBY2
  151.         if(IsPlayerInAnyVehicle(killerid))
  152.         {
  153.             format(string, sizeof(string), "[ANTI] %s wurde wegen DriveBy (Allgemein) bestraft.", GetName(killerid));
  154.             SendClientMessageToAll(RED, string);
  155.             P_DRIVEBY(killerid);
  156.         }
  157.     #endif
  158.    
  159.     #if defined ANTI_INT
  160.         if(GetPlayerInterior(killerid) != 1)
  161.         {
  162.             format(string, sizeof(string), "[ANTI] %s wurde wegen dem Töten in Interiors gekickt.", GetName(killerid));
  163.             SendClientMessageToAll(RED, string);
  164.             P_INTKILL(killerid);
  165.         }
  166.     #endif
  167.    
  168.     return 1;
  169. }
  170.  
  171. public checktimer()
  172. {
  173.     new weapon, ammo, string[128];
  174.  
  175.     #if defined ANTI_JETPACK
  176.         for(new i; i<MAX_PLAYERS; i++)
  177.         {
  178.             if(!IsPlayerConnected(i)) continue;
  179.             if(GetPlayerSpecialAction(i) == SPECIAL_ACTION_USEJETPACK)
  180.             {
  181.                 format(string, sizeof(string), "[ANTI] %s wurde wegen der Nutzung eines Jetpacks bestraft.", GetName(i));
  182.                 P_JETPACK(i);
  183.             }
  184.         }
  185.     #endif
  186.    
  187.     #if defined ANTI_MINIGUN
  188.         for(new i; i<MAX_PLAYERS; i++)
  189.         {
  190.             if(!IsPlayerConnected(i)) continue;
  191.             GetPlayerWeaponData(i, 7, weapon, ammo);
  192.             if(weapon == 38)
  193.             {
  194.                 format(string, sizeof(string), "[ANTI] %s wurde wegen einer unerlaubten Minigun bestraft.", GetName(i));
  195.                 SendClientMessageToAll(RED, string);
  196.                 P_WEAPON(i);
  197.             }
  198.         }
  199.     #endif
  200.    
  201.     #if defined ANTI_FLAME
  202.         for(new i; i<MAX_PLAYERS; i++)
  203.         {
  204.             if(!IsPlayerConnected(i)) continue;
  205.             GetPlayerWeaponData(i, 7, weapon, ammo);
  206.             if(weapon == 37)
  207.             {
  208.                 format(string, sizeof(string), "[ANTI] %s wurde wegen einem unerlaubten Flammenwerfer bestraft.", GetName(i));
  209.                 SendClientMessageToAll(RED, string);
  210.                 P_WEAPON(i);
  211.             }
  212.         }
  213.     #endif
  214.    
  215.     #if defined ANTI_ROCKET
  216.         for(new i; i<MAX_PLAYERS; i++)
  217.         {
  218.             if(!IsPlayerConnected(i)) continue;
  219.             GetPlayerWeaponData(i, 7, weapon, ammo);
  220.             if(weapon == 35)
  221.             {
  222.                 format(string, sizeof(string), "[ANTI] %s wurde wegen einem unerlaubten Raketenwerfer bestraft.", GetName(i));
  223.                 SendClientMessageToAll(RED, string);
  224.                 P_WEAPON(i);
  225.             }
  226.         }
  227.     #endif
  228.    
  229.     #if defined ANTI_HS
  230.         for(new i; i<MAX_PLAYERS; i++)
  231.         {
  232.             if(!IsPlayerConnected(i)) continue;
  233.             GetPlayerWeaponData(i, 7, weapon, ammo);
  234.             if(weapon == 36)
  235.             {
  236.                 format(string, sizeof(string), "[ANTI] %s wurde wegen einem unerlaubten HS-Raketenwerfer bestraft.", GetName(i));
  237.                 SendClientMessageToAll(RED, string);
  238.                 P_WEAPON(i);
  239.             }
  240.         }
  241.     #endif
  242.    
  243.     #if defined ANTI_STACHEL
  244.         for(new i; i<MAX_PLAYERS; i++)
  245.         {
  246.             if(!IsPlayerConnected(i)) continue;
  247.             GetPlayerWeaponData(i, 8, weapon, ammo);
  248.             if(weapon == 39)
  249.             {
  250.                 format(string, sizeof(string), "[ANTI] %s wurde wegen unerlaubten Paketbomben bestraft.", GetName(i));
  251.                 SendClientMessageToAll(RED, string);
  252.                 P_WEAPON(i);
  253.             }
  254.         }
  255.     #endif
  256.    
  257.     #if defined ANTI_CHAIN
  258.         for(new i; i<MAX_PLAYERS; i++)
  259.         {
  260.             if(!IsPlayerConnected(i)) continue;
  261.             GetPlayerWeaponData(i, 1, weapon, ammo);
  262.             if(weapon == 9)
  263.             {
  264.                 format(string, sizeof(string), "[ANTI] %s wurde wegen unerlaubten Motorsäge bestraft.", GetName(i));
  265.                 SendClientMessageToAll(RED, string);
  266.                 P_WEAPON(i);
  267.             }
  268.         }
  269.     #endif
  270.    
  271.     #if defined ANTI_MOLOTOV
  272.         for(new i; i<MAX_PLAYERS; i++)
  273.         {
  274.             if(!IsPlayerConnected(i)) continue;
  275.             GetPlayerWeaponData(i, 8, weapon, ammo);
  276.             if(weapon == 18)
  277.             {
  278.                 format(string, sizeof(string), "[ANTI] %s wurde wegen unerlaubten Molotov Cocktail(s) bestraft.", GetName(i));
  279.                 SendClientMessageToAll(RED, string);
  280.                 P_WEAPON(i);
  281.             }
  282.         }
  283.     #endif
  284.    
  285.     #if defined ANTI_MONEY
  286.         for(new i; i<MAX_PLAYERS; i++)
  287.         {
  288.             if(!IsPlayerConnected(i)) continue;
  289.             if(GetPlayerMoney(i) > GetPVarInt(i, "A_MONEY"))
  290.             {
  291.                 format(string, sizeof(string), "[ANTI] %s wurde wegen Geld-Hacks bestraft.", GetName(i));
  292.                 SendClientMessageToAll(RED, string);
  293.                 P_MONEY(i);
  294.             }
  295.         }
  296.     #endif
  297. }
  298.  
  299. public msgtimer()
  300. {
  301.     SendClientMessageToAll(BLUE, "[ANTI] Achtung: Das Cheaten auf diesem Server ist verboten");
  302.     SendClientMessageToAll(BLUE, "[ANTI] Der Server wird stetig von einem Anti-Cheat-System überwacht");
  303.     return 1;
  304. }
  305.  
  306. stock GetName(playerid)
  307. {
  308.     new name[MAX_PLAYER_NAME];
  309.     GetPlayerName(playerid, name, MAX_PLAYER_NAME);
  310.     return name;
  311. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement