Advertisement
Guest User

Untitled

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