Rei_Ayanami

ELC_AC 4.3.1

Jun 4th, 2023
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*------------------------------------------------------------------------------
  2.             ######## ##        ######             ###     ######
  3.             ##       ##       ##    ##           ## ##   ##    ##
  4.             ##       ##       ##                ##   ##  ##
  5.             ######   ##       ##               ##     ## ##
  6.             ##       ##       ##               ######### ##
  7.             ##       ##       ##    ##         ##     ## ##    ##
  8.             ######## ########  ######  ####### ##     ##  ######
  9.  
  10.  
  11.                             ########  ##    ##
  12.                             ##     ##  ##  ##
  13.                             ##     ##   ####
  14.                             ########     ##
  15.                             ##     ##    ##
  16.                             ##     ##    ##
  17.                             ########     ##
  18.  
  19.  
  20.         ######## ##        #######   ######  ######## ########   #######
  21.         ##       ##       ##     ## ##    ##    ##    ##     ## ##     ##
  22.         ##       ##       ##     ## ##          ##    ##     ## ##     ##
  23.         ######   ##       ##     ## ##          ##    ########  ##     ##
  24.         ##       ##       ##     ## ##          ##    ##   ##   ##     ##
  25.         ##       ##       ##     ## ##    ##    ##    ##    ##  ##     ##
  26.         ######## ########  #######   ######     ##    ##     ##  #######
  27.  
  28.                              Anti-Cheat(ELC_AC)
  29.  
  30.                                 PROTECTIONS :
  31.                               Anti-Weapon HACK
  32.                                Anti-Ammo HACK
  33.                             Anti-Ammo Block HACK
  34.                                Anti-Money HACK
  35.                                Anti-Speed HACK
  36.                         Anti-Teleport & Anti-Airbreak
  37.                               Anti-Health HACK
  38.                               Anti-Armour HACK
  39.                           Anti-VEHICLE TELEPORT HACK
  40.                                 Anti-Crasher
  41.  
  42.                                     BUG :
  43.                                   Nothing
  44.  
  45.                                   VERSION :
  46.                                    V4.3.1
  47.  
  48.                                  COMPATIBLE :
  49.                                  SA-MP 0.3x
  50.  
  51.                                   CREDITS :
  52.                               ELOCTRO (SCRIPT)
  53.                        SIM (GetTickCount for linux)
  54.                             Donya(Anti-Crasher)
  55.                        Mineralo(OnPlayerCheat Update)
  56.  
  57.                           ELC_AC THE BEST PROTECTION
  58.                                       !
  59.  
  60.                                     \**/
  61. /*/- Anti-Cheat By Eloctro -----------------------------------------------------
  62.  
  63.                             ELC PRODUCTION(FRANCE)
  64.  
  65.                          http://eloctro.blogspot.com/
  66. */
  67. #include <a_samp>
  68. /*----------------------------------------------------------------------------*/
  69. //Anti-Cheat Statut defaut :
  70. #define ANTI_WEAPON_&_AMMO_HACK     1
  71. #define ANTI_AMMO_BLOCK_HACK        1
  72. #define ANTI_MONEY_HACK             1
  73. #define ANTI_SPEED_HACK             1
  74. #define ANTI_TELEPORT/AIBREAK_HACK  1
  75. #define ANTI_HEALTH_HACK            0//Not fix
  76. #define ANTI_ARMOUR_HACK            0//Not fix
  77. #define ANTI_VEHICLE-TELEPORT_HACK  1//1->Normal Protection,2->Hight Proection
  78. //Configuration :
  79. #define MAX_SPEED_VEHICLE                   380.0 // SPEED VEHICLE MAX(380=default)
  80. #define MAX_VEHICLE_DISTANCE_PER_SECOND     180   // DISTANCE PARCOUR MAX VEHICLE PER SECOND(180=default)
  81. #define MAX_PED_DISTANCE_PER_SECOND         100   // DISTANCE PARCOUR MAX AT PED PER SECOND(100=default)
  82. #define SPRINT_SPEED                        30.0  // (30=DEFAULT/BETA)
  83. #define TIRE_RATE                           2000  // (2000=default)
  84. #define TIMER_CHEAT_RATE                    3500
  85. #define TIME_GRANULITY                      50    // Granulity GetTickCount
  86. #define DELAY_LOAD_AFTER_SPAWN              5000
  87. #define MAX_DELAY_SEND_STATS                2000
  88. #define MAX_DELAY_WAIT_AFTER_SPAWN          3000
  89. #define MAX_VEHICLE_DISTANCE_UCM            10.0
  90. //STATUS MODE :
  91. //#define NO_TICK_COUNT  //uncomment If GetTickCount() bug(linux?)
  92. #define INCLUDE_BASE_MODE //uncomment to pass in mod include
  93. #define MODE_DELAY_SEND_STATS //uncomment if the sending of stats is a bit slow(RECOMMANDED)
  94. #define DISABLE_MONEY_DEATHLOSE //uncomment if you disable the lose of 100$ after death
  95. //Calcul(DON'T TOUCH)----------------------------------------------------------
  96. #define XMAX_VEHICLE_DISTANCE_PER_SECOND MAX_VEHICLE_DISTANCE_PER_SECOND*(TIMER_CHEAT_RATE/1000)
  97. #define XMAX_PED_DISTANCE_PER_SECOND MAX_PED_DISTANCE_PER_SECOND*(TIMER_CHEAT_RATE/1000)
  98. #define SaveTime(%0,%1) %0=%1+MAX_DELAY_SEND_STATS
  99. #define IsPassTime(%0,%1,%2) (%1<%2&&CheatPlayerInfo[%0][elc_LastUpdate]!=0&&CheatPlayerInfo[%0][elc_LastUpdate]<%2)//Time Action ,Time Now
  100. #define IsPlayerCheatPos(%0) (((GetPlayerSurfingVehicleID(%0)!=INVALID_VEHICLE_ID || IsPlayerInAnyVehicle(%0)) && !IsPlayerInRangeOfPoint(%0,XMAX_VEHICLE_DISTANCE_PER_SECOND,CheatPlayerInfo[%0][elc_posx],CheatPlayerInfo[%0][elc_posy],CheatPlayerInfo[%0][elc_posz]))||!IsPlayerInRangeOfPoint(%0,XMAX_PED_DISTANCE_PER_SECOND,CheatPlayerInfo[%0][elc_posx],CheatPlayerInfo[%0][elc_posy],CheatPlayerInfo[%0][elc_posz]))
  101.  
  102. #define IsPlayerCheatAllowTelPos(%0) (((GetPlayerSurfingVehicleID(%0)!=INVALID_VEHICLE_ID || IsPlayerInAnyVehicle(%0)) && !IsPlayerInRangeOfPoint(%0,XMAX_VEHICLE_DISTANCE_PER_SECOND,CheatPlayerInfo[%0][elc_AllowTelX],CheatPlayerInfo[%0][elc_AllowTelY],CheatPlayerInfo[%0][elc_AllowTelZ]))|| \
  103. !IsPlayerInRangeOfPoint(%0,XMAX_PED_DISTANCE_PER_SECOND,CheatPlayerInfo[%0][elc_AllowTelX],CheatPlayerInfo[%0][elc_AllowTelY],CheatPlayerInfo[%0][elc_AllowTelZ]))
  104.  
  105. #define IsPlayerUpdatePos(%0) !IsPlayerInRangeOfPoint(%0,0.5,CheatPlayerInfo[%0][elc_posx],CheatPlayerInfo[%0][elc_posy],CheatPlayerInfo[%0][elc_posz])
  106.  
  107. #define ELC_AC_IsCreatedVehicle(%0) (GetVehicleModel(%0)!=0)
  108. /*----------------------------------------------------------------------------*/
  109. enum aELCp
  110. {
  111.     elc_money,
  112.     elc_ammo[13],
  113.     elc_weapon[13],
  114.     elc_tickfire,
  115.     elc_ammoFire,
  116.     elc_weaponFire,
  117.     Float:elc_health,
  118.     Float:elc_armour,
  119.     elc_timer,
  120.     Float:elc_posx,
  121.     Float:elc_posy,
  122.     Float:elc_posz,
  123.     elc_interior,
  124.     elc_virtualworld,
  125.     Float:elc_AllowTelX,
  126.     Float:elc_AllowTelY,
  127.     Float:elc_AllowTelZ,
  128.     elc_AntiTeleportHack,
  129.     elc_AntiWeaponHack,
  130.     elc_AntiAmmoBlockHack,
  131.     elc_AntiMoneyHack,
  132.     elc_AntiSpeedHack,
  133.     elc_AntiHealthHack,
  134.     elc_AntiArmourHack,
  135.     elc_AntiVehicleTelportHack,
  136. #if defined MODE_DELAY_SEND_STATS
  137.     elc_GiveWeaponTime,
  138.     elc_GiveMoneyTime,
  139.     elc_GiveHealthTime,
  140.     elc_GiveArmourTime,
  141. #endif
  142.     elc_SetPositionTime,
  143.     elc_PlayerEnterTime,
  144.     elc_PlayerEnterVeh,
  145.     elc_PossibleVehicleHack,
  146.     elc_LastUpdate,
  147.     elc_TimeSpawn
  148. };
  149.  
  150. new CheatPlayerInfo[MAX_PLAYERS][aELCp];
  151. enum aELCv
  152. {
  153.     Float:elc_vHealth,
  154.     Float:elc_vX,
  155.     Float:elc_vY,
  156.     Float:elc_vZ,
  157.     Float:elc_vAngle,
  158.     elc_vSetPositionTime,
  159.     elc_vPossiblePlayerHack,
  160.     elc_vPossibleHackTime,
  161.     elc_vStatut
  162. };
  163. new CheatVehicleInfo[MAX_VEHICLES][aELCv];
  164. #if defined NO_TICK_COUNT
  165. enum aELCs
  166. {
  167.     elc_TickCount,
  168.     elc_TimerTick
  169. };
  170. new CheatServerInfo[aELCs];
  171. #endif
  172. /*----------------------------------------------------------------------------*/
  173. stock Float:elc_GetPlayerSpeedXY(playerid)
  174. {
  175. new Float:elc_SpeedX, Float:elc_SpeedY, Float:elc_SpeedZ;
  176. new Float:elc_Speed;
  177. if(IsPlayerInAnyVehicle(playerid)) GetVehicleVelocity(GetPlayerVehicleID(playerid), elc_SpeedX, elc_SpeedY, elc_SpeedZ);
  178. else GetPlayerVelocity(playerid, elc_SpeedX, elc_SpeedY, elc_SpeedZ);
  179. elc_Speed = floatsqroot(floatadd(floatpower(elc_SpeedX, 2.0), floatpower(elc_SpeedY, 2.0)));
  180. return floatmul(elc_Speed, 200.0);
  181. }
  182. #if defined NO_TICK_COUNT
  183.     #define GetTickCount()                          (CheatServerInfo[TickCount])
  184.     forward TimeUpdate();
  185.     public TimeUpdate()
  186.     {
  187.         CheatServerInfo[elc_TickCount] +=TIME_GRANULITY;
  188.         return 1;
  189.     }
  190. #endif
  191. forward OnPlayerCheckCheat(playerid);
  192. forward OnPlayerCheat(playerid, cheatid, source[]);
  193. forward ELC_AC_EnablePlayerCheatID(playerid,cheatid,enable);
  194. forward OnPlayerCheckFaceWall(playerid,Float:wall_x,Float:wall_y,Float:wall_z,Float:nwall_x,Float:nwall_y,Float:wall_he);
  195. forward RemovePlayerWeapon(playerid, weaponid);
  196. /*----------------------------------------------------------------------------*/
  197. forward ELC_AC_GivePlayerMoney(playerid, money);
  198. public ELC_AC_GivePlayerMoney(playerid, money)
  199. {
  200.     if(CheatPlayerInfo[playerid][elc_AntiMoneyHack]==1)CheatPlayerInfo[playerid][elc_AntiMoneyHack]=2;
  201.     CheatPlayerInfo[playerid][elc_money] += money;
  202.     GivePlayerMoney(playerid, money);
  203.     #if defined MODE_DELAY_SEND_STATS
  204.     SaveTime(CheatPlayerInfo[playerid][elc_GiveMoneyTime],GetTickCount());
  205.     #endif
  206.     if(CheatPlayerInfo[playerid][elc_AntiMoneyHack]==2)CheatPlayerInfo[playerid][elc_AntiMoneyHack]=1;
  207.     return 1;
  208. }
  209. stock initial_GivePlayerMoney(playerid, money)
  210. {
  211.     return GivePlayerMoney(playerid, money);
  212. }
  213. #if defined INCLUDE_BASE_MODE
  214. //ALS_SYSTEME --------------------
  215. #if defined _ALS_GivePlayerMoney
  216.     #undef GivePlayerMoney
  217. #else
  218.     #define _ALS_GivePlayerMoney
  219. #endif
  220. #define GivePlayerMoney ELC_AC_GivePlayerMoney
  221. #endif
  222. //ALS_OFF_SYSTEME ----------------
  223. /*----------------------------------------------------------------------------*/
  224. forward ELC_AC_ResetPlayerMoney(playerid);
  225. public ELC_AC_ResetPlayerMoney(playerid)
  226. {
  227.     if(CheatPlayerInfo[playerid][elc_AntiMoneyHack]==1)CheatPlayerInfo[playerid][elc_AntiMoneyHack]=2;
  228.     ResetPlayerMoney(playerid);
  229.     CheatPlayerInfo[playerid][elc_money] = 0;
  230.     #if defined MODE_DELAY_SEND_STATS
  231.     SaveTime(CheatPlayerInfo[playerid][elc_GiveMoneyTime],GetTickCount());
  232.     #endif
  233.     if(CheatPlayerInfo[playerid][elc_AntiMoneyHack]==2)CheatPlayerInfo[playerid][elc_AntiMoneyHack]=1;
  234.     return 1;
  235. }
  236. stock initial_ResetPlayerMoney(playerid)
  237. {
  238.     return ResetPlayerMoney(playerid);
  239. }
  240. #if defined INCLUDE_BASE_MODE
  241. //ALS_SYSTEME --------------------
  242. #if defined _ALS_ResetPlayerMoney
  243.     #undef ResetPlayerMoney
  244. #else
  245.     #define _ALS_ResetPlayerMoney
  246. #endif
  247. #define ResetPlayerMoney ELC_AC_ResetPlayerMoney
  248. #endif
  249. //ALS_OFF_SYSTEME ----------------
  250. /*----------------------------------------------------------------------------*/
  251. forward ELC_AC_GetPlayerMoney(playerid);
  252. public ELC_AC_GetPlayerMoney(playerid)
  253. {
  254.     new elc_gpm=GetPlayerMoney(playerid);
  255.     if(GetPlayerMoney(playerid)<CheatPlayerInfo[playerid][elc_money]) return elc_gpm;
  256.     return CheatPlayerInfo[playerid][elc_money];
  257. }
  258. stock initial_GetPlayerMoney(playerid)
  259. {
  260.     return GetPlayerMoney(playerid);
  261. }
  262. #if defined INCLUDE_BASE_MODE
  263. //ALS_SYSTEME --------------------
  264. #if defined _ALS_GetPlayerMoney
  265.     #undef GetPlayerMoney
  266. #else
  267.     #define _ALS_GetPlayerMoney
  268. #endif
  269. #define GetPlayerMoney ELC_AC_GetPlayerMoney
  270. #endif
  271. //ALS_OFF_SYSTEME ----------------
  272. /*----------------------------------------------------------------------------*/
  273. forward ELC_AC_SetPlayerPos(playerid, Float:ix, Float:iy, Float:iz);
  274. public ELC_AC_SetPlayerPos(playerid, Float:ix, Float:iy, Float:iz)
  275. {
  276.     if(CheatPlayerInfo[playerid][elc_AntiTeleportHack]==1)CheatPlayerInfo[playerid][elc_AntiTeleportHack]=2;
  277.     CheatPlayerInfo[playerid][elc_PlayerEnterTime]=0;
  278.     CheatPlayerInfo[playerid][elc_AllowTelX]=ix; CheatPlayerInfo[playerid][elc_AllowTelY]=iy; CheatPlayerInfo[playerid][elc_AllowTelZ]=iz;
  279.     SetPlayerPos(playerid, ix, iy, iz);
  280.     if(CheatPlayerInfo[playerid][elc_AntiTeleportHack]==2)CheatPlayerInfo[playerid][elc_AntiTeleportHack]=1;
  281.     return 1;
  282. }
  283. stock initial_SetPlayerPos(playerid, Float:ix, Float:iy, Float:iz)
  284. {
  285.     return SetPlayerPos(playerid, ix, iy, iz);
  286. }
  287. #if defined INCLUDE_BASE_MODE
  288. //ALS_SYSTEME --------------------
  289. #if defined _ALS_SetPlayerPos
  290.     #undef SetPlayerPos
  291. #else
  292.     #define _ALS_SetPlayerPos
  293. #endif
  294. #define SetPlayerPos ELC_AC_SetPlayerPos
  295. //ALS_OFF_SYSTEME ----------------
  296. #endif
  297. /*----------------------------------------------------------------------------*/
  298. forward ELC_AC_PutPlayerInVehicle(playerid,vehicleid, seatid);
  299. public ELC_AC_PutPlayerInVehicle(playerid,vehicleid, seatid)
  300. {
  301.     if(CheatPlayerInfo[playerid][elc_AntiTeleportHack]==1)CheatPlayerInfo[playerid][elc_AntiTeleportHack]=2;
  302.     CheatPlayerInfo[playerid][elc_PlayerEnterTime]=0;
  303.     CheatPlayerInfo[playerid][elc_PlayerEnterVeh]=vehicleid;
  304.     GetVehiclePos(vehicleid,CheatPlayerInfo[playerid][elc_AllowTelX],CheatPlayerInfo[playerid][elc_AllowTelY],CheatPlayerInfo[playerid][elc_AllowTelZ]);
  305.     GetPlayerPos(playerid,CheatPlayerInfo[playerid][elc_posx],CheatPlayerInfo[playerid][elc_posy],CheatPlayerInfo[playerid][elc_posz]);
  306.     SaveTime(CheatPlayerInfo[playerid][elc_SetPositionTime],GetTickCount());
  307.     PutPlayerInVehicle(playerid,vehicleid, seatid);
  308.     if(CheatPlayerInfo[playerid][elc_AntiTeleportHack]==2)CheatPlayerInfo[playerid][elc_AntiTeleportHack]=1;
  309.     return 1;
  310. }
  311. stock initial_PutPlayerInVehicle(playerid,vehicleid, seatid)
  312. {
  313.     return PutPlayerInVehicle(playerid,vehicleid, seatid);
  314. }
  315. #if defined INCLUDE_BASE_MODE
  316. //ALS_SYSTEME --------------------
  317. #if defined _ALS_PutPlayerInVehicle
  318.     #undef PutPlayerInVehicle
  319. #else
  320.     #define _ALS_PutPlayerInVehicle
  321. #endif
  322. #define PutPlayerInVehicle ELC_AC_PutPlayerInVehicle
  323. //ALS_OFF_SYSTEME ----------------
  324. #endif
  325. /*----------------------------------------------------------------------------*/
  326. forward ELC_AC_RemovePlayerFromVehicle(playerid);
  327. public ELC_AC_RemovePlayerFromVehicle(playerid)
  328. {
  329.     CheatPlayerInfo[playerid][elc_PlayerEnterTime]=0;
  330.     RemovePlayerFromVehicle(playerid);
  331.     return 1;
  332. }
  333. stock initial_RemovePlayerFromVehicle(playerid)
  334. {
  335.     return RemovePlayerFromVehicle(playerid);
  336. }
  337. #if defined INCLUDE_BASE_MODE
  338. //ALS_SYSTEME --------------------
  339. #if defined _ALS_RemovePlayerFromVehicle
  340.     #undef RemovePlayerFromVehicle
  341. #else
  342.     #define _ALS_RemovePlayerFromVehicle
  343. #endif
  344. #define RemovePlayerFromVehicle ELC_AC_RemovePlayerFromVehicle
  345. //ALS_OFF_SYSTEME ----------------
  346. #endif
  347. /*----------------------------------------------------------------------------*/
  348. forward ELC_AC_TogglePlayerSpectating(playerid, toggle);
  349. public ELC_AC_TogglePlayerSpectating(playerid, toggle)
  350. {
  351.     if(toggle==1)
  352.     {
  353.         if(CheatPlayerInfo[playerid][elc_AntiSpeedHack]==1) CheatPlayerInfo[playerid][elc_AntiSpeedHack]=3;
  354.         if(CheatPlayerInfo[playerid][elc_AntiTeleportHack]==1) CheatPlayerInfo[playerid][elc_AntiTeleportHack]=3;
  355.     }
  356.     else
  357.     {
  358.         if(CheatPlayerInfo[playerid][elc_AntiSpeedHack]==3) CheatPlayerInfo[playerid][elc_AntiSpeedHack]=1;
  359.         if(CheatPlayerInfo[playerid][elc_AntiTeleportHack]==3)CheatPlayerInfo[playerid][elc_AntiTeleportHack]=1;
  360.         GetPlayerPos(playerid,CheatPlayerInfo[playerid][elc_posx],CheatPlayerInfo[playerid][elc_posy],CheatPlayerInfo[playerid][elc_posz]);
  361.         SaveTime(CheatPlayerInfo[playerid][elc_SetPositionTime],GetTickCount());
  362.     }
  363.     return TogglePlayerSpectating(playerid, toggle);
  364. }
  365. stock initial_TogglePlayerSpectating(playerid, toggle)
  366. {
  367.     return TogglePlayerSpectating(playerid, toggle);
  368. }
  369. #if defined INCLUDE_BASE_MODE
  370. //ALS_SYSTEME --------------------
  371. #if defined _ALS_TogglePlayerSpectating
  372.     #undef TogglePlayerSpectating
  373. #else
  374.     #define _ALS_TogglePlayerSpectating
  375. #endif
  376. #define TogglePlayerSpectating ELC_AC_TogglePlayerSpectating
  377. //ALS_OFF_SYSTEME ----------------
  378. #endif
  379. //Weapon------------------------------------------------------------------------
  380. /*#define elc_IsNotWeaponNoAmmo(%0) (%0!=0 && %0!=1 && %0!=10)
  381. #define elc_IsNotWeaponVise(%0,%1) (%0>1 && %0!=10 && %0!=6 && %0!=9 && %0!=11 && %0!=12 && %1!=35 && %1!=36 %1!=43)*/
  382. stock elc_IsNotWeaponNoAmmo(WeaponID)
  383. {
  384.     new elc_slot=elc_GetWeaponSlot(WeaponID);
  385.     if(elc_slot!=0 && elc_slot!=1 && elc_slot!=10)return 1;
  386.     return 0;
  387. }
  388. stock elc_IsNotWeaponVise(WeaponID)
  389. {
  390.     new elc_slot=elc_GetWeaponSlot(WeaponID);
  391.     if(elc_slot>1 && elc_slot!=10 && elc_slot!=6 && elc_slot!=9 && elc_slot!=11 && elc_slot!=12 && elc_slot!=35 && elc_slot!=36 && elc_slot!=43) return 1;
  392.     return 0;
  393. }
  394. stock elc_IsGiveVehicleWeapon(WeaponID)
  395. {
  396.     if(WeaponID==25 || WeaponID==46 || WeaponID==2) return 1;
  397.     return 0;
  398. }
  399. #define IsValidWeapon(%0) (%0>=1 && %0<=18 || %0>=21 && %0<=46)
  400. stock elc_GetWeaponSlot(weaponid)
  401. {
  402.     new elc_slot=-1;
  403.     switch(weaponid)
  404.     {
  405.         case 0,1: elc_slot = 0;
  406.         case 2 .. 9: elc_slot = 1;
  407.         case 10 .. 15: elc_slot = 10;
  408.         case 16 .. 18, 39: elc_slot = 8;
  409.         case 22 .. 24: elc_slot =2;
  410.         case 25 .. 27: elc_slot = 3;
  411.         case 28, 29, 32: elc_slot = 4;
  412.         case 30, 31: elc_slot = 5;
  413.         case 33, 34: elc_slot = 6;
  414.         case 35 .. 38: elc_slot = 7;
  415.         case 40: elc_slot = 12;
  416.         case 41 .. 43: elc_slot = 9;
  417.         case 44 .. 46: elc_slot = 11;
  418.     }
  419.     return elc_slot;
  420. }
  421. /*----------------------------------------------------------------------------*/
  422. forward ELC_AC_GivePlayerWeapon(playerid,Weapon,ammo);
  423. public ELC_AC_GivePlayerWeapon(playerid,Weapon,ammo)
  424. {
  425.     if(CheatPlayerInfo[playerid][elc_AntiWeaponHack]==1)CheatPlayerInfo[playerid][elc_AntiWeaponHack]=2;
  426.     new slot=elc_GetWeaponSlot(Weapon);
  427.     if(IsValidWeapon(Weapon) && slot!=-1)
  428.     {
  429.         CheatPlayerInfo[playerid][elc_weapon][slot] = Weapon;
  430.         CheatPlayerInfo[playerid][elc_ammo][slot] += ammo;
  431.         GivePlayerWeapon(playerid,Weapon,ammo);
  432.         #if defined MODE_DELAY_SEND_STATS
  433.         SaveTime(CheatPlayerInfo[playerid][elc_GiveWeaponTime],GetTickCount());
  434.         #endif
  435.     }
  436.     if(CheatPlayerInfo[playerid][elc_AntiWeaponHack]==2)CheatPlayerInfo[playerid][elc_AntiWeaponHack]=1;
  437.     return 1;
  438. }
  439. stock initial_GivePlayerWeapon(playerid,Weapon,ammo)
  440. {
  441.     return GivePlayerWeapon(playerid,Weapon,ammo);
  442. }
  443. #if defined INCLUDE_BASE_MODE
  444. //ALS_SYSTEME --------------------
  445. #if defined _ALS_GivePlayerWeapon
  446.     #undef GivePlayerWeapon
  447. #else
  448.     #define _ALS_GivePlayerWeapon
  449. #endif
  450. #define GivePlayerWeapon ELC_AC_GivePlayerWeapon
  451. //ALS_OFF_SYSTEME ----------------
  452. #endif
  453. /*----------------------------------------------------------------------------*/
  454. forward ELC_AC_SetPlayerAmmo(playerid,weapon,ammo);
  455. public ELC_AC_SetPlayerAmmo(playerid,weapon,ammo)
  456. {
  457.     if(CheatPlayerInfo[playerid][elc_AntiWeaponHack]==1)CheatPlayerInfo[playerid][elc_AntiWeaponHack]=2;
  458.     new slot=elc_GetWeaponSlot(weapon);
  459.     if(weapon>0 && 47>weapon && slot!=-1)
  460.     {
  461.         CheatPlayerInfo[playerid][elc_ammo][slot]=ammo;
  462.         SetPlayerAmmo(playerid,weapon,ammo);
  463.         #if defined MODE_DELAY_SEND_STATS
  464.         SaveTime(CheatPlayerInfo[playerid][elc_GiveWeaponTime],GetTickCount());
  465.         #endif
  466.     }
  467.     if(CheatPlayerInfo[playerid][elc_AntiWeaponHack]==2)CheatPlayerInfo[playerid][elc_AntiWeaponHack]=1;
  468.     return 1;
  469. }
  470. stock initial_SetPlayerAmmo(playerid,weapon,ammo)
  471. {
  472.     return SetPlayerAmmo(playerid,weapon,ammo);
  473. }
  474. #if defined INCLUDE_BASE_MODE
  475. //ALS_SYSTEME --------------------
  476. #if defined _ALS_SetPlayerAmmo
  477.     #undef SetPlayerAmmo
  478. #else
  479.     #define _ALS_SetPlayerAmmo
  480. #endif
  481. #define SetPlayerAmmo ELC_AC_SetPlayerAmmo
  482. //ALS_OFF_SYSTEME ----------------
  483. #endif
  484. /*----------------------------------------------------------------------------*/
  485. forward ELC_AC_ResetPlayerWeapons(playerid);
  486. public ELC_AC_ResetPlayerWeapons(playerid)
  487. {
  488.     if(CheatPlayerInfo[playerid][elc_AntiWeaponHack]==1)CheatPlayerInfo[playerid][elc_AntiWeaponHack]=2;
  489.     for(new i = 0; i <13; i++)
  490.     {
  491.         CheatPlayerInfo[playerid][elc_weapon][i]=0;
  492.         CheatPlayerInfo[playerid][elc_ammo][i]=0;
  493.     }
  494.     ResetPlayerWeapons(playerid);
  495.     #if defined MODE_DELAY_SEND_STATS
  496.     SaveTime(CheatPlayerInfo[playerid][elc_GiveWeaponTime],GetTickCount());
  497.     #endif
  498.     if(CheatPlayerInfo[playerid][elc_AntiWeaponHack]==2)CheatPlayerInfo[playerid][elc_AntiWeaponHack]=1;
  499.     return 1;
  500. }
  501. stock initial_ResetPlayerWeapons(playerid)
  502. {
  503.     return ResetPlayerWeapons(playerid);
  504. }
  505. #if defined INCLUDE_BASE_MODE
  506. //ALS_SYSTEME --------------------
  507. #if defined _ALS_ResetPlayerWeapons
  508.     #undef ResetPlayerWeapons
  509. #else
  510.     #define _ALS_ResetPlayerWeapons
  511. #endif
  512. #define ResetPlayerWeapons ELC_AC_ResetPlayerWeapons
  513. //ALS_OFF_SYSTEME ----------------
  514. #endif
  515. /*----------------------------------------------------------------------------*/
  516. forward ELC_AC_SetPlayerHealth(playerid,Float:health);
  517. public ELC_AC_SetPlayerHealth(playerid,Float:health)
  518. {
  519.     if(CheatPlayerInfo[playerid][elc_AntiHealthHack]==1)CheatPlayerInfo[playerid][elc_AntiHealthHack]=2;
  520.     CheatPlayerInfo[playerid][elc_health]=health;
  521.     SetPlayerHealth(playerid,health);
  522.     #if defined MODE_DELAY_SEND_STATS
  523.     SaveTime(CheatPlayerInfo[playerid][elc_GiveHealthTime],GetTickCount());
  524.     #endif
  525.     if(CheatPlayerInfo[playerid][elc_AntiHealthHack]==2)CheatPlayerInfo[playerid][elc_AntiHealthHack]=1;
  526.     return 1;
  527. }
  528. stock initial_SetPlayerHealth(playerid,Float:health)
  529. {
  530.     return SetPlayerHealth(playerid,health);
  531. }
  532. #if defined INCLUDE_BASE_MODE
  533. //ALS_SYSTEME --------------------
  534. #if defined _ALS_SetPlayerHealth
  535.     #undef SetPlayerHealth
  536. #else
  537.     #define _ALS_SetPlayerHealth
  538. #endif
  539. #define SetPlayerHealth ELC_AC_SetPlayerHealth
  540. //ALS_OFF_SYSTEME ----------------
  541. #endif
  542. /*----------------------------------------------------------------------------*/
  543. forward ELC_AC_SetPlayerArmour(playerid,Float:armour);
  544. public ELC_AC_SetPlayerArmour(playerid,Float:armour)
  545. {
  546.     if(CheatPlayerInfo[playerid][elc_AntiArmourHack]==1)CheatPlayerInfo[playerid][elc_AntiArmourHack]=2;
  547.     CheatPlayerInfo[playerid][elc_armour]=armour;
  548.     SetPlayerArmour(playerid,armour);
  549.     #if defined MODE_DELAY_SEND_STATS
  550.     SaveTime(CheatPlayerInfo[playerid][elc_GiveArmourTime],GetTickCount());
  551.     #endif
  552.     if(CheatPlayerInfo[playerid][elc_AntiArmourHack]==2)CheatPlayerInfo[playerid][elc_AntiArmourHack]=1;
  553.     return 1;
  554. }
  555. stock initial_SetPlayerArmour(playerid,Float:armour)
  556. {
  557.     return SetPlayerArmour(playerid,armour);
  558. }
  559. #if defined INCLUDE_BASE_MODE
  560. //ALS_SYSTEME --------------------
  561. #if defined _ALS_SetPlayerArmour
  562.     #undef SetPlayerArmour
  563. #else
  564.     #define _ALS_SetPlayerArmour
  565. #endif
  566. #define SetPlayerArmour ELC_AC_SetPlayerArmour
  567. //ALS_OFF_SYSTEME ----------------
  568. #endif
  569. /*----------------------------------------------------------------------------*/
  570. forward ELC_AC_SetVehiclePos(vehicleid,Float:x,Float:y,Float:z);
  571. public ELC_AC_SetVehiclePos(vehicleid,Float:x,Float:y,Float:z)
  572. {
  573.     CheatVehicleInfo[vehicleid][elc_vX]=x;
  574.     CheatVehicleInfo[vehicleid][elc_vY]=y;
  575.     CheatVehicleInfo[vehicleid][elc_vZ]=z;
  576.     SetVehiclePos(vehicleid,x,y,z);
  577.     CheatVehicleInfo[vehicleid][elc_vStatut]=0;
  578.     return 1;
  579. }
  580. stock initial_SetVehiclePos(vehicleid,Float:x,Float:y,Float:z)
  581. {
  582.     return SetVehiclePos(vehicleid,x,y,z);
  583. }
  584. #if defined INCLUDE_BASE_MODE
  585. //ALS_SYSTEME --------------------
  586. #if defined _ALS_SetVehiclePos
  587.     #undef SetVehiclePos
  588. #else
  589.     #define _ALS_SetVehiclePos
  590. #endif
  591. #define SetVehiclePos ELC_AC_SetVehiclePos
  592. //ALS_OFF_SYSTEME ----------------
  593. #endif
  594. //Core--------------------------------------------------------------------------
  595. public OnPlayerCheckCheat(playerid)
  596. {
  597.     new elc_IsTime=GetTickCount();
  598.     #if defined MODE_DELAY_SEND_STATS
  599.     if(CheatPlayerInfo[playerid][elc_AntiMoneyHack]==1 && IsPassTime(playerid,CheatPlayerInfo[playerid][elc_GiveMoneyTime],elc_IsTime))
  600.     #else
  601.     if(CheatPlayerInfo[playerid][elc_AntiMoneyHack]==1)
  602.     #endif
  603.     {
  604.         new elc_getmoney=initial_GetPlayerMoney(playerid);
  605.         if(elc_getmoney>CheatPlayerInfo[playerid][elc_money])
  606.         {
  607.             new elc_str[60];
  608.             format(elc_str,sizeof(elc_str),"%d", elc_getmoney-CheatPlayerInfo[playerid][elc_money]);
  609.             initial_ResetPlayerMoney(playerid);
  610.             initial_GivePlayerMoney(playerid, CheatPlayerInfo[playerid][elc_money]);
  611.             ELC_SendCheatWarning(playerid,1,elc_str);
  612.         }
  613.         #if defined DISABLE_MONEY_DEATHLOSE
  614.         else if(((elc_getmoney+100)<=CheatPlayerInfo[playerid][elc_money])&&((GetTickCount()-CheatPlayerInfo[playerid][elc_TimeSpawn])<(TIMER_CHEAT_RATE+MAX_DELAY_SEND_STATS+5000)))
  615.         {
  616.             initial_ResetPlayerMoney(playerid);
  617.             initial_GivePlayerMoney(playerid, elc_getmoney+100);
  618.         }
  619.         #endif
  620.     }
  621.     if(CheatPlayerInfo[playerid][elc_AntiTeleportHack]==1 && IsPlayerUpdatePos(playerid))
  622.     {
  623.         #if defined MODE_DELAY_SEND_STATS
  624.         if(CheatPlayerInfo[playerid][elc_SetPositionTime]!=0)
  625.         {
  626.             if(IsPassTime(playerid,CheatPlayerInfo[playerid][elc_SetPositionTime],elc_IsTime))
  627.             {
  628.                 CheatPlayerInfo[playerid][elc_SetPositionTime]=0;
  629.                 GetPlayerPos(playerid,CheatPlayerInfo[playerid][elc_posx],CheatPlayerInfo[playerid][elc_posy],CheatPlayerInfo[playerid][elc_posz]);
  630.                 CheatPlayerInfo[playerid][elc_interior]=GetPlayerInterior(playerid);
  631.                 CheatPlayerInfo[playerid][elc_virtualworld]=GetPlayerVirtualWorld(playerid);
  632.             }
  633.         }
  634.         else if(IsPlayerCheatPos(playerid))
  635.         #else
  636.         if(IsPlayerCheatPos(playerid))
  637.         #endif
  638.         {
  639.             if(!IsPlayerCheatAllowTelPos(playerid))
  640.             {
  641.                 GetPlayerPos(playerid,CheatPlayerInfo[playerid][elc_posx],CheatPlayerInfo[playerid][elc_posy],CheatPlayerInfo[playerid][elc_posz]);
  642.                 CheatPlayerInfo[playerid][elc_interior]=GetPlayerInterior(playerid);
  643.                 CheatPlayerInfo[playerid][elc_virtualworld]=GetPlayerVirtualWorld(playerid);
  644.                 CheatPlayerInfo[playerid][elc_AllowTelX]=0;
  645.                 CheatPlayerInfo[playerid][elc_AllowTelY]=0;
  646.                 CheatPlayerInfo[playerid][elc_AllowTelZ]=0;
  647.             }
  648.             else
  649.             {
  650.                 ELC_SendCheatWarning(playerid,6);
  651.                 SetPlayerPos(playerid,CheatPlayerInfo[playerid][elc_posx],CheatPlayerInfo[playerid][elc_posy],CheatPlayerInfo[playerid][elc_posz]);
  652.                 SetPlayerInterior(playerid,CheatPlayerInfo[playerid][elc_interior]);
  653.                 SetPlayerVirtualWorld(playerid,CheatPlayerInfo[playerid][elc_virtualworld]);
  654.             }
  655.         }
  656.         else
  657.         {
  658.             GetPlayerPos(playerid,CheatPlayerInfo[playerid][elc_posx],CheatPlayerInfo[playerid][elc_posy],CheatPlayerInfo[playerid][elc_posz]);
  659.             CheatPlayerInfo[playerid][elc_interior]=GetPlayerInterior(playerid);
  660.             CheatPlayerInfo[playerid][elc_virtualworld]=GetPlayerVirtualWorld(playerid);
  661.         }
  662.     }
  663.     #if defined MODE_DELAY_SEND_STATS
  664.     if(CheatPlayerInfo[playerid][elc_AntiWeaponHack]==1 && IsPassTime(playerid,CheatPlayerInfo[playerid][elc_GiveWeaponTime],elc_IsTime))
  665.     #else
  666.     if(CheatPlayerInfo[playerid][elc_AntiWeaponHack]==1&&GetPlayerSpecialAction(playerid)!=SPECIAL_ACTION_ENTER_VEHICLE&&GetPlayerSpecialAction(playerid)!=SPECIAL_ACTION_EXIT_VEHICLE)
  667.     #endif
  668.     {
  669.         //ANTI BLOCK MUNITIONS
  670.         if(CheatPlayerInfo[playerid][elc_tickfire]!=0 && CheatPlayerInfo[playerid][elc_AntiAmmoBlockHack]==1)
  671.         {
  672.             if((elc_IsTime-CheatPlayerInfo[playerid][elc_tickfire]) >= TIRE_RATE)
  673.             {
  674.                 if(CheatPlayerInfo[playerid][elc_weaponFire]==GetPlayerWeapon(playerid))
  675.                 {
  676.                     if(CheatPlayerInfo[playerid][elc_ammoFire]==GetPlayerAmmo(playerid)) ELC_AC_StartCheckPlayerFaceWall(playerid);
  677.                     CheatPlayerInfo[playerid][elc_tickfire]=0;
  678.                     CheatPlayerInfo[playerid][elc_ammoFire]=0;
  679.                     CheatPlayerInfo[playerid][elc_weaponFire]=0;
  680.  
  681.                 }
  682.                 else
  683.                 {
  684.  
  685.                     new elc_keys,elc_ud,elc_lr;
  686.                     GetPlayerKeys(playerid,elc_keys,elc_ud,elc_lr);
  687.                     if(elc_keys==4 && elc_IsNotWeaponVise(GetPlayerWeapon(playerid)))
  688.                     {
  689.                         CheatPlayerInfo[playerid][elc_tickfire]=elc_IsTime;
  690.                         CheatPlayerInfo[playerid][elc_ammoFire]=GetPlayerAmmo(playerid);
  691.                         CheatPlayerInfo[playerid][elc_weaponFire]=GetPlayerWeapon(playerid);
  692.                     }
  693.                     else if(elc_keys==132 && elc_IsNotWeaponNoAmmo(GetPlayerWeapon(playerid)) && (elc_GetPlayerSpeedXY(playerid) < 1))
  694.                     {
  695.                         CheatPlayerInfo[playerid][elc_tickfire]=elc_IsTime;
  696.                         CheatPlayerInfo[playerid][elc_ammoFire]=GetPlayerAmmo(playerid);
  697.                         CheatPlayerInfo[playerid][elc_weaponFire]=GetPlayerWeapon(playerid);
  698.                     }
  699.                     else
  700.                     {
  701.                         CheatPlayerInfo[playerid][elc_tickfire]=0;
  702.                         CheatPlayerInfo[playerid][elc_ammoFire]=0;
  703.                         CheatPlayerInfo[playerid][elc_weaponFire]=0;
  704.                     }
  705.                 }
  706.             }
  707.         }
  708.         new elc_WA_VAR[2];
  709.         new elc_NeedRemove;
  710.         /*new actweap=GetPlayerWeapon(playerid);
  711.         if(actweap!=0&&actweap!=CheatPlayerInfo[playerid][elc_weapon][elc_GetWeaponSlot(actweap)])
  712.         {
  713.             if(!elc_IsGiveVehicleWeapon(actweap))
  714.             {
  715.                 new elc_str[32];
  716.                 GetWeaponName(elc_WA_VAR[0][i],str,32);
  717.                 ELC_SendCheatWarning(playerid,2,elc_str);
  718.             }
  719.             elc_NeedRemove=1;
  720.         }*/
  721.         for(new i = 0; i <13; i++)
  722.         {
  723.             elc_WA_VAR[0]=0; elc_WA_VAR[1]=0;
  724.             GetPlayerWeaponData(playerid,i,elc_WA_VAR[0],elc_WA_VAR[1]);
  725.             if(CheatPlayerInfo[playerid][elc_weapon][i]!=elc_WA_VAR[0] && elc_WA_VAR[0]!=0 && elc_WA_VAR[1]!=0)// && elc_WA_VAR[0][i]!=actweap
  726.             {
  727.                 //CHEAT WEAPON
  728.                 if(!elc_IsGiveVehicleWeapon(elc_WA_VAR[0])&&elc_NeedRemove==0)
  729.                 {
  730.                     new elc_str[32];
  731.                     GetWeaponName(elc_WA_VAR[i],elc_str,sizeof(elc_str));
  732.                     ELC_SendCheatWarning(playerid,2,elc_str);
  733.                 }
  734.                 elc_NeedRemove=1;
  735.                 //SetPlayerAmmo(playerid, elc_WA_VAR[0], 0);
  736.             }
  737.             else if(((CheatPlayerInfo[playerid][elc_ammo][i]-elc_WA_VAR[1]) < 0) && elc_IsNotWeaponNoAmmo(elc_WA_VAR[0]) && elc_WA_VAR[0]!=0)
  738.             {
  739.                 //CHEAT AMMO
  740.                 if(elc_NeedRemove<=1)
  741.                 {
  742.                     new elc_str[60];
  743.                     format(elc_str,sizeof(elc_str),"%d",elc_WA_VAR[1]-CheatPlayerInfo[playerid][elc_ammo][i]);
  744.                     ELC_SendCheatWarning(playerid,3,elc_str);
  745.                 }
  746.                 elc_NeedRemove=2;
  747.                 //SetPlayerAmmo(playerid, elc_WA_VAR[0], 0);
  748.             }
  749.             else if(CheatPlayerInfo[playerid][elc_weapon][i]!=0 && elc_WA_VAR[0]==0 && elc_WA_VAR[1]==0)
  750.             {
  751.                 CheatPlayerInfo[playerid][elc_weapon][i]=0;
  752.                 CheatPlayerInfo[playerid][elc_ammo][i]=0;
  753.             }
  754.             else if(elc_WA_VAR[1]!=0) CheatPlayerInfo[playerid][elc_ammo][i]=elc_WA_VAR[1];
  755.  
  756.         }
  757.         if(elc_NeedRemove>=1)
  758.         {
  759.             new WepUse=GetPlayerWeapon(playerid);
  760.             initial_ResetPlayerWeapons(playerid);
  761.             for(new i = 0; i <13; i++)if(CheatPlayerInfo[playerid][elc_weapon][i] != 0)initial_GivePlayerWeapon(playerid, CheatPlayerInfo[playerid][elc_weapon][i], CheatPlayerInfo[playerid][elc_ammo][i]);
  762.             SetPlayerArmedWeapon(playerid,WepUse);
  763.         }
  764.     }
  765.     #if defined MODE_DELAY_SEND_STATS
  766.     if(CheatPlayerInfo[playerid][elc_AntiHealthHack]==1 && IsPassTime(playerid,CheatPlayerInfo[playerid][elc_GiveHealthTime],elc_IsTime) && IsPassTime(playerid,CheatPlayerInfo[playerid][elc_GiveMoneyTime],elc_IsTime))
  767.     #else
  768.     if(CheatPlayerInfo[playerid][elc_AntiHealthHack]==1)
  769.     #endif
  770.     {
  771.         new Float:velc_health;
  772.         GetPlayerHealth(playerid,velc_health);
  773.         if(velc_health!=CheatPlayerInfo[playerid][elc_health])
  774.         {
  775.             if(velc_health<=100 && velc_health>0 && CheatPlayerInfo[playerid][elc_health]==0) CheatPlayerInfo[playerid][elc_health]=velc_health;
  776.             else if(velc_health>CheatPlayerInfo[playerid][elc_health])
  777.             {
  778.                 //Cheat Health
  779.                 initial_SetPlayerHealth(playerid,CheatPlayerInfo[playerid][elc_health]);
  780.                 ELC_SendCheatWarning(playerid,7);
  781.             }
  782.             else if(velc_health<CheatPlayerInfo[playerid][elc_health] && velc_health!=0)CheatPlayerInfo[playerid][elc_health]=velc_health;
  783.         }
  784.     }
  785.     #if defined MODE_DELAY_SEND_STATS
  786.     if(CheatPlayerInfo[playerid][elc_AntiArmourHack]==1 && IsPassTime(playerid,CheatPlayerInfo[playerid][elc_GiveArmourTime],elc_IsTime) && IsPassTime(playerid,CheatPlayerInfo[playerid][elc_GiveMoneyTime],elc_IsTime))
  787.     #else
  788.     if(CheatPlayerInfo[playerid][elc_AntiArmourHack]==1)
  789.     #endif
  790.     {
  791.         new Float:velc_armour;
  792.         GetPlayerArmour(playerid,velc_armour);
  793.         if(velc_armour!=CheatPlayerInfo[playerid][elc_armour])
  794.         {
  795.             if(velc_armour>CheatPlayerInfo[playerid][elc_armour])
  796.             {
  797.                 //Cheat Armour
  798.                 initial_SetPlayerArmour(playerid,CheatPlayerInfo[playerid][elc_armour]);
  799.                 ELC_SendCheatWarning(playerid,8);
  800.             }
  801.             else if(velc_armour<CheatPlayerInfo[playerid][elc_armour])CheatPlayerInfo[playerid][elc_armour]=velc_armour;
  802.         }
  803.     }
  804.     if(CheatPlayerInfo[playerid][elc_AntiVehicleTelportHack]==2 && CheatPlayerInfo[playerid][elc_PossibleVehicleHack]!=0 && IsPassTime(playerid,CheatVehicleInfo[CheatPlayerInfo[playerid][elc_PossibleVehicleHack]][elc_vPossibleHackTime],elc_IsTime))
  805.     {
  806.         if(ELC_AC_IsCreatedVehicle(CheatPlayerInfo[playerid][elc_PossibleVehicleHack]))
  807.         {
  808.             ELC_SendCheatWarning(playerid,9);
  809.             SetVehiclePos(CheatPlayerInfo[playerid][elc_PossibleVehicleHack], CheatVehicleInfo[CheatPlayerInfo[playerid][elc_PossibleVehicleHack]][elc_vX], CheatVehicleInfo[CheatPlayerInfo[playerid][elc_PossibleVehicleHack]][elc_vY], CheatVehicleInfo[CheatPlayerInfo[playerid][elc_PossibleVehicleHack]][elc_vZ]);
  810.             SetVehicleZAngle(CheatPlayerInfo[playerid][elc_PossibleVehicleHack],CheatVehicleInfo[CheatPlayerInfo[playerid][elc_PossibleVehicleHack]][elc_vAngle]);
  811.             CheatVehicleInfo[CheatPlayerInfo[playerid][elc_PossibleVehicleHack]][elc_vPossiblePlayerHack]=0;
  812.             CheatVehicleInfo[CheatPlayerInfo[playerid][elc_PossibleVehicleHack]][elc_vPossibleHackTime]=0;
  813.         }
  814.         CheatPlayerInfo[playerid][elc_PossibleVehicleHack]=0;
  815.     }
  816.     else if(GetPlayerVehicleSeat(playerid)==0)
  817.     {
  818.         new vehicleid=GetPlayerVehicleID(playerid);
  819.         if(vehicleid!=0)
  820.         {
  821.             GetVehiclePos(vehicleid, CheatVehicleInfo[vehicleid][elc_vX], CheatVehicleInfo[vehicleid][elc_vY], CheatVehicleInfo[vehicleid][elc_vZ]);
  822.             GetVehicleZAngle(vehicleid,CheatVehicleInfo[vehicleid][elc_vAngle]);
  823.         }
  824.     }
  825.     return 1;
  826. }
  827. /*----------------------------------------------------------------------------*/
  828. stock ELC_AC_StartCheckPlayerFaceWall(playerid)
  829. {
  830.     if(IsPlayerConnected(playerid))
  831.     {
  832.         if(CheatPlayerInfo[playerid][elc_AntiAmmoBlockHack]==1)CheatPlayerInfo[playerid][elc_AntiAmmoBlockHack]=2;
  833.         new Float:x,Float:y,Float:z,Float:a,Float:lx,Float:ly,Float:lhealth;
  834.         GetPlayerPos(playerid, x, y ,z);
  835.         GetPlayerFacingAngle(playerid, a);
  836.         GetPlayerHealth(playerid,lhealth);
  837.         lx = (0.5 * floatsin(-a, degrees));
  838.         ly = (0.5 * floatcos(-a, degrees));
  839.         SetPlayerVelocity(playerid,lx,ly,0.0);
  840.         SetTimerEx("OnPlayerCheckFaceWall",500,0,"iffffff",playerid,x+lx,y+ly,z,x,y,lhealth);
  841.     }
  842.     return 1;
  843. }
  844. /*----------------------------------------------------------------------------*/
  845. public OnPlayerCheckFaceWall(playerid,Float:wall_x,Float:wall_y,Float:wall_z,Float:nwall_x,Float:nwall_y,Float:wall_he)
  846. {
  847.     if(IsPlayerConnected(playerid))
  848.     {
  849.         new Float:elc_x,Float:elc_y,Float:elc_z;
  850.         GetPlayerPos(playerid, elc_x, elc_y ,elc_z);
  851.         if(IsPlayerInRangeOfPoint(playerid,0.25,wall_x,wall_y,elc_z))
  852.         {
  853.             //Cheat Block Ammo
  854.             ELC_SendCheatWarning(playerid,4);
  855.             initial_ResetPlayerWeapons(playerid);
  856.         }
  857.         SetPlayerHealth(playerid,wall_he);
  858.         initial_SetPlayerPos(playerid, nwall_x,nwall_y,wall_z);
  859.         if(CheatPlayerInfo[playerid][elc_AntiAmmoBlockHack]==2)CheatPlayerInfo[playerid][elc_AntiAmmoBlockHack]=1;
  860.     }
  861.     return 1;
  862. }
  863.  
  864. /*----------------------------------------------------------------------------*/
  865. public OnPlayerUpdate(playerid)
  866. {
  867.     new elc_tick=GetTickCount();
  868.     if(CheatPlayerInfo[playerid][elc_LastUpdate]+1000<elc_tick)
  869.     {
  870.         GetPlayerPos(playerid,CheatPlayerInfo[playerid][elc_posx],CheatPlayerInfo[playerid][elc_posy],CheatPlayerInfo[playerid][elc_posz]);
  871.     }
  872.     CheatPlayerInfo[playerid][elc_LastUpdate]=elc_tick;
  873.     if(CheatPlayerInfo[playerid][elc_AntiSpeedHack]==1)
  874.     {
  875.         //if((GetPlayerSurfingVehicleID(playerid)!=INVALID_VEHICLE_ID || GetPlayerState(playerid) == PLAYER_STATE_DRIVER) && (elc_GetPlayerSpeedXY(playerid) > MAX_SPEED_VEHICLE))
  876.         if(elc_GetPlayerSpeedXY(playerid) > MAX_SPEED_VEHICLE)ELC_SendCheatWarning(playerid,5);
  877.     }
  878.     #if defined INCLUDE_BASE_MODE
  879.     return CallLocalFunction("ELC_AC_OnPlayerUpdate", "i",playerid);
  880.     #else
  881.     return 1;
  882.     #endif
  883. }
  884. /*----------------------------------------------------------------------------*/
  885. #if defined INCLUDE_BASE_MODE
  886. //ALS_SYSTEME --------------------
  887. #if defined _ALS_OnPlayerUpdate
  888.     #undef OnPlayerUpdate
  889. #else
  890.     #define _ALS_OnPlayerUpdate
  891. #endif
  892. #define OnPlayerUpdate ELC_AC_OnPlayerUpdate
  893. forward ELC_AC_OnPlayerUpdate(playerid);
  894. #endif
  895. //ALS_OFF_SYSTEME ----------------
  896. /*----------------------------------------------------------------------------*/
  897. #if defined INCLUDE_BASE_MODE
  898. public OnGameModeInit()
  899. #else
  900. public OnFilterScriptInit()
  901. #endif
  902. {
  903.     #if defined NO_TICK_COUNT
  904.     CheatServerInfo[elc_TimerTick]=SetTimer("TimeUpdate", TIME_GRANULITY, true);
  905.     #endif
  906.     #if defined INCLUDE_BASE_MODE
  907.     return CallLocalFunction("ELC_AC_OnGameModeInit", " ");
  908.     #else
  909.     return 1;
  910.     #endif
  911. }
  912. /*----------------------------------------------------------------------------*/
  913. #if defined INCLUDE_BASE_MODE
  914. //ALS_SYSTEME --------------------
  915. #if defined _ALS_OnGameModeInit
  916.     #undef OnGameModeInit
  917. #else
  918.     #define _ALS_OnGameModeInit
  919. #endif
  920. #define OnGameModeInit ELC_AC_OnGameModeInit
  921. forward ELC_AC_OnGameModeInit();
  922. #endif
  923. //ALS_OFF_SYSTEME ----------------
  924. /*----------------------------------------------------------------------------*/
  925. #if defined INCLUDE_BASE_MODE
  926. public OnGameModeExit()
  927. #else
  928. public OnFilterScriptExit()
  929. #endif
  930. {
  931.     #if defined NO_TICK_COUNT
  932.     KillTimer(CheatServerInfo[elc_TimerTick]);
  933.     #endif
  934.     #if defined INCLUDE_BASE_MODE
  935.     return CallLocalFunction("ELC_AC_OnGameModeExit", " ");
  936.     #else
  937.     return 1;
  938.     #endif
  939. }
  940. /*----------------------------------------------------------------------------*/
  941. #if defined INCLUDE_BASE_MODE
  942. //ALS_SYSTEME --------------------
  943. #if defined _ALS_OnGameModeExit
  944.     #undef OnGameModeExit
  945. #else
  946.     #define _ALS_OnGameModeExit
  947. #endif
  948. #define OnGameModeExit ELC_AC_OnGameModeExit
  949. forward ELC_AC_OnGameModeExit();
  950. #endif
  951. //ALS_OFF_SYSTEME ----------------
  952. /*----------------------------------------------------------------------------*/
  953. public OnPlayerConnect(playerid)
  954. {
  955.     for(new i = 0; i <_:aELCp; i++)CheatPlayerInfo[playerid][aELCp:i]=0;
  956.     if (!IsPlayerNPC(playerid))
  957.     {
  958.         CheatPlayerInfo[playerid][elc_armour]=100;
  959.         CheatPlayerInfo[playerid][elc_health]=100;
  960.         CheatPlayerInfo[playerid][elc_timer]=SetTimerEx("OnPlayerCheckCheat", TIMER_CHEAT_RATE, 1, "i", playerid);
  961.         CheatPlayerInfo[playerid][elc_AntiWeaponHack]=ANTI_WEAPON_&_AMMO_HACK;
  962.         CheatPlayerInfo[playerid][elc_AntiAmmoBlockHack]=ANTI_AMMO_BLOCK_HACK;
  963.         CheatPlayerInfo[playerid][elc_AntiMoneyHack]=ANTI_MONEY_HACK;
  964.         CheatPlayerInfo[playerid][elc_AntiSpeedHack]=0;
  965.         CheatPlayerInfo[playerid][elc_AntiArmourHack]=ANTI_ARMOUR_HACK;
  966.         CheatPlayerInfo[playerid][elc_AntiHealthHack]=ANTI_HEALTH_HACK;
  967.         CheatPlayerInfo[playerid][elc_AntiVehicleTelportHack]=ANTI_VEHICLE-TELEPORT_HACK;
  968.         #if defined MODE_DELAY_SEND_STATS
  969.         CheatPlayerInfo[playerid][elc_GiveWeaponTime]=1;
  970.         CheatPlayerInfo[playerid][elc_GiveMoneyTime]=1;
  971.         CheatPlayerInfo[playerid][elc_GiveHealthTime]=1;
  972.         CheatPlayerInfo[playerid][elc_GiveArmourTime]=1;
  973.         #endif
  974.         CheatPlayerInfo[playerid][elc_PlayerEnterTime]=0;
  975.         SendClientMessage(playerid,0xBD0000FF,"[ANTI-CHEAT]Ce serveur est protégé par ELC_AC(By Eloctro)");
  976.     }
  977.     #if defined INCLUDE_BASE_MODE
  978.     return CallLocalFunction("ELC_AC_OnPlayerConnect", "d", playerid);
  979.     #else
  980.     return 1;
  981.     #endif
  982. }
  983. /*----------------------------------------------------------------------------*/
  984. #if defined INCLUDE_BASE_MODE
  985. //ALS_SYSTEME --------------------
  986. #if defined _ALS_OnPlayerConnect
  987.     #undef OnPlayerConnect
  988. #else
  989.     #define _ALS_OnPlayerConnect
  990. #endif
  991. #define OnPlayerConnect ELC_AC_OnPlayerConnect
  992. forward ELC_AC_OnPlayerConnect(playerid);
  993. #endif
  994. //ALS_OFF_SYSTEME ----------------
  995. /*----------------------------------------------------------------------------*/
  996. public OnPlayerSpawn(playerid)
  997. {
  998.     if (!IsPlayerNPC(playerid))
  999.     {
  1000.         GetPlayerPos(playerid,CheatPlayerInfo[playerid][elc_posx],CheatPlayerInfo[playerid][elc_posy],CheatPlayerInfo[playerid][elc_posz]);
  1001.         SaveTime(CheatPlayerInfo[playerid][elc_SetPositionTime],GetTickCount()+MAX_DELAY_WAIT_AFTER_SPAWN);
  1002.         CheatPlayerInfo[playerid][elc_TimeSpawn]=GetTickCount();
  1003.         if(CheatPlayerInfo[playerid][elc_AntiSpeedHack]!=2)
  1004.         {
  1005.             CheatPlayerInfo[playerid][elc_AntiTeleportHack]=ANTI_TELEPORT/AIBREAK_HACK;
  1006.             CheatPlayerInfo[playerid][elc_AntiSpeedHack]=ANTI_SPEED_HACK;
  1007.         }
  1008.         CheatPlayerInfo[playerid][elc_health]=100;
  1009.         CheatPlayerInfo[playerid][elc_armour]=100;
  1010.     }
  1011.     #if defined INCLUDE_BASE_MODE
  1012.     return CallLocalFunction("ELC_AC_OnPlayerSpawn", "d", playerid);
  1013.     #else
  1014.     return 1;
  1015.     #endif
  1016. }
  1017. /*----------------------------------------------------------------------------*/
  1018. #if defined INCLUDE_BASE_MODE
  1019. //ALS_SYSTEME --------------------
  1020. #if defined _ALS_OnPlayerSpawn
  1021.     #undef OnPlayerSpawn
  1022. #else
  1023.     #define _ALS_OnPlayerSpawn
  1024. #endif
  1025. #define OnPlayerSpawn ELC_AC_OnPlayerSpawn
  1026. forward ELC_AC_OnPlayerSpawn(playerid);
  1027. #endif
  1028. //ALS_OFF_SYSTEME ----------------
  1029. /*----------------------------------------------------------------------------*/
  1030. public OnPlayerDeath(playerid, killerid, reason)
  1031. {
  1032.     if (!IsPlayerNPC(playerid))
  1033.     {
  1034.         CheatPlayerInfo[playerid][elc_PlayerEnterTime]=0;
  1035.         CheatPlayerInfo[playerid][elc_AntiTeleportHack]=0;
  1036.         CheatPlayerInfo[playerid][elc_AntiSpeedHack]=0;
  1037.     }
  1038.     #if defined INCLUDE_BASE_MODE
  1039.     return CallLocalFunction("ELC_AC_OnPlayerDeath", "ddd", playerid, killerid, reason);
  1040.     #else
  1041.     return 1;
  1042.     #endif
  1043. }
  1044. /*----------------------------------------------------------------------------*/
  1045. #if defined INCLUDE_BASE_MODE
  1046. //ALS_SYSTEME --------------------
  1047. #if defined _ALS_OnPlayerDeath
  1048.     #undef OnPlayerDeath
  1049. #else
  1050.     #define _ALS_OnPlayerDeath
  1051. #endif
  1052. #define OnPlayerDeath ELC_AC_OnPlayerDeath
  1053. forward ELC_AC_OnPlayerDeath(playerid, killerid, reason);
  1054. #endif
  1055. //ALS_OFF_SYSTEME ----------------
  1056. /*----------------------------------------------------------------------------*/
  1057. public OnPlayerDisconnect(playerid, reason)
  1058. {
  1059.     if (!IsPlayerNPC(playerid))KillTimer(CheatPlayerInfo[playerid][elc_timer]);
  1060.     //for(new i = 0; i <_:aELCp; i++)CheatPlayerInfo[playerid][aELCp:i]=0;
  1061.     #if defined INCLUDE_BASE_MODE
  1062.     return CallLocalFunction("ELC_AC_OnPlayerDisconnect", "dd", playerid, reason);
  1063.     #else
  1064.     return 1;
  1065.     #endif
  1066. }
  1067. /*----------------------------------------------------------------------------*/
  1068. #if defined INCLUDE_BASE_MODE
  1069. //ALS_SYSTEME --------------------
  1070. #if defined _ALS_OnPlayerDisconnect
  1071.     #undef OnPlayerDisconnect
  1072. #else
  1073.     #define _ALS_OnPlayerDisconnect
  1074. #endif
  1075. #define OnPlayerDisconnect ELC_AC_OnPlayerDisconnect
  1076. forward ELC_AC_OnPlayerDisconnect(playerid, reason);
  1077. #endif
  1078. //ALS_OFF_SYSTEME ----------------
  1079. /*----------------------------------------------------------------------------*/
  1080. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  1081. {
  1082.     if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
  1083.     {
  1084.         if(CheatPlayerInfo[playerid][elc_AntiWeaponHack]==1 && CheatPlayerInfo[playerid][elc_AntiAmmoBlockHack]==1)
  1085.         {
  1086.             if(newkeys==4)
  1087.             {
  1088.                 new Float:XPOS[3]; GetPlayerPos(playerid,XPOS[0],XPOS[1],XPOS[2]);
  1089.                 if(CheatPlayerInfo[playerid][elc_tickfire]==0 && elc_IsNotWeaponVise(GetPlayerWeapon(playerid)) && CheatPlayerInfo[playerid][elc_posz]==XPOS[2])
  1090.                 {
  1091.                     CheatPlayerInfo[playerid][elc_tickfire]=GetTickCount();
  1092.                     CheatPlayerInfo[playerid][elc_ammoFire]=GetPlayerAmmo(playerid);
  1093.                     CheatPlayerInfo[playerid][elc_weaponFire]=GetPlayerWeapon(playerid);
  1094.                 }
  1095.             }
  1096.             else if(newkeys==132)
  1097.             {
  1098.                 if(CheatPlayerInfo[playerid][elc_tickfire]==0 && elc_IsNotWeaponNoAmmo(GetPlayerWeapon(playerid)) && (elc_GetPlayerSpeedXY(playerid) < 1))
  1099.                 {
  1100.                     CheatPlayerInfo[playerid][elc_tickfire]=GetTickCount();
  1101.                     CheatPlayerInfo[playerid][elc_ammoFire]=GetPlayerAmmo(playerid);
  1102.                     CheatPlayerInfo[playerid][elc_weaponFire]=GetPlayerWeapon(playerid);
  1103.                 }
  1104.             }
  1105.             else if(oldkeys==4&&newkeys!=132 || oldkeys==132&&newkeys!=4)
  1106.             {
  1107.                 if(CheatPlayerInfo[playerid][elc_tickfire]!=0)
  1108.                 {
  1109.                     if((GetTickCount()-CheatPlayerInfo[playerid][elc_tickfire]) >= TIRE_RATE)
  1110.                     {
  1111.                         new Float:elc_XPOS[3];
  1112.                         GetPlayerPos(playerid,elc_XPOS[0],elc_XPOS[1],elc_XPOS[2]);
  1113.                         if(CheatPlayerInfo[playerid][elc_posz]==elc_XPOS[2] && CheatPlayerInfo[playerid][elc_weaponFire]==GetPlayerWeapon(playerid)&& CheatPlayerInfo[playerid][elc_ammoFire]==GetPlayerAmmo(playerid)) ELC_AC_StartCheckPlayerFaceWall(playerid);
  1114.                     }
  1115.                     CheatPlayerInfo[playerid][elc_tickfire]=0;
  1116.                     CheatPlayerInfo[playerid][elc_ammoFire]=0;
  1117.                     CheatPlayerInfo[playerid][elc_weaponFire]=0;
  1118.                 }
  1119.             }
  1120.         }
  1121.     }
  1122.     #if defined INCLUDE_BASE_MODE
  1123.     return CallLocalFunction("ELC_AC_OnPlayerKeyStateChange", "ddd",playerid, newkeys, oldkeys);
  1124.     #else
  1125.     return 1;
  1126.     #endif
  1127. }
  1128. /*----------------------------------------------------------------------------*/
  1129. #if defined INCLUDE_BASE_MODE
  1130. //ALS_SYSTEME --------------------
  1131. #if defined _ALS_OnPlayerKeyStateChange
  1132.     #undef OnPlayerKeyStateChange
  1133. #else
  1134.     #define _ALS_OnPlayerKeyStateChange
  1135. #endif
  1136. #define OnPlayerKeyStateChange ELC_AC_OnPlayerKeyStateChange
  1137. forward ELC_AC_OnPlayerKeyStateChange(playerid, newkeys, oldkeys);
  1138. #endif
  1139. //ALS_OFF_SYSTEME ----------------
  1140. /*----------------------------------------------------------------------------*/
  1141. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  1142. {
  1143.     CheatPlayerInfo[playerid][elc_PlayerEnterVeh]=vehicleid;
  1144.     #if defined INCLUDE_BASE_MODE
  1145.     return CallLocalFunction("ELC_AC_OnPlayerEnterVehicle", "ddd",playerid, vehicleid, ispassenger);
  1146.     #else
  1147.     return 1;
  1148.     #endif
  1149. }
  1150. /*----------------------------------------------------------------------------*/
  1151. #if defined INCLUDE_BASE_MODE
  1152. //ALS_SYSTEME --------------------
  1153. #if defined _ALS_OnPlayerEnterVehicle
  1154.     #undef OnPlayerEnterVehicle
  1155. #else
  1156.     #define _ALS_OnPlayerEnterVehicle
  1157. #endif
  1158. #define OnPlayerEnterVehicle ELC_AC_OnPlayerEnterVehicle
  1159. forward ELC_AC_OnPlayerEnterVehicle(playerid, vehicleid, ispassenger);
  1160. #endif
  1161. //ALS_OFF_SYSTEME ----------------
  1162. /*----------------------------------------------------------------------------*/
  1163. public OnPlayerStateChange(playerid, newstate, oldstate)
  1164. {
  1165.     if(newstate == PLAYER_STATE_DRIVER)
  1166.     {
  1167.         if(CheatPlayerInfo[playerid][elc_AntiVehicleTelportHack]>=1&&CheatPlayerInfo[playerid][elc_PlayerEnterVeh]!=GetPlayerVehicleID(playerid))
  1168.         {
  1169.             CheatPlayerInfo[playerid][elc_PlayerEnterTime] = GetTickCount();
  1170.             new elc_vehicleid=GetPlayerVehicleID(playerid);
  1171.             if(elc_vehicleid!=0)
  1172.             {
  1173.                 CheatPlayerInfo[playerid][elc_PlayerEnterVeh]=elc_vehicleid;
  1174.                 CheatVehicleInfo[elc_vehicleid][elc_vStatut]=1;
  1175.             }
  1176.         }
  1177.     }
  1178.     else if(oldstate == PLAYER_STATE_DRIVER)
  1179.     {//220 def
  1180.         if(CheatPlayerInfo[playerid][elc_PlayerEnterTime]!=0&&(GetTickCount()-CheatPlayerInfo[playerid][elc_PlayerEnterTime]) < 220)//player entered and exited vehicle faster than 220 ms.
  1181.         {
  1182.             //if(CheatPlayerInfo[playerid][elc_PlayerEnterVeh]!=0)SetVehiclePos(CheatPlayerInfo[playerid][elc_PlayerEnterVeh], CheatVehicleInfo[CheatPlayerInfo[playerid][elc_PlayerEnterVeh]][elc_vX], CheatVehicleInfo[CheatPlayerInfo[playerid][elc_PlayerEnterVeh]][elc_vY], CheatVehicleInfo[CheatPlayerInfo[playerid][elc_PlayerEnterVeh]][elc_vZ]);
  1183.             ELC_SendCheatWarning(playerid,9);
  1184.         }
  1185.         CheatPlayerInfo[playerid][elc_PlayerEnterTime]=0;
  1186.     }
  1187.     #if defined INCLUDE_BASE_MODE
  1188.     return CallLocalFunction("ELC_AC_OnPlayerStateChange", "ddd",playerid, newstate, oldstate);
  1189.     #else
  1190.     return 1;
  1191.     #endif
  1192. }
  1193. /*----------------------------------------------------------------------------*/
  1194. #if defined INCLUDE_BASE_MODE
  1195. //ALS_SYSTEME --------------------
  1196. #if defined _ALS_OnPlayerStateChange
  1197.     #undef OnPlayerStateChange
  1198. #else
  1199.     #define _ALS_OnPlayerStateChange
  1200. #endif
  1201. #define OnPlayerStateChange ELC_AC_OnPlayerStateChange
  1202. forward ELC_AC_OnPlayerStateChange(playerid, newstate, oldstate);
  1203. #endif
  1204. //ALS_OFF_SYSTEME ----------------
  1205. /*----------------------------------------------------------------------------*/
  1206. public OnUnoccupiedVehicleUpdate(vehicleid, playerid, passenger_seat)
  1207. {
  1208.     if (CheatPlayerInfo[playerid][elc_AntiVehicleTelportHack]==2&&ELC_AC_IsCreatedVehicle(vehicleid))
  1209.     {
  1210.         new Float:elc_oldposx, Float:elc_oldposy, Float:elc_oldposz;
  1211.         new Float:elc_tempposx, Float:elc_tempposy, Float:elc_tempposz;
  1212.         GetVehiclePos(vehicleid, elc_oldposx, elc_oldposy, elc_oldposz);
  1213.         elc_tempposx = (elc_oldposx -CheatVehicleInfo[vehicleid][elc_vX]);
  1214.         elc_tempposy = (elc_oldposy -CheatVehicleInfo[vehicleid][elc_vY]);
  1215.         elc_tempposz = (elc_oldposz -CheatVehicleInfo[vehicleid][elc_vZ]);
  1216.         if(CheatVehicleInfo[vehicleid][elc_vStatut]==1||CheatVehicleInfo[vehicleid][elc_vX]==0 || ((elc_tempposx < MAX_VEHICLE_DISTANCE_UCM) && (elc_tempposx > -MAX_VEHICLE_DISTANCE_UCM)) && ((elc_tempposy < MAX_VEHICLE_DISTANCE_UCM) && (elc_tempposy > -MAX_VEHICLE_DISTANCE_UCM)) && ((elc_tempposz < MAX_VEHICLE_DISTANCE_UCM) && (elc_tempposz > -MAX_VEHICLE_DISTANCE_UCM)))
  1217.         {
  1218.             /*if(CheatVehicleInfo[vehicleid][elc_vStatut]==1)
  1219.             {
  1220.                 new Float:vvelo[3];
  1221.                 GetVehicleVelocity(vehicleid,vvelo[0],vvelo[1],vvelo[2]);
  1222.                 if(vvelo[0]!=0||vvelo[1]!=0||vvelo[2]!=0)return 1;
  1223.             }*/
  1224.             if(CheatVehicleInfo[vehicleid][elc_vStatut]==1)CheatVehicleInfo[vehicleid][elc_vStatut]=0;
  1225.             CheatVehicleInfo[vehicleid][elc_vX]=elc_oldposx;
  1226.             CheatVehicleInfo[vehicleid][elc_vY]=elc_oldposy;
  1227.             CheatVehicleInfo[vehicleid][elc_vZ]=elc_oldposz;
  1228.             GetVehicleZAngle(vehicleid,CheatVehicleInfo[vehicleid][elc_vAngle]);
  1229.         }
  1230.         else if(playerid!=INVALID_PLAYER_ID)// && IsPlayerInRangeOfPoint(playerid,MAX_VEHICLE_DISTANCE_UCM,oldposx,oldposy,oldposz)
  1231.         {
  1232.             if(CheatVehicleInfo[vehicleid][elc_vPossiblePlayerHack]==0)
  1233.             {
  1234.                 CheatVehicleInfo[vehicleid][elc_vPossiblePlayerHack]=playerid+1;
  1235.                 SaveTime(CheatVehicleInfo[vehicleid][elc_vPossibleHackTime],GetTickCount());
  1236.                 CheatPlayerInfo[playerid][elc_PossibleVehicleHack]=vehicleid;
  1237.             }
  1238.             else if(CheatVehicleInfo[vehicleid][elc_vPossiblePlayerHack]!=playerid+1)
  1239.             {
  1240.                 CheatVehicleInfo[vehicleid][elc_vPossiblePlayerHack]=0;
  1241.                 CheatVehicleInfo[vehicleid][elc_vPossibleHackTime]=0;
  1242.                 if(IsPlayerConnected(CheatVehicleInfo[vehicleid][elc_vPossiblePlayerHack]-1))CheatPlayerInfo[CheatVehicleInfo[vehicleid][elc_vPossiblePlayerHack]-1][elc_PossibleVehicleHack]=0;
  1243.                 SetVehiclePos(vehicleid, CheatVehicleInfo[vehicleid][elc_vX], CheatVehicleInfo[vehicleid][elc_vY], CheatVehicleInfo[vehicleid][elc_vZ]);
  1244.                 SetVehicleZAngle(vehicleid,CheatVehicleInfo[vehicleid][elc_vAngle]);
  1245.             }
  1246.         }
  1247.     }
  1248.     #if defined INCLUDE_BASE_MODE
  1249.     return CallLocalFunction("ELC_AC_OnUnoccupiedVehicle", "ddd",vehicleid, playerid, passenger_seat);
  1250.     #else
  1251.     return 1;
  1252.     #endif
  1253. }
  1254.  
  1255. /*----------------------------------------------------------------------------*/
  1256. #if defined INCLUDE_BASE_MODE
  1257. //ALS_SYSTEME --------------------
  1258. #if defined _ALS_OnUnoccupiedVehicleUpdate
  1259.     #undef OnUnoccupiedVehicleUpdate
  1260. #else
  1261.     #define _ALS_OnUnoccupiedVehicleUpdate
  1262. #endif
  1263. #define OnUnoccupiedVehicleUpdate ELC_AC_OnUnoccupiedVehicle
  1264. forward ELC_AC_OnUnoccupiedVehicle(vehicleid, playerid, passenger_seat);
  1265. #endif
  1266. //ALS_OFF_SYSTEME ----------------
  1267. /*----------------------------------------------------------------------------*/
  1268. public OnVehicleSpawn(vehicleid)
  1269. {
  1270.     GetVehiclePos(vehicleid, CheatVehicleInfo[vehicleid][elc_vX], CheatVehicleInfo[vehicleid][elc_vY], CheatVehicleInfo[vehicleid][elc_vZ]);
  1271.     #if defined INCLUDE_BASE_MODE
  1272.     return CallLocalFunction("ELC_AC_OnVehicleSpawn", "d",vehicleid);
  1273.     #else
  1274.     return 1;
  1275.     #endif
  1276. }
  1277. /*----------------------------------------------------------------------------*/
  1278. #if defined INCLUDE_BASE_MODE
  1279. //ALS_SYSTEME --------------------
  1280. #if defined _ALS_OnVehicleSpawn
  1281.     #undef OnVehicleSpawn
  1282. #else
  1283.     #define _ALS_OnVehicleSpawn
  1284. #endif
  1285. #define OnVehicleSpawn ELC_AC_OnVehicleSpawn
  1286. forward ELC_AC_OnVehicleSpawn(vehicleid);
  1287. #endif
  1288. //ALS_OFF_SYSTEME ----------------
  1289. /*----------------------------------------------------------------------------*/
  1290. public OnVehicleDeath(vehicleid)
  1291. {
  1292.     CheatVehicleInfo[vehicleid][elc_vX]=0;
  1293.     #if defined INCLUDE_BASE_MODE
  1294.     return CallLocalFunction("ELC_AC_OnVehicleDeath", "d",vehicleid);
  1295.     #else
  1296.     return 1;
  1297.     #endif
  1298. }
  1299. /*----------------------------------------------------------------------------*/
  1300. #if defined INCLUDE_BASE_MODE
  1301. //ALS_SYSTEME --------------------
  1302. #if defined _ALS_OnVehicleDeath
  1303.     #undef OnVehicleDeath
  1304. #else
  1305.     #define _ALS_OnVehicleDeath
  1306. #endif
  1307. #define OnVehicleDeath ELC_AC_OnVehicleDeath
  1308. forward ELC_AC_OnVehicleDeath(vehicleid);
  1309. #endif
  1310. //ALS_OFF_SYSTEME ----------------
  1311. /*----------------------------------------------------------------------------*/
  1312. public ELC_AC_EnablePlayerCheatID(playerid,cheatid,enable)
  1313. {
  1314.     if(cheatid==1)//Money
  1315.     {
  1316.         if(enable==1)
  1317.         {
  1318.             CheatPlayerInfo[playerid][elc_AntiMoneyHack]=1;
  1319.         }
  1320.         else CheatPlayerInfo[playerid][elc_AntiMoneyHack]=0;
  1321.     }
  1322.     else if(cheatid==2)//Weapon
  1323.     {
  1324.         if(enable==1)
  1325.         {
  1326.             for(new i = 0; i <13; i++)
  1327.             {
  1328.                 GetPlayerWeaponData(playerid,i,CheatPlayerInfo[playerid][elc_weapon][i],CheatPlayerInfo[playerid][elc_ammo][i]);
  1329.             }
  1330.             CheatPlayerInfo[playerid][elc_AntiWeaponHack]=1;
  1331.         }
  1332.         else CheatPlayerInfo[playerid][elc_AntiWeaponHack]=0;
  1333.     }
  1334.     else if(cheatid==3)//AirBreak/SpeedHack
  1335.     {
  1336.         if(enable==1) CheatPlayerInfo[playerid][elc_AntiSpeedHack]=1;
  1337.         else CheatPlayerInfo[playerid][elc_AntiSpeedHack]=0;
  1338.     }
  1339.     else if(cheatid==4)//Anti-Teleport
  1340.     {
  1341.         if(enable==1)
  1342.         {
  1343.             GetPlayerPos(playerid,CheatPlayerInfo[playerid][elc_posx],CheatPlayerInfo[playerid][elc_posy],CheatPlayerInfo[playerid][elc_posz]);
  1344.             CheatPlayerInfo[playerid][elc_AntiTeleportHack]=1;
  1345.         }
  1346.         else CheatPlayerInfo[playerid][elc_AntiTeleportHack]=0;
  1347.     }
  1348.     else if(cheatid==5)//Anti-Ammo_Block
  1349.     {
  1350.         if(enable==1)
  1351.         {
  1352.             CheatPlayerInfo[playerid][elc_tickfire]=0;
  1353.             CheatPlayerInfo[playerid][elc_ammoFire]=0;
  1354.             CheatPlayerInfo[playerid][elc_weaponFire]=0;
  1355.             CheatPlayerInfo[playerid][elc_AntiAmmoBlockHack]=1;
  1356.         }
  1357.         else CheatPlayerInfo[playerid][elc_AntiAmmoBlockHack]=0;
  1358.     }
  1359.     else if(cheatid==6)//Anti_HEALTH_HACK
  1360.     {
  1361.         if(enable==1)
  1362.         {
  1363.             CheatPlayerInfo[playerid][elc_AntiHealthHack]=1;
  1364.         }
  1365.         else CheatPlayerInfo[playerid][elc_AntiHealthHack]=0;
  1366.     }
  1367.     else if(cheatid==7)//Anti_ARMOUR_HACK
  1368.     {
  1369.         if(enable==1)
  1370.         {
  1371.             CheatPlayerInfo[playerid][elc_AntiArmourHack]=1;
  1372.         }
  1373.         else CheatPlayerInfo[playerid][elc_AntiArmourHack]=0;
  1374.     }
  1375.     return 1;
  1376. }
  1377. /*----------------------------------------------------------------------------*/
  1378. #define EnablePlayerCheatID ELC_AC_EnablePlayerCheatID
  1379. /*----------------------------------------------------------------------------*/
  1380. #if defined INCLUDE_BASE_MODE
  1381. #else
  1382. public OnPlayerCheat(playerid, cheatid, source[])
  1383. {
  1384.     new elc_str[120],elc_reason[60],elc_name[MAX_PLAYER_NAME];
  1385.     GetPlayerName(playerid, elc_name, sizeof(elc_name));
  1386.     format(elc_str,sizeof(elc_str),"( ! ) %s has been cheated for: ",elc_name);
  1387.     switch(cheatid)
  1388.     {
  1389.         case 1: format(elc_reason,sizeof(elc_reason),"Money Cheat ( %s $ )",source);
  1390.         case 2: format(elc_reason,sizeof(elc_reason),"Weapon Cheat ( %s )",source);
  1391.         case 3: format(elc_reason,sizeof(elc_reason),"Ammo Cheat ( %s Bullets )",source);
  1392.         case 4: format(elc_reason,sizeof(elc_reason),"Ammo Block Cheat");
  1393.         case 5: format(elc_reason,sizeof(elc_reason),"Speed Cheat");
  1394.         case 6: format(elc_reason,sizeof(elc_reason),"Airbreak/Teleport Cheat");
  1395.         case 7: format(elc_reason,sizeof(elc_reason),"Health Cheat");
  1396.         case 8: format(elc_reason,sizeof(elc_reason),"Armour Cheat");
  1397.         case 9: format(elc_reason,sizeof(elc_reason),"Vehicle Spawn Cheat");
  1398.         case 10: format(elc_reason,sizeof(elc_reason),"Vehicle Crasher");
  1399.     }
  1400.     strcat(elc_str,elc_reason);
  1401.     SendClientMessageToAll(0xBD0000FF,elc_str);
  1402.     return 1;
  1403. }
  1404. #endif
  1405. /*----------------------------------------------------------------------------*/
  1406. public RemovePlayerWeapon(playerid, weaponid)
  1407. {
  1408.     if(CheatPlayerInfo[playerid][elc_AntiWeaponHack]==1)CheatPlayerInfo[playerid][elc_AntiWeaponHack]=2;
  1409.     new WeaponsID[13];
  1410.     new AmmoID[13];
  1411.     new WepUse=GetPlayerWeapon(playerid);
  1412.     new slotremove=elc_GetWeaponSlot(weaponid);
  1413.     for(new slot = 0; slot <13; slot++)
  1414.     {
  1415.         if(slotremove!=slot)GetPlayerWeaponData(playerid, slot, WeaponsID[slot], AmmoID[slot]);
  1416.     }
  1417.     initial_ResetPlayerWeapons(playerid);
  1418.     for(new slot = 0; slot <13; slot++)if(WeaponsID[slot]!=0 && AmmoID[slot] != 0)initial_GivePlayerWeapon(playerid, WeaponsID[slot], AmmoID[slot]);
  1419.     SetPlayerArmedWeapon(playerid,WepUse);
  1420.     if(CheatPlayerInfo[playerid][elc_AntiWeaponHack]==2)CheatPlayerInfo[playerid][elc_AntiWeaponHack]=1;
  1421.     return 1;
  1422. }
  1423. /*----------------------------------------------------------------------------*/
  1424. public OnVehicleMod(playerid, vehicleid, componentid)
  1425. {
  1426.     switch(componentid)
  1427.     {
  1428.         case 1008..1010: if(ELC_IsPlayerInInvalidNosVehicle(playerid)) RemoveVehicleComponent(vehicleid, componentid);
  1429.     }
  1430.     if(!ELC_IsComponentidCompatible(GetVehicleModel(vehicleid), componentid))
  1431.     {
  1432.         RemoveVehicleComponent(vehicleid, componentid);
  1433.         ELC_SendCheatWarning(playerid,10);
  1434.     }
  1435.     #if defined INCLUDE_BASE_MODE
  1436.     return CallLocalFunction("ELC_AC_OnVehicleMod", "ddd",playerid, vehicleid, componentid);
  1437.     #else
  1438.     return 1;
  1439.     #endif
  1440. }
  1441. /*----------------------------------------------------------------------------*/
  1442. #if defined INCLUDE_BASE_MODE
  1443. //ALS_SYSTEME --------------------
  1444. #if defined _ALS_OnVehicleMod
  1445.     #undef OnVehicleMod
  1446. #else
  1447.     #define _ALS_OnVehicleMod
  1448. #endif
  1449. #define OnVehicleMod ELC_AC_OnVehicleMod
  1450. forward ELC_AC_OnVehicleMod(playerid, vehicleid, componentid);
  1451. #endif
  1452. //ALS_OFF_SYSTEME ----------------
  1453. /*----------------------------------------------------------------------------*/
  1454. stock ELC_IsPlayerInInvalidNosVehicle(playerid)
  1455. {
  1456.     new elc_vehicleid = GetPlayerVehicleID(playerid);
  1457.     #define MAX_INVALID_NOS_VEHICLES 52
  1458.     new ELC_InvalidNosVehicles[MAX_INVALID_NOS_VEHICLES] =
  1459.     {
  1460.         581,523,462,521,463,522,461,448,468,586,417,425,469,487,512,520,563,593,
  1461.         509,481,510,472,473,493,520,595,484,430,453,432,476,497,513,533,577,
  1462.         452,446,447,454,590,569,537,538,570,449,519,460,488,511,519,548,592
  1463.     };
  1464.     if(IsPlayerInAnyVehicle(playerid))
  1465.     {
  1466.         for(new i = 0; i < MAX_INVALID_NOS_VEHICLES; i++)
  1467.         {
  1468.             if(GetVehicleModel(elc_vehicleid) == ELC_InvalidNosVehicles[i]) return true;
  1469.         }
  1470.     }
  1471.     return false;
  1472. }
  1473. /*----------------------------------------------------------------------------*/
  1474. stock ELC_IsComponentidCompatible(modelid, componentid)
  1475. {
  1476.     if(componentid == 1025 || componentid == 1073 || componentid == 1074 || componentid == 1075 || componentid == 1076 ||
  1477.          componentid == 1077 || componentid == 1078 || componentid == 1079 || componentid == 1080 || componentid == 1081 ||
  1478.          componentid == 1082 || componentid == 1083 || componentid == 1084 || componentid == 1085 || componentid == 1096 ||
  1479.          componentid == 1097 || componentid == 1098 || componentid == 1087 || componentid == 1086)
  1480.          return true;
  1481.  
  1482.     switch (modelid)
  1483.     {
  1484.         case 400: return (componentid == 1020 || componentid == 1021 || componentid == 1019 || componentid == 1018 || componentid == 1013 || componentid == 1024 || componentid == 1008 || componentid == 1009 || componentid == 1010);
  1485.         case 401: return (componentid == 1005 || componentid == 1004 || componentid == 1142 || componentid == 1143 || componentid == 1144 || componentid == 114 || componentid == 1020 || componentid == 1019 || componentid == 1013 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1006 || componentid == 1001 || componentid == 1003 || componentid == 1017 || componentid == 1007);
  1486.         case 402: return (componentid == 1009 || componentid == 1009 || componentid == 1010);
  1487.         case 404: return (componentid == 1020 || componentid == 1021 || componentid == 1019 || componentid == 1013 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1002 || componentid == 1016 || componentid == 1000 || componentid == 1017 || componentid == 1007);
  1488.         case 405: return (componentid == 1020 || componentid == 1021 || componentid == 1019 || componentid == 1018 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1001 || componentid == 1014 || componentid == 1023 || componentid == 1000);
  1489.         case 409: return (componentid == 1009);
  1490.         case 410: return (componentid == 1019 || componentid == 1021 || componentid == 1020 || componentid == 1013 || componentid == 1024 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1001 || componentid == 1023 || componentid == 1003 || componentid == 1017 || componentid == 1007);
  1491.         case 411: return (componentid == 1008 || componentid == 1009 || componentid == 1010);
  1492.         case 412: return (componentid == 1008 || componentid == 1009 || componentid == 1010);
  1493.         case 415: return (componentid == 1019 || componentid == 1018 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1001 || componentid == 1023 || componentid == 1003 || componentid == 1017 || componentid == 1007);
  1494.         case 418: return (componentid == 1020 || componentid == 1021 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1006 || componentid == 1002 || componentid == 1016);
  1495.         case 419: return (componentid == 1008 || componentid == 1009 || componentid == 1010);
  1496.         case 420: return (componentid == 1005 || componentid == 1004 || componentid == 1021 || componentid == 1019 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1001 || componentid == 1003);
  1497.         case 421: return (componentid == 1020 || componentid == 1021 || componentid == 1019 || componentid == 1018 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1014 || componentid == 1023 || componentid == 1016 || componentid == 1000);
  1498.         case 422: return (componentid == 1020 || componentid == 1021 || componentid == 1019 || componentid == 1013 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1017 || componentid == 1007);
  1499.         case 426: return (componentid == 1005 || componentid == 1004 || componentid == 1021 || componentid == 1019 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1006 || componentid == 1001 || componentid == 1003);
  1500.         case 429: return (componentid == 1008 || componentid == 1009 || componentid == 1010);
  1501.         case 436: return (componentid == 1020 || componentid == 1021 || componentid == 1022 || componentid == 1019 || componentid == 1013 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1006 || componentid == 1001 || componentid == 1003 || componentid == 1017 || componentid == 1007);
  1502.         case 438: return (componentid == 1008 || componentid == 1009 || componentid == 1010);
  1503.         case 439: return (componentid == 1003 || componentid == 1023 || componentid == 1001 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1017 || componentid == 1007 || componentid == 1142 || componentid == 1143 || componentid == 1144 || componentid == 1145 || componentid == 1013);
  1504.         case 442: return (componentid == 1008 || componentid == 1009 || componentid == 1010);
  1505.         case 445: return (componentid == 1008 || componentid == 1009 || componentid == 1010);
  1506.         case 451: return (componentid == 1008 || componentid == 1009 || componentid == 1010);
  1507.         case 458: return (componentid == 1008 || componentid == 1009 || componentid == 1010);
  1508.         case 466: return (componentid == 1008 || componentid == 1009 || componentid == 1010);
  1509.         case 467: return (componentid == 1008 || componentid == 1009 || componentid == 1010);
  1510.         case 474: return (componentid == 1008 || componentid == 1009 || componentid == 1010);
  1511.         case 475: return (componentid == 1008 || componentid == 1009 || componentid == 1010);
  1512.         case 477: return (componentid == 1020 || componentid == 1021 || componentid == 1019 || componentid == 1018 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1006 || componentid == 1017 || componentid == 1007);
  1513.         case 478: return (componentid == 1005 || componentid == 1004 || componentid == 1012 || componentid == 1020 || componentid == 1021 || componentid == 1022 || componentid == 1013 || componentid == 1024 || componentid == 1008 || componentid == 1009 || componentid == 1010);
  1514.         case 479: return (componentid == 1008 || componentid == 1009 || componentid == 1010);
  1515.         case 480: return (componentid == 1008 || componentid == 1009 || componentid == 1010);
  1516.         case 489: return (componentid == 1005 || componentid == 1004 || componentid == 1020 || componentid == 1019 || componentid == 1018 || componentid == 1013 || componentid == 1024 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1006 || componentid == 1002 || componentid == 1016 || componentid == 1000);
  1517.         case 491: return (componentid == 1142 || componentid == 1143 || componentid == 1144 || componentid == 1145 || componentid == 1020 || componentid == 1021 || componentid == 1019 || componentid == 1018 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1014 || componentid == 1023 || componentid == 1003 || componentid == 1017 || componentid == 1007);
  1518.         case 492: return (componentid == 1005 || componentid == 1004 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1006 || componentid == 1016 || componentid == 1000);
  1519.         case 496: return (componentid == 1006 || componentid == 1017 || componentid == 1007 || componentid == 1011 || componentid == 1019 || componentid == 1023 || componentid == 1001 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1003 || componentid == 1002 || componentid == 1142 || componentid == 1143 || componentid == 1020);
  1520.         case 500: return (componentid == 1020 || componentid == 1021 || componentid == 1019 || componentid == 1013 || componentid == 1024 || componentid == 1008 || componentid == 1009 || componentid == 1010);
  1521.         case 506: return (componentid == 1009);
  1522.         case 507: return (componentid == 1008 || componentid == 1009 || componentid == 1010);
  1523.         case 516: return (componentid == 1004 || componentid == 1020 || componentid == 1021 || componentid == 1019 || componentid == 1018 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1002 || componentid == 1015 || componentid == 1016 || componentid == 1000 || componentid == 1017 || componentid == 1007);
  1524.         case 517: return (componentid == 1142 || componentid == 1143 || componentid == 1144 || componentid == 1145 || componentid == 1020 || componentid == 1019 || componentid == 1018 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1002 || componentid == 1023 || componentid == 1016 || componentid == 1003 || componentid == 1017 || componentid == 1007);
  1525.         case 518: return (componentid == 1005 || componentid == 1142 || componentid == 1143 || componentid == 1144 || componentid == 1145 || componentid == 1020 || componentid == 1018 || componentid == 1013 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1006 || componentid == 1001 || componentid == 1023 || componentid == 1003 || componentid == 1017 || componentid == 1007);
  1526.         case 526: return (componentid == 1008 || componentid == 1009 || componentid == 1010);
  1527.         case 527: return (componentid == 1021 || componentid == 1020 || componentid == 1018 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1001 || componentid == 1014 || componentid == 1015 || componentid == 1017 || componentid == 1007);
  1528.         case 529: return (componentid == 1012 || componentid == 1011 || componentid == 1020 || componentid == 1019 || componentid == 1018 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1006 || componentid == 1001 || componentid == 1023 || componentid == 1003 || componentid == 1017 || componentid == 1007);
  1529.         case 533: return (componentid == 1008 || componentid == 1009 || componentid == 1010);
  1530.         case 534: return (componentid == 1126 || componentid == 1127 || componentid == 1179 || componentid == 1185 || componentid == 1100 || componentid == 1123 || componentid == 1125 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1180 || componentid == 1178 || componentid == 1101 || componentid == 1122 || componentid == 1124 || componentid == 1106);
  1531.         case 535: return (componentid == 1109 || componentid == 1110 || componentid == 1113 || componentid == 1114 || componentid == 1115 || componentid == 1116 || componentid == 1117 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1120 || componentid == 1118 || componentid == 1121 || componentid == 1119);
  1532.         case 536: return (componentid == 1104 || componentid == 1105 || componentid == 1182 || componentid == 1181 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1184 || componentid == 1183 || componentid == 1128 || componentid == 1103 || componentid == 1107 || componentid == 1108);
  1533.         case 540: return (componentid == 1004 || componentid == 1142 || componentid == 1143 || componentid == 1144 || componentid == 1145 || componentid == 1020 || componentid == 1019 || componentid == 1018 || componentid == 1024 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1006 || componentid == 1001 || componentid == 1023 || componentid == 1017 || componentid == 1007);
  1534.         case 541: return (componentid == 1008 || componentid == 1009 || componentid == 1010);
  1535.         case 542: return (componentid == 1144 || componentid == 1145 || componentid == 1020 || componentid == 1021 || componentid == 1019 || componentid == 1018 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1014 || componentid == 1015);
  1536.         case 545: return (componentid == 1008 || componentid == 1009 || componentid == 1010);
  1537.         case 546: return (componentid == 1004 || componentid == 1142 || componentid == 1143 || componentid == 1144 || componentid == 1145 || componentid == 1019 || componentid == 1018 || componentid == 1024 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1006 || componentid == 1002 || componentid == 1001 || componentid == 1023 || componentid == 1017 || componentid == 1007);
  1538.         case 547: return (componentid == 1142 || componentid == 1143 || componentid == 1020 || componentid == 1021 || componentid == 1019 || componentid == 1018 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1016 || componentid == 1003 || componentid == 1000);
  1539.         case 549: return (componentid == 1012 || componentid == 1011 || componentid == 1142 || componentid == 1143 || componentid == 1144 || componentid == 1145 || componentid == 1020 || componentid == 1019 || componentid == 1018 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1001 || componentid == 1023 || componentid == 1003 || componentid == 1017 || componentid == 1007);
  1540.         case 550: return (componentid == 1005 || componentid == 1004 || componentid == 1142 || componentid == 1143 || componentid == 1144 || componentid == 1145 || componentid == 1020 || componentid == 1019 || componentid == 1018 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1006 || componentid == 1001 || componentid == 1023 || componentid == 1003);
  1541.         case 551: return (componentid == 1005 || componentid == 1020 || componentid == 1021 || componentid == 1019 || componentid == 1018 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1006 || componentid == 1002 || componentid == 1023 || componentid == 1016 || componentid == 1003);
  1542.         case 555: return (componentid == 1008 || componentid == 1009 || componentid == 1010);
  1543.         case 558: return (componentid == 1092 || componentid == 1089 || componentid == 1166 || componentid == 1165 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1168 || componentid == 1167 || componentid == 1088 || componentid == 1091 || componentid == 1164 || componentid == 1163 || componentid == 1094 || componentid == 1090 || componentid == 1095 || componentid == 1093);
  1544.         case 559: return (componentid == 1065 || componentid == 1066 || componentid == 1160 || componentid == 1173 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1159 || componentid == 1161 || componentid == 1162 || componentid == 1158 || componentid == 1067 || componentid == 1068 || componentid == 1071 || componentid == 1069 || componentid == 1072 || componentid == 1070 || componentid == 1009);
  1545.         case 560: return (componentid == 1028 || componentid == 1029 || componentid == 1169 || componentid == 1170 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1141 || componentid == 1140 || componentid == 1032 || componentid == 1033 || componentid == 1138 || componentid == 1139 || componentid == 1027 || componentid == 1026 || componentid == 1030 || componentid == 1031);
  1546.         case 561: return (componentid == 1064 || componentid == 1059 || componentid == 1155 || componentid == 1157 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1154 || componentid == 1156 || componentid == 1055 || componentid == 1061 || componentid == 1058 || componentid == 1060 || componentid == 1062 || componentid == 1056 || componentid == 1063 || componentid == 1057);
  1547.         case 562: return (componentid == 1034 || componentid == 1037 || componentid == 1171 || componentid == 1172 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1149 || componentid == 1148 || componentid == 1038 || componentid == 1035 || componentid == 1147 || componentid == 1146 || componentid == 1040 || componentid == 1036 || componentid == 1041 || componentid == 1039);
  1548.         case 565: return (componentid == 1046 || componentid == 1045 || componentid == 1153 || componentid == 1152 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1150 || componentid == 1151 || componentid == 1054 || componentid == 1053 || componentid == 1049 || componentid == 1050 || componentid == 1051 || componentid == 1047 || componentid == 1052 || componentid == 1048);
  1549.         case 566: return (componentid == 1008 || componentid == 1009 || componentid == 1010);
  1550.         case 567: return (componentid == 1129 || componentid == 1132 || componentid == 1189 || componentid == 1188 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1187 || componentid == 1186 || componentid == 1130 || componentid == 1131 || componentid == 1102 || componentid == 1133);
  1551.         case 575: return (componentid == 1044 || componentid == 1043 || componentid == 1174 || componentid == 1175 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1176 || componentid == 1177 || componentid == 1099 || componentid == 1042);
  1552.         case 576: return (componentid == 1136 || componentid == 1135 || componentid == 1191 || componentid == 1190 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1192 || componentid == 1193 || componentid == 1137 || componentid == 1134);
  1553.         case 579: return (componentid == 1008 || componentid == 1009 || componentid == 1010);
  1554.         case 580: return (componentid == 1020 || componentid == 1018 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1006 || componentid == 1001 || componentid == 1023 || componentid == 1017 || componentid == 1007);
  1555.         case 585: return (componentid == 1142 || componentid == 1143 || componentid == 1144 || componentid == 1145 || componentid == 1020 || componentid == 1019 || componentid == 1018 || componentid == 1013 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1006 || componentid == 1001 || componentid == 1023 || componentid == 1003 || componentid == 1017 || componentid == 1007);
  1556.         case 587: return (componentid == 1008 || componentid == 1009 || componentid == 1010);
  1557.         case 589: return (componentid == 1005 || componentid == 1004 || componentid == 1144 || componentid == 1145 || componentid == 1020 || componentid == 1018 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1024 || componentid == 1013 || componentid == 1006 || componentid == 1016 || componentid == 1000 || componentid == 1017 || componentid == 1007);
  1558.         case 600: return (componentid == 1005 || componentid == 1004 || componentid == 1020 || componentid == 1022 || componentid == 1018 || componentid == 1013 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1006 || componentid == 1017 || componentid == 1007);
  1559.         case 602: return (componentid == 1008 || componentid == 1009 || componentid == 1010);
  1560.         case 603: return (componentid == 1144 || componentid == 1145 || componentid == 1142 || componentid == 1143 || componentid == 1020 || componentid == 1019 || componentid == 1018 || componentid == 1024 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1006 || componentid == 1001 || componentid == 1023 || componentid == 1017 || componentid == 1007);
  1561.     }
  1562.     return false;
  1563. }
  1564. /*----------------------------------------------------------------------------*/
  1565. stock ELC_SendCheatWarning(playerid,elc_type,xelc_str[]=" ")
  1566. {
  1567.     new elc_str[60];
  1568.     if(!strlen(xelc_str))format(elc_str,sizeof(elc_str)," ");
  1569.     else format(elc_str,sizeof(elc_str),"%s",xelc_str);
  1570.     CallRemoteFunction("OnPlayerCheat", "dds", playerid,elc_type,elc_str);
  1571. }
Tags: ac anticheat
Add Comment
Please, Sign In to add comment