Jujuv

[SA:MP | FS | DROPED] jAnti-Cheat

Mar 21st, 2012
180
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 2.76 KB | None | 0 0
  1. #include <a_samp>
  2. #include <dini>
  3.  
  4. #define RED 0xAA3333AA
  5. #define YELLOW 0xFFFF00AA
  6.  
  7. forward CheckWeapons(playerid);
  8. forward CheckVehicle(playerid, vehId);
  9. forward CheckJetPack(playerid);
  10.  
  11. public OnFilterScriptInit()
  12. {
  13.     print("\n--------------------------------------");
  14.     print("Anti-Cheat System by Jujuv (loaded)");
  15.     print("--------------------------------------\n");
  16.     return 1;
  17. }
  18.  
  19.  
  20. public CheckWeapons(playerid)
  21. {
  22.     new returned;
  23.     if(playerid != INVALID_PLAYER_ID && (!GetPVarInt(playerid, "admin")))
  24.     {
  25.         new file[250] = "\\Anticheat\\Blacklists\\weapons.ini";
  26.         new i, string[250];
  27.         for(i = 0; i < dini_Int(file, "Quantity"); i++)
  28.         {
  29.             format(string, sizeof(string), "Weapon_%i", i);
  30.             if(GetPlayerWeapon(playerid) == dini_Int(file, string))
  31.             {
  32.                 SendClientMessageToAll(YELLOW, "%s a été banni par le serveur (Cheat Arme)");
  33.                 CallRemoteFunction("ban", "i", "s", playerid, "Cheat-Arme (Anti-Cheat System)");
  34.                 returned = 1;
  35.             }
  36.             else{returned = 0;}
  37.  
  38.         }
  39.     }
  40.     else{returned = 0;}
  41.     return returned;
  42. }
  43.  
  44.  
  45. public CheckVehicle(playerid, vehId)
  46. {
  47.     if(vehId == -2)//Pour utilisez la func' dans une callback tel OnPlayerUpdate(), renseignez "-2" comme second parametre (c-à-d vehId)
  48.     {
  49.         vehId = GetPlayerVehicleID(playerid);
  50.     }
  51.    
  52.     new returned;
  53.     if(vehId && (!GetPVarInt(playerid, "admin")))
  54.     {
  55.         new file[250] = "\\Anticheat\\Blacklists\\vehicles.ini";
  56.         new i, string[250];
  57.         for(i = 0; i < dini_Int(file, "Quantity"); i++)
  58.         {
  59.             format(string, sizeof(string), "Vehicles_%i", i);
  60.             if(GetVehicleModel(vehId) == dini_Int(file, string))
  61.             {
  62.                 CallRemoteFunction("ban", "i", "s", playerid, "Cheat-Vehicule (Anti-Cheat System)");
  63.                 SendClientMessageToAll(YELLOW, "%s a été banni par le serveur (Cheat Vehicule)");
  64.                 returned = 1;
  65.             }
  66.             else{ returned = 0;}
  67.            
  68.         }
  69.        
  70.     }
  71.     else{returned = 0;}
  72.     return returned;
  73. }
  74.  
  75. public CheckJetPack(playerid)//Foncion complétement useless avec les utilitaires cheats actuels
  76. {
  77.     new returned;
  78.     if(GetPlayerSpecialAction(playerid) == 2)
  79.     {
  80.         CallRemoteFunction("ban", "i", "s", playerid, "Cheat-Jetpack (Anti-Cheat System)");
  81.         SendClientMessageToAll(YELLOW, "%s a été banni par le serveur (Cheat Jetpack)");
  82.         returned = 1;
  83.     }
  84.     else{ returned = 0;}
  85.     return returned;
  86. }
  87.  
  88. public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid)
  89. {
  90.     CheckWeapons(issuerid);
  91. }
  92.  
  93. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  94. {
  95.     CheckVehicle(playerid, vehicleid);
  96. }
  97.  
  98. public OnPlayerExitVehicle(playerid, vehicleid)
  99. {
  100.     CheckVehicle(playerid, vehicleid);
  101. }
  102. public OnPlayerStateChange(playerid, newstate, oldstate)
  103. {
  104.     CheckJetPack(playerid);
  105. }
Advertisement
Add Comment
Please, Sign In to add comment