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