View difference between Paste ID: g7TB0aX7 and zHRLv4v0
SHOW: | | - or go back to the newest paste.
1
/*
2
////////////////////////////////////////////////////////////
3
//========================================================//
4
//== New Player Callbacks include made by BigETI © 2011 ==//
5
//========================================================//
6
//== You are not allowed to edit this include ============//
7
//== and/or release it without my permissions! ===========//
8
//========================================================//
9
//== File name: ncbs.inc =================================//
10
//== Autor: Ethem Kurt © =================================//
11-
//== Release Date: 27.09.2011 ============================//
11+
//== Release Date: 29.10.2011 ============================//
12-
//== Version: V1.4 =======================================//
12+
//== Version: V1.5 =======================================//
13-
//== Lines: 701 ==========================================//
13+
//== Lines: 874 ==========================================//
14-
//== File size: 28,1 KB ==================================//
14+
//== File size: 39 KB ====================================//
15
//========================================================//
16
////////////////////////////////////////////////////////////
17
18
||=====================================================================================================================================================||
19
||	IMPORTANT: Define FILTERSCRIPT on top of your script to verify if you are yousing a filterscript or a gamemode!                                    ||
20
||	If you want to call the callbacks at another scripts, so you have to use ncbs_forwards.inc at another scripts to make the callbacks usable there.  ||
21
||=====================================================================================================================================================||
22
*/
23
24
//Do not edit those things below!
25
#include <a_samp>
26
#if defined _BIGETI_NEW_PLAYER_CALLBACKS
27
	#endinput
28
#endif
29
#define	_BIGETI_NEW_PLAYER_CALLBACKS
30
#if defined _BIGETI_NPCBS_FORWARDS
31
	#error Do not use ncbs.inc and ncbs_forwards.inc in one script.
32
	#endinput
33
#endif
34
#include <ncbs_defines>
35
#pragma library					ncbs
36
#define MAX_WEAPON_SLOTS		13
37
#define INVALID_WEAPON_SLOT_ID	-1
38
#if defined USE_PLAYER_CALLBACKS
39
enum CallBack_Infos
40
{
41
	nCallBack_VehicleID,
42
	nCallBack_VehicleSeat,
43
	nCallBack_Skin,
44
	nCallBack_HoldWeapon,
45
	nCallBack_WeaponState,
46
	nCallBack_Weapon[MAX_WEAPON_SLOTS],
47
	nCallBack_Ammo[MAX_WEAPON_SLOTS],
48
	nCallBack_Money,
49
	Float:nCallBack_Health,
50
	Float:nCallBack_Armour,
51
	nCallBack_Animation,
52
	nCallBack_Target,
53
	nCallBack_SpecialAction,
54
	nCallBack_KeyY,
55
	nCallBack_KeyX,
56
	Float:nCallBack_X,
57
	Float:nCallBack_Y,
58
	Float:nCallBack_Z,
59
	Float:nCallBack_VehicleHealth,
60
	bool:nCallBack_KickedBanned,
61
	nCallBack_OPUTime,
62
};
63
new pCallBack_Info[MAX_PLAYERS][CallBack_Infos], OPC_CallBack, OPDC_CallBack, OPSC_CallBack, OPU_CallBack
64
	#if defined CB_OnPlayerEnteredVehicle
65
, OPEnV_CallBack
66
	#endif
67
	#if defined CB_OnPlayerExitedVehicle
68
, OPExV_CallBack
69
	#endif
70
	#if defined CB_OnPlayerSkinChange
71
, OPSkC_CallBack
72
	#endif
73
	#if defined CB_OnPlayerHoldWeaponChange
74
, OPHWC_CallBack
75
	#endif
76
	#if defined CB_OnPlayerWeaponStateChange
77
, OPWSC_CallBack
78
	#endif
79
	#if defined CB_OnPlayerWeaponDataChange
80
, OPWDC_CallBack
81
	#endif
82
	#if defined CB_OnPlayerAmmoDataChange
83
, OPADC_CallBack
84
	#endif
85
	#if defined CB_OnPlayerMoneyChange
86
, OPMC_CallBack
87
	#endif
88
	#if defined CB_OnPlayerHealthChange
89
, OPHC_CallBack
90
	#endif
91
	#if defined CB_OnPlayerArmourChange
92
, OPAC_CallBack
93
	#endif
94
	#if defined CB_OnPlayerAnimationIndexChange
95
, OPAIC_CallBack
96
	#endif
97
	#if defined CB_OnPlayerTargetPlayer
98
, OPTP_CallBack
99
	#endif
100
	#if defined CB_OnPlayerSpecialActionChange
101
, OPSAC_CallBack
102
	#endif
103
	#if defined CB_OnPlayerAnalogKeysChange
104
, OPAKC_CallBack
105
	#endif
106
	#if defined CB_OnPlayerXYZChange
107-
new pCallBack_Info[MAX_PLAYERS][CallBack_Infos], OPC_CallBack, OPDC_CallBack, OPSC_CallBack, OPU_CallBack;
107+
, OPXYZC_CallBack
108
	#endif
109
	#if defined CB_OnPlayerVehicleHealthChange
110
, OPVHC_CallBack
111
	#endif
112-
stock GetWeaponSlot_ETI(weaponid)
112+
113
, OPVWC_CallBack
114
	#endif
115
;
116
#endif
117
#if defined USE_PVAR_CALLBACKS
118
	#if defined CB_OnPVarDelete
119
new OPVarD_CallBack;
120
	#endif
121
	#if defined CB_OnPVarCreate
122
new OPVarC_CallBack;
123
	#endif
124
	#if defined CB_OnPVarTypeChange
125
new OPVarTC_CallBack;
126
	#endif
127
	#if defined CB_OnPVarIntChange
128
new OPVarIC_CallBack;
129
	#endif
130
	#if defined CB_OnPVarStringChange
131
new OPVarSC_CallBack;
132
	#endif
133
	#if defined CB_OnPVarFloatChange
134-
	#if defined FILTERSCRIPT
134+
new OPVarFC_CallBack;
135
	#endif
136
#endif
137
#if defined USE_PLAYER_CALLBACKS
138
	#define ETI_ReturnOPC(%0) ((OPC_CallBack != -1) ? CallLocalFunction("ETI_OnPlayerConnect", %0) : 1)
139
	#define ETI_ReturnOPDC(%0) ((OPDC_CallBack != -1) ? CallLocalFunction("ETI_OnPlayerDisconnect", %0) : 1)
140
	#define ETI_ReturnOPSC(%0) ((OPSC_CallBack != -1) ? CallLocalFunction("ETI_OnPlayerStateChange", %0) : 1)
141
	#define ETI_ReturnOPU(%0) ((OPU_CallBack != -1) ? CallLocalFunction("ETI_OnPlayerUpdate", %0) : 1)
142
#endif
143
#if defined FILTERSCRIPT
144
public OnFilterScriptInit()
145-
	#if defined FILTERSCRIPT
145+
146
#else
147
public OnGameModeInit()
148
{
149
#endif
150
#if defined USE_PLAYER_CALLBACKS
151-
	#if defined FILTERSCRIPT
151+
152-
		#if defined _ALS_OnFilterScriptInit
152+
153-
			#undef OnFilterScriptInit
153+
154
	OPU_CallBack = funcidx("OnPlayerUpdate");
155-
			#define _ALS_OnFilterScriptInit
155+
156
	OPEnV_CallBack = funcidx("OnPlayerEnteredVehicle");
157-
		#define OnFilterScriptInit ETI_OnFilterScriptInit
157+
158
	#if defined CB_OnPlayerExitedVehicle
159
	OPExV_CallBack = funcidx("OnPlayerExitedVehicle");
160-
		#if defined _ALS_OnGameModeInit
160+
161-
			#undef OnGameModeInit
161+
162
	OPSkC_CallBack = funcidx("OnPlayerSkinChange");
163-
			#define _ALS_OnGameModeInit
163+
164
	#if defined CB_OnPlayerHoldWeaponChange
165-
		#define OnGameModeInit ETI_OnGameModeInit
165+
	OPHWC_CallBack = funcidx("OnPlayerHoldWeaponChange");
166
	#endif
167
	#if defined CB_OnPlayerWeaponStateChange
168
	OPWSC_CallBack = funcidx("OnPlayerWeaponStateChange");
169
	#endif
170
	#if defined CB_OnPlayerWeaponDataChange
171
	OPWDC_CallBack = funcidx("OnPlayerWeaponDataChange");
172
	#endif
173
	#if defined CB_OnPlayerAmmoDataChange
174
	OPADC_CallBack = funcidx("OnPlayerAmmoDataChange");
175
	#endif
176
	#if defined CB_OnPlayerMoneyChange
177
	OPMC_CallBack = funcidx("OnPlayerMoneyChange");
178
	#endif
179
	#if defined CB_OnPlayerHealthChange
180
	OPHC_CallBack = funcidx("OnPlayerHealthChange");
181
	#endif
182
	#if defined CB_OnPlayerArmourChange
183
	OPAC_CallBack = funcidx("OnPlayerArmourChange");
184
	#endif
185
	#if defined CB_OnPlayerAnimationIndexChange
186
	OPAIC_CallBack = funcidx("OnPlayerAnimationIndexChange");
187
	#endif
188
	#if defined CB_OnPlayerTargetPlayer
189
	OPTP_CallBack = funcidx("OnPlayerTargetPlayer");
190
	#endif
191
	#if defined CB_OnPlayerSpecialActionChange
192
	OPSAC_CallBack = funcidx("OnPlayerSpecialActionChange");
193
	#endif
194
	#if defined CB_OnPlayerAnalogKeysChange
195
	OPAKC_CallBack = funcidx("OnPlayerAnalogKeysChange");
196
	#endif
197
	#if defined CB_OnPlayerXYZChange
198
	OPXYZC_CallBack = funcidx("OnPlayerXYZChange");
199
	#endif
200
	#if defined CB_OnPlayerVehicleHealthChange
201
	OPVHC_CallBack = funcidx("OnPlayerVehicleHealthChange");
202
	#endif
203
	#if defined CB_OnPlayerVirtualWorldChange
204
	OPVWC_CallBack = funcidx("OnPlayerVirtualWorldChange");
205
	#endif
206
#endif
207
#if defined USE_PVAR_CALLBACKS
208
	#if defined CB_OnPVarDelete
209
	OPVarD_CallBack = funcidx("OnPVarDelete");
210
	#endif
211
	#if defined CB_OnPVarCreate
212
	OPVarC_CallBack = funcidx("OnPVarCreate");
213
	#endif
214
	#if defined CB_OnPVarTypeChange
215
	OPVarTC_CallBack = funcidx("OnPVarTypeChange");
216
	#endif
217
	#if defined CB_OnPVarIntChange
218
	OPVarIC_CallBack = funcidx("OnPVarIntChange");
219
	#endif
220
	#if defined CB_OnPVarStringChange
221
	OPVarSC_CallBack = funcidx("OnPVarStringChange");
222
	#endif
223
	#if defined CB_OnPVarFloatChange
224
	OPVarFC_CallBack = funcidx("OnPVarFloatChange");
225
	#endif
226
#endif
227
#if defined FILTERSCRIPT
228
	return (funcidx("ETI_OnFilterScriptInit") != -1) ? CallLocalFunction("ETI_OnFilterScriptInit","") : 1;
229
#else
230
	return (funcidx("ETI_OnGameModeInit") != -1) ? CallLocalFunction("ETI_OnGameModeInit","") : 1;
231
#endif
232
}
233
#if defined FILTERSCRIPT
234
	#if defined _ALS_OnFilterScriptInit
235
		#undef OnFilterScriptInit
236
	#else
237
		#define _ALS_OnFilterScriptInit
238
	#endif
239
	#define OnFilterScriptInit ETI_OnFilterScriptInit
240
forward ETI_OnFilterScriptInit();
241
#else
242
	#if defined _ALS_OnGameModeInit
243
		#undef OnGameModeInit
244
	#else
245
		#define _ALS_OnGameModeInit
246
	#endif
247
	#define OnGameModeInit ETI_OnGameModeInit
248
forward ETI_OnGameModeInit();
249
#endif
250
#if defined USE_PLAYER_CALLBACKS
251
	#if defined CB_OnPlayerEnteredVehicle
252
forward OnPlayerEnteredVehicle(playerid, vehicleid, seatid);
253
	#endif
254
	#if defined CB_OnPlayerExitedVehicle
255
forward OnPlayerExitedVehicle(playerid, vehicleid);
256
	#endif
257
	#if defined CB_OnPlayerSkinChange
258
forward OnPlayerSkinChange(playerid, oldskin, newskin);
259-
		CallRemoteFunction("OnPlayerEnteredVehicle", "ddd", playerid, OPSC_VehicleID, OPSC_VehicleSeat);
259+
260
	#if defined CB_OnPlayerHoldWeaponChange
261-
		CallLocalFunction("OnPlayerEnteredVehicle", "ddd", playerid, OPSC_VehicleID, OPSC_VehicleSeat);
261+
262
	#endif
263-
		pCallBack_Info[playerid][nCallBack_VehicleID] = OPSC_VehicleID;
263+
264-
		pCallBack_Info[playerid][nCallBack_VehicleSeat] = OPSC_VehicleSeat;
264+
265
	#endif
266
	#if defined USE_WEAPON_DATA_CALLBACKS
267
		#if defined CB_OnPlayerWeaponDataChange
268
forward OnPlayerWeaponDataChange(playerid, slot, oldweapon, newweapon);
269
		#endif
270
		#if defined CB_OnPlayerAmmoDataChange
271
forward OnPlayerAmmoDataChange(playerid, slot, oldammo, newammo);
272
		#endif
273
	#endif
274
	#if defined CB_OnPlayerMoneyChange
275-
		CallRemoteFunction("OnPlayerExitedVehicle", "dd", playerid, pCallBack_Info[playerid][nCallBack_VehicleID]);
275+
276
	#endif
277-
		CallLocalFunction("OnPlayerExitedVehicle", "dd", playerid, pCallBack_Info[playerid][nCallBack_VehicleID]);
277+
278
forward OnPlayerHealthChange(playerid, Float:oldhealth, Float:newhealth);
279-
		pCallBack_Info[playerid][nCallBack_VehicleID] = 0;
279+
280-
		pCallBack_Info[playerid][nCallBack_VehicleSeat] = -1;
280+
281
forward OnPlayerArmourChange(playerid, Float:oldarmour, Float:newarmour);
282
	#endif
283
	#if defined CB_OnPlayerAnimationIndexChange
284
forward OnPlayerAnimationIndexChange(playerid, oldindex, newindex);
285
	#endif
286
	#if defined CB_OnPlayerTargetPlayer
287
forward OnPlayerTargetPlayer(playerid, oldtarget, newtarget, bool:istargeting);
288
	#endif
289
	#if defined CB_OnPlayerSpecialActionChange
290
forward OnPlayerSpecialActionChange(playerid, oldsaction, newsaction);
291
	#endif
292
	#if defined CB_OnPlayerAnalogKeysChange
293
forward OnPlayerAnalogKeysChange(playerid, oldy, newy, oldx, newx);
294
	#endif
295
	#if defined CB_OnPlayerXYZChange
296
forward OnPlayerXYZChange(playerid, Float:oldx, Float:oldy, Float:oldz, Float:newx, Float:newy, Float:newz);
297
	#endif
298
	#if defined CB_OnPlayerVehicleHealthChange
299
forward OnPlayerVehicleHealthChange(playerid, vehicleid, Float:oldhealth, Float:newhealth, bool:isissuer);
300
	#endif
301
	#if defined CB_OnPlayerVirtualWorldChange
302
forward OnPlayerVirtualWorldChange(playerid, oldworld, newworld);
303
	#endif
304
	#if !defined _ETI_GetWeaponSlot
305
		#define _ETI_GetWeaponSlot
306
stock ETI_GetWeaponSlot(weaponid)
307-
	if(pCallBack_Info[playerid][nCallBack_Skin] != update_Variable[nCallBack_Skin])
307+
308
    new slot;
309
	switch(weaponid)
310-
		CallRemoteFunction("OnPlayerSkinChange", "ddd", playerid, pCallBack_Info[playerid][nCallBack_Skin], update_Variable[nCallBack_Skin]);
310+
311
		case 0,1: slot = 0;
312-
		CallLocalFunction("OnPlayerSkinChange", "ddd", playerid, pCallBack_Info[playerid][nCallBack_Skin], update_Variable[nCallBack_Skin]);
312+
313
		case 22..24: slot = 2;
314
		case 25..27: slot = 3;
315
		case 28,29,32: slot = 4;
316
		case 30,31: slot = 5;
317
		case 33,34: slot = 6;
318
		case 35..38: slot = 7;
319-
	if(pCallBack_Info[playerid][nCallBack_HoldWeapon] != update_Variable[nCallBack_HoldWeapon])
319+
320
		case 41..43: slot = 9;
321
		case 10..15: slot = 10;
322-
		CallRemoteFunction("OnPlayerHoldWeaponChange", "ddddd", playerid, GetWeaponSlot_ETI(pCallBack_Info[playerid][nCallBack_HoldWeapon]), pCallBack_Info[playerid][nCallBack_HoldWeapon], GetWeaponSlot_ETI(update_Variable[nCallBack_HoldWeapon]), update_Variable[nCallBack_HoldWeapon]);
322+
323
		case 40: slot = 12;
324-
		CallLocalFunction("OnPlayerHoldWeaponChange", "ddddd", playerid, GetWeaponSlot_ETI(pCallBack_Info[playerid][nCallBack_HoldWeapon]), pCallBack_Info[playerid][nCallBack_HoldWeapon], GetWeaponSlot_ETI(update_Variable[nCallBack_HoldWeapon]), update_Variable[nCallBack_HoldWeapon]);
324+
325
	}
326
	return slot;
327
}
328
	#endif
329
public OnPlayerConnect(playerid)
330
{
331-
	if(pCallBack_Info[playerid][nCallBack_WeaponState] != update_Variable[nCallBack_WeaponState])
331+
332
	pCallBack_Info[playerid][nCallBack_Health] = 100.0;
333
	#endif
334-
		CallRemoteFunction("OnPlayerWeaponStateChange", "ddd", playerid, pCallBack_Info[playerid][nCallBack_WeaponState], update_Variable[nCallBack_WeaponState]);
334+
	#if defined CB_OnPlayerTargetPlayer
335
	pCallBack_Info[playerid][nCallBack_Target] = INVALID_PLAYER_ID;
336-
		CallLocalFunction("OnPlayerWeaponStateChange", "ddd", playerid, pCallBack_Info[playerid][nCallBack_WeaponState], update_Variable[nCallBack_WeaponState]);
336+
337
	#if defined CB_OnPlayerVehicleHealthChange
338
	pCallBack_Info[playerid][nCallBack_VehicleHealth] = 1000.0;
339
	#endif
340
	#if defined CB_OnPlayerEnteredVehicle
341
	pCallBack_Info[playerid][nCallBack_VehicleSeat] = -1;
342
	#elseif defined CB_OnPlayerExitedVehicle
343
	pCallBack_Info[playerid][nCallBack_VehicleSeat] = -1;
344
	#endif
345
	pCallBack_Info[playerid][nCallBack_KickedBanned] = false;
346-
		if(pCallBack_Info[playerid][nCallBack_Weapon][i] != update_Variable[nCallBack_Weapon][i])
346+
347
}
348
	#if defined _ALS_OnPlayerConnect
349-
			CallRemoteFunction("OnPlayerWeaponDataChange", "dddd", playerid, i, pCallBack_Info[playerid][nCallBack_Weapon][i], update_Variable[nCallBack_Weapon][i]);
349+
350
	#else
351-
			CallLocalFunction("OnPlayerWeaponDataChange", "dddd", playerid, i, pCallBack_Info[playerid][nCallBack_Weapon][i], update_Variable[nCallBack_Weapon][i]);
351+
352
	#endif
353
	#define OnPlayerConnect ETI_OnPlayerConnect
354
forward ETI_OnPlayerConnect(playerid);
355
public OnPlayerDisconnect(playerid, reason)
356
{
357-
		if(pCallBack_Info[playerid][nCallBack_Ammo][i] != update_Variable[nCallBack_Ammo][i])
357+
358
	pCallBack_Info[playerid][nCallBack_VehicleID] = 0;
359
	pCallBack_Info[playerid][nCallBack_VehicleSeat] = 0;
360-
			CallRemoteFunction("OnPlayerAmmoDataChange", "dddd", playerid, i, pCallBack_Info[playerid][nCallBack_Ammo][i], update_Variable[nCallBack_Ammo][i]);
360+
361
	pCallBack_Info[playerid][nCallBack_VehicleID] = 0;
362-
			CallLocalFunction("OnPlayerAmmoDataChange", "dddd", playerid, i, pCallBack_Info[playerid][nCallBack_Ammo][i], update_Variable[nCallBack_Ammo][i]);
362+
363
	#endif
364
	#if defined CB_OnPlayerSkinChange
365
	pCallBack_Info[playerid][nCallBack_Skin] = 0;
366
	#endif
367
	#if defined CB_OnPlayerWeaponChange
368
	pCallBack_Info[playerid][nCallBack_HoldWeapon] = 0;
369
	#endif
370
	#if defined CB_OnPlayerWeaponStateChange
371-
	if(pCallBack_Info[playerid][nCallBack_Money] != update_Variable[nCallBack_Money])
371+
372
	#endif
373
	#if defined USE_WEAPON_DATA_CALLBACKS
374-
		CallRemoteFunction("OnPlayerMoneyChange", "ddd", playerid, pCallBack_Info[playerid][nCallBack_Money], update_Variable[nCallBack_Money]);
374+
375
	{
376-
		CallLocalFunction("OnPlayerMoneyChange", "ddd", playerid, pCallBack_Info[playerid][nCallBack_Money], update_Variable[nCallBack_Money]);
376+
377
		pCallBack_Info[playerid][nCallBack_Weapon][i] = 0;
378
		#endif
379
		#if defined CB_OnPlayerAmmoDataChange
380
		pCallBack_Info[playerid][nCallBack_Ammo][i] = 0;
381
		#endif
382
	}
383-
	if(pCallBack_Info[playerid][nCallBack_Health] != update_Variable[nCallBack_Health])
383+
384
	#if defined CB_OnPlayerMoneyChange
385
	pCallBack_Info[playerid][nCallBack_Money] = 0;
386-
		CallRemoteFunction("OnPlayerHealthChange", "dff", playerid, pCallBack_Info[playerid][nCallBack_Health], update_Variable[nCallBack_Health]);
386+
387
	#if defined CB_OnPlayerHealthChange
388-
		CallLocalFunction("OnPlayerHealthChange", "dff", playerid, pCallBack_Info[playerid][nCallBack_Health], update_Variable[nCallBack_Health]);
388+
389
	#endif
390
	#if defined CB_OnPlayerArmourChange
391
	pCallBack_Info[playerid][nCallBack_Armour] = 0.0;
392
	#endif
393
	#if defined CB_OnPlayerAnimationIndexChange
394
	pCallBack_Info[playerid][nCallBack_Animation] = 0;
395-
	if(pCallBack_Info[playerid][nCallBack_Armour] != update_Variable[nCallBack_Armour])
395+
396
	#if defined CB_OnPlayerTargetPlayer
397
	pCallBack_Info[playerid][nCallBack_Target] = 0;
398-
		CallRemoteFunction("OnPlayerArmourChange", "dff", playerid, pCallBack_Info[playerid][nCallBack_Armour], update_Variable[nCallBack_Armour]);
398+
399
	#if defined CB_OnPlayerSpecialActionChange
400-
		CallLocalFunction("OnPlayerArmourChange", "dff", playerid, pCallBack_Info[playerid][nCallBack_Armour], update_Variable[nCallBack_Armour]);
400+
401
	#endif
402
	#if defined CB_OnPlayerVehicleHealthChange
403
	pCallBack_Info[playerid][nCallBack_VehicleHealth] = 0.0;
404
	#endif
405
	#if defined CB_OnPlayerAnalogKeysChange
406
	pCallBack_Info[playerid][nCallBack_KeyY] = 0;
407-
	if(pCallBack_Info[playerid][nCallBack_Animation] != update_Variable[nCallBack_Animation])
407+
408
	#endif
409
	#if defined CB_OnPlayerXYZChange
410-
		CallRemoteFunction("OnPlayerAnimationIndexChange", "ddd", playerid, pCallBack_Info[playerid][nCallBack_Animation], update_Variable[nCallBack_Animation]);
410+
	pCallBack_Info[playerid][nCallBack_X] = 0.0;
411
	pCallBack_Info[playerid][nCallBack_Y] = 0.0;
412-
		CallLocalFunction("OnPlayerAnimationIndexChange", "ddd", playerid, pCallBack_Info[playerid][nCallBack_Animation], update_Variable[nCallBack_Animation]);
412+
	pCallBack_Info[playerid][nCallBack_Z] = 0.0;
413
	#endif
414
	return ETI_ReturnOPDC("dd", playerid, reason);
415
}
416
	#if defined _ALS_OnPlayerDisconnect
417
		#undef OnPlayerDisconnect
418
	#else
419-
	if(pCallBack_Info[playerid][nCallBack_SpecialAction] != update_Variable[nCallBack_SpecialAction])
419+
420
	#endif
421
	#define OnPlayerDisconnect ETI_OnPlayerDisconnect
422-
		CallRemoteFunction("OnPlayerSpecialActionChange", "ddd", playerid, pCallBack_Info[playerid][nCallBack_SpecialAction], update_Variable[nCallBack_SpecialAction]);
422+
423
public OnPlayerStateChange(playerid, newstate, oldstate)
424-
		CallLocalFunction("OnPlayerSpecialActionChange", "ddd", playerid, pCallBack_Info[playerid][nCallBack_SpecialAction], update_Variable[nCallBack_SpecialAction]);
424+
425
	new OPSC_VehicleID = GetPlayerVehicleID(playerid), OPSC_VehicleSeat = GetPlayerVehicleSeat(playerid);
426
	#if defined CB_OnPlayerEnteredVehicle
427
	if((newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER) && (oldstate != PLAYER_STATE_DRIVER && oldstate != PLAYER_STATE_PASSENGER))
428
	{
429
		GetVehicleHealth(pCallBack_Info[playerid][nCallBack_VehicleID], pCallBack_Info[playerid][nCallBack_VehicleHealth]);
430
		#if defined USE_IN_ALL_SCRIPTS
431
		if(((OPEnV_CallBack != -1) ? CallRemoteFunction("OnPlayerEnteredVehicle", "ddd", playerid, OPSC_VehicleID, OPSC_VehicleSeat) : 1))
432
		#else
433-
	if(pCallBack_Info[playerid][nCallBack_KeyY] != update_Variable[nCallBack_KeyY] || pCallBack_Info[playerid][nCallBack_KeyX] != update_Variable[nCallBack_KeyX])
433+
		if(((OPEnV_CallBack != -1) ? CallLocalFunction("OnPlayerEnteredVehicle", "ddd", playerid, OPSC_VehicleID, OPSC_VehicleSeat) : 1))
434
		#endif
435
		{
436-
		CallRemoteFunction("OnPlayerAnalogKeysChange", "ddddd", playerid, pCallBack_Info[playerid][nCallBack_KeyY], update_Variable[nCallBack_KeyY], pCallBack_Info[playerid][nCallBack_KeyX], update_Variable[nCallBack_KeyX]);
436+
			pCallBack_Info[playerid][nCallBack_VehicleID] = OPSC_VehicleID;
437
			pCallBack_Info[playerid][nCallBack_VehicleSeat] = OPSC_VehicleSeat;
438-
		CallLocalFunction("OnPlayerAnalogKeysChange", "ddddd", playerid, pCallBack_Info[playerid][nCallBack_KeyY], update_Variable[nCallBack_KeyY], pCallBack_Info[playerid][nCallBack_KeyX], update_Variable[nCallBack_KeyX]);
438+
439
	}
440
		#if defined CB_OnPlayerExitedVehicle
441
	else
442
		#endif
443
	#endif
444
	#if defined CB_OnPlayerExitedVehicle
445
	if((newstate != PLAYER_STATE_DRIVER && newstate != PLAYER_STATE_PASSENGER) && (oldstate == PLAYER_STATE_DRIVER || oldstate == PLAYER_STATE_PASSENGER))
446
	{
447
		pCallBack_Info[playerid][nCallBack_VehicleHealth] = 1000.0;
448
		#if defined USE_IN_ALL_SCRIPTS
449
		if(((OPExV_CallBack != -1) ? CallRemoteFunction("OnPlayerExitedVehicle", "dd", playerid, pCallBack_Info[playerid][nCallBack_VehicleID]) : 1))
450-
		if(pCallBack_Info[playerid][nCallBack_VehicleHealth] != update_Variable[nCallBack_VehicleHealth])
450+
451
		if(((OPExV_CallBack != -1) ? CallLocalFunction("OnPlayerExitedVehicle", "dd", playerid, pCallBack_Info[playerid][nCallBack_VehicleID]) : 1))
452
		#endif
453-
			CallRemoteFunction("OnPlayerVehicleHealthChange", "ddffl", playerid, update_Variable[nCallBack_VehicleID], pCallBack_Info[playerid][nCallBack_VehicleHealth], update_Variable[nCallBack_VehicleHealth], (update_Variable[nCallBack_VehicleSeat] == 0) ? true : false);
453+
454
			pCallBack_Info[playerid][nCallBack_VehicleID] = 0;
455-
			CallLocalFunction("OnPlayerVehicleHealthChange", "ddffl", playerid, update_Variable[nCallBack_VehicleID], pCallBack_Info[playerid][nCallBack_VehicleHealth], update_Variable[nCallBack_VehicleHealth], (update_Variable[nCallBack_VehicleSeat] == 0) ? true : false);
455+
			pCallBack_Info[playerid][nCallBack_VehicleSeat] = -1;
456
		}
457
	}
458
	#endif
459
	return ETI_ReturnOPSC("ddd", playerid, newstate, oldstate);
460
}
461
	#if defined _ALS_OnPlayerStateChange
462
		#undef OnPlayerStateChange
463
	#else
464
		#define _ALS_OnPlayerStateChange
465
	#endif
466
	#define OnPlayerStateChange ETI_OnPlayerStateChange
467
forward ETI_OnPlayerStateChange(playerid, newstate, oldstate);
468
public OnPlayerUpdate(playerid)
469
{
470
	if(pCallBack_Info[playerid][nCallBack_KickedBanned]) return ETI_ReturnOPU("d", playerid);
471
	new update_Variable[CallBack_Infos];
472
	#if defined USE_OPU_DELAY
473
		#if defined USE_OPU_SECONDS
474
	update_Variable[nCallBack_OPUTime] = gettime();
475
		#else
476-
	if(oldworld != worldid)
476+
477
		#endif
478-
	CallRemoteFunction("OnPlayerVirtualWorldChange", "ddd", playerid, oldworld, worldid);
478+
479
	pCallBack_Info[playerid][nCallBack_OPUTime] = update_Variable[nCallBack_OPUTime];
480-
	CallLocalFunction("OnPlayerVirtualWorldChange", "ddd", playerid, oldworld, worldid);
480+
481
	#if defined CB_OnPlayerSkinChange
482-
	SetPlayerVirtualWorld(playerid, worldid);
482+
483
		#if defined USE_IN_ALL_SCRIPTS
484
	if(pCallBack_Info[playerid][nCallBack_Skin] != update_Variable[nCallBack_Skin] && ((OPSkC_CallBack != -1) ? CallRemoteFunction("OnPlayerSkinChange", "ddd", playerid, pCallBack_Info[playerid][nCallBack_Skin], update_Variable[nCallBack_Skin]) : 1))
485
		#else
486
	if(pCallBack_Info[playerid][nCallBack_Skin] != update_Variable[nCallBack_Skin] && ((OPSkC_CallBack != -1) ? CallLocalFunction("OnPlayerSkinChange", "ddd", playerid, pCallBack_Info[playerid][nCallBack_Skin], update_Variable[nCallBack_Skin]) : 1))
487
		#endif
488
		pCallBack_Info[playerid][nCallBack_Skin] = update_Variable[nCallBack_Skin];
489
	#endif
490
	#if defined CB_OnPlayerHoldWeaponChange
491
	update_Variable[nCallBack_HoldWeapon] = GetPlayerWeapon(playerid);
492
		#if defined USE_IN_ALL_SCRIPTS
493
	if(pCallBack_Info[playerid][nCallBack_HoldWeapon] != update_Variable[nCallBack_HoldWeapon] && ((OPHWC_CallBack != -1) ? CallRemoteFunction("OnPlayerHoldWeaponChange", "ddddd", playerid, ETI_GetWeaponSlot(pCallBack_Info[playerid][nCallBack_HoldWeapon]), pCallBack_Info[playerid][nCallBack_HoldWeapon], ETI_GetWeaponSlot(update_Variable[nCallBack_HoldWeapon]), update_Variable[nCallBack_HoldWeapon]) : 1))
494
		#else
495
	if(pCallBack_Info[playerid][nCallBack_HoldWeapon] != update_Variable[nCallBack_HoldWeapon] && ((OPHWC_CallBack != -1) ? CallLocalFunction("OnPlayerHoldWeaponChange", "ddddd", playerid, ETI_GetWeaponSlot(pCallBack_Info[playerid][nCallBack_HoldWeapon]), pCallBack_Info[playerid][nCallBack_HoldWeapon], ETI_GetWeaponSlot(update_Variable[nCallBack_HoldWeapon]), update_Variable[nCallBack_HoldWeapon]) : 1))
496
		#endif
497
		pCallBack_Info[playerid][nCallBack_HoldWeapon] = update_Variable[nCallBack_HoldWeapon];
498
	#endif
499
	#if defined CB_OnPlayerWeaponStateChange
500
	update_Variable[nCallBack_WeaponState] = GetPlayerWeaponState(playerid);
501
		#if defined USE_IN_ALL_SCRIPTS
502
	if(pCallBack_Info[playerid][nCallBack_WeaponState] != update_Variable[nCallBack_WeaponState] && ((OPWSC_CallBack != -1) ? CallRemoteFunction("OnPlayerWeaponStateChange", "ddd", playerid, pCallBack_Info[playerid][nCallBack_WeaponState], update_Variable[nCallBack_WeaponState]) : 1))
503
		#else
504
	if(pCallBack_Info[playerid][nCallBack_WeaponState] != update_Variable[nCallBack_WeaponState] && ((OPWSC_CallBack != -1) ? CallLocalFunction("OnPlayerWeaponStateChange", "ddd", playerid, pCallBack_Info[playerid][nCallBack_WeaponState], update_Variable[nCallBack_WeaponState]) : 1))
505
		#endif
506
		pCallBack_Info[playerid][nCallBack_WeaponState] = update_Variable[nCallBack_WeaponState];
507
	#endif
508
	#if defined USE_WEAPON_DATA_CALLBACKS
509
	for(new i = 0; i < MAX_WEAPON_SLOTS; i++)
510
	{
511
		GetPlayerWeaponData(playerid, i, update_Variable[nCallBack_Weapon][i], update_Variable[nCallBack_Ammo][i]);
512
		#if defined CB_OnPlayerWeaponDataChange
513
			#if defined USE_IN_ALL_SCRIPTS
514
		if(pCallBack_Info[playerid][nCallBack_Weapon][i] != update_Variable[nCallBack_Weapon][i] && ((OPWDC_CallBack != -1) ? CallRemoteFunction("OnPlayerWeaponDataChange", "dddd", playerid, i, pCallBack_Info[playerid][nCallBack_Weapon][i], update_Variable[nCallBack_Weapon][i]) : 1))
515
			#else
516
		if(pCallBack_Info[playerid][nCallBack_Weapon][i] != update_Variable[nCallBack_Weapon][i] && ((OPWDC_CallBack != -1) ? CallLocalFunction("OnPlayerWeaponDataChange", "dddd", playerid, i, pCallBack_Info[playerid][nCallBack_Weapon][i], update_Variable[nCallBack_Weapon][i]) : 1))
517
			#endif
518
			pCallBack_Info[playerid][nCallBack_Weapon][i] = update_Variable[nCallBack_Weapon][i];
519
		#endif
520
		#if defined CB_OnPlayerAmmoDataChange
521
			#if defined USE_IN_ALL_SCRIPTS
522
		if(pCallBack_Info[playerid][nCallBack_Ammo][i] != update_Variable[nCallBack_Ammo][i] && ((OPADC_CallBack != -1) ? CallRemoteFunction("OnPlayerAmmoDataChange", "dddd", playerid, i, pCallBack_Info[playerid][nCallBack_Ammo][i], update_Variable[nCallBack_Ammo][i]) : 1))
523
			#else
524
		if(pCallBack_Info[playerid][nCallBack_Ammo][i] != update_Variable[nCallBack_Ammo][i] && ((OPADC_CallBack != -1) ? CallLocalFunction("OnPlayerAmmoDataChange", "dddd", playerid, i, pCallBack_Info[playerid][nCallBack_Ammo][i], update_Variable[nCallBack_Ammo][i]) : 1))
525
			#endif
526
			pCallBack_Info[playerid][nCallBack_Ammo][i] = update_Variable[nCallBack_Ammo][i];
527
		#endif
528
	}
529
	#endif
530
	#if defined CB_OnPlayerMoneyChange
531
	update_Variable[nCallBack_Money] = GetPlayerMoney(playerid);
532
		#if defined USE_IN_ALL_SCRIPTS
533
	if(pCallBack_Info[playerid][nCallBack_Money] != update_Variable[nCallBack_Money] && ((OPMC_CallBack != -1) ? CallRemoteFunction("OnPlayerMoneyChange", "ddd", playerid, pCallBack_Info[playerid][nCallBack_Money], update_Variable[nCallBack_Money]) : 1))
534
		#else
535-
	#if !defined ReturnPVarString
535+
	if(pCallBack_Info[playerid][nCallBack_Money] != update_Variable[nCallBack_Money] && ((OPMC_CallBack != -1) ? CallLocalFunction("OnPlayerMoneyChange", "ddd", playerid, pCallBack_Info[playerid][nCallBack_Money], update_Variable[nCallBack_Money]) : 1))
536-
stock ReturnPVarString(playerid, varname[])
536+
537
		pCallBack_Info[playerid][nCallBack_Money] = update_Variable[nCallBack_Money];
538-
	new pvstring[1024];
538+
539-
	GetPVarString(playerid, varname, pvstring, sizeof(pvstring));
539+
540-
	return pvstring;
540+
541
		#if defined USE_IN_ALL_SCRIPTS
542
	if(pCallBack_Info[playerid][nCallBack_Health] != update_Variable[nCallBack_Health] && ((OPHC_CallBack != -1) ? CallRemoteFunction("OnPlayerHealthChange", "dff", playerid, pCallBack_Info[playerid][nCallBack_Health], update_Variable[nCallBack_Health]) : 1))
543
		#else
544
	if(pCallBack_Info[playerid][nCallBack_Health] != update_Variable[nCallBack_Health] && ((OPHC_CallBack != -1) ? CallLocalFunction("OnPlayerHealthChange", "dff", playerid, pCallBack_Info[playerid][nCallBack_Health], update_Variable[nCallBack_Health]) : 1))
545-
			#define ETI_DeletePVar
545+
546
		pCallBack_Info[playerid][nCallBack_Health] = update_Variable[nCallBack_Health];
547
	#endif
548
	#if defined CB_OnPlayerArmourChange
549
	GetPlayerArmour(playerid, update_Variable[nCallBack_Armour]);
550-
	if(DeletePVar(playerid, varname))
550+
551
	if(pCallBack_Info[playerid][nCallBack_Armour] != update_Variable[nCallBack_Armour] && ((OPAC_CallBack != -1) ? CallRemoteFunction("OnPlayerArmourChange", "dff", playerid, pCallBack_Info[playerid][nCallBack_Armour], update_Variable[nCallBack_Armour]) : 1))
552
		#else
553-
		CallRemoteFunction("OnPVarDelete", "dsd", playerid, varname, pvartype);
553+
	if(pCallBack_Info[playerid][nCallBack_Armour] != update_Variable[nCallBack_Armour] && ((OPAC_CallBack != -1) ? CallLocalFunction("OnPlayerArmourChange", "dff", playerid, pCallBack_Info[playerid][nCallBack_Armour], update_Variable[nCallBack_Armour]) : 1))
554
		#endif
555-
		CallLocalFunction("OnPVarDelete", "dsd", playerid, varname, pvartype);
555+
556
	#endif
557-
		return 1;
557+
558
	update_Variable[nCallBack_Animation] = GetPlayerAnimationIndex(playerid);
559
		#if defined USE_IN_ALL_SCRIPTS
560
	if(pCallBack_Info[playerid][nCallBack_Animation] != update_Variable[nCallBack_Animation] && ((OPAIC_CallBack != -1) ? CallRemoteFunction("OnPlayerAnimationIndexChange", "ddd", playerid, pCallBack_Info[playerid][nCallBack_Animation], update_Variable[nCallBack_Animation]) : 1))
561
		#else
562
	if(pCallBack_Info[playerid][nCallBack_Animation] != update_Variable[nCallBack_Animation] && ((OPAIC_CallBack != -1) ? CallLocalFunction("OnPlayerAnimationIndexChange", "ddd", playerid, pCallBack_Info[playerid][nCallBack_Animation], update_Variable[nCallBack_Animation]) : 1))
563
		#endif
564
		pCallBack_Info[playerid][nCallBack_Animation] = update_Variable[nCallBack_Animation];
565-
		#define ETI_SetPVarInt
565+
566
	#if defined CB_OnPlayerTargetPlayer
567
	update_Variable[nCallBack_Target] = GetPlayerTargetPlayer(playerid);
568
		#if defined USE_IN_ALL_SCRIPTS
569
	if(pCallBack_Info[playerid][nCallBack_Target] != update_Variable[nCallBack_Target] && ((OPTP_CallBack != -1) ? CallRemoteFunction("OnPlayerTargetPlayer", "dddl", playerid, pCallBack_Info[playerid][nCallBack_Target], update_Variable[nCallBack_Target], (update_Variable[nCallBack_Target] != INVALID_PLAYER_ID ? true : false)) : 1))
570-
	if(GetPVarType(playerid, varname) == 0)
570+
571
	if(pCallBack_Info[playerid][nCallBack_Target] != update_Variable[nCallBack_Target] && ((OPTP_CallBack != -1) ? CallLocalFunction("OnPlayerTargetPlayer", "dddl", playerid, pCallBack_Info[playerid][nCallBack_Target], update_Variable[nCallBack_Target], (update_Variable[nCallBack_Target] != INVALID_PLAYER_ID ? true : false)) : 1))
572-
	CallRemoteFunction("OnPVarCreate", "dsd", playerid, varname, 1);
572+
573
		pCallBack_Info[playerid][nCallBack_Target] = update_Variable[nCallBack_Target];
574-
	CallLocalFunction("OnPVarCreate", "dsd", playerid, varname, 1);
574+
575
	#if defined CB_OnPlayerSpecialActionChange
576
	update_Variable[nCallBack_SpecialAction] = GetPlayerSpecialAction(playerid);
577
		#if defined USE_IN_ALL_SCRIPTS
578
	if(pCallBack_Info[playerid][nCallBack_SpecialAction] != update_Variable[nCallBack_SpecialAction] && ((OPSAC_CallBack != -1) ? CallRemoteFunction("OnPlayerSpecialActionChange", "ddd", playerid, pCallBack_Info[playerid][nCallBack_SpecialAction], update_Variable[nCallBack_SpecialAction]) : 1))
579
		#else
580
	if(pCallBack_Info[playerid][nCallBack_SpecialAction] != update_Variable[nCallBack_SpecialAction] && ((OPSAC_CallBack != -1) ? CallLocalFunction("OnPlayerSpecialActionChange", "ddd", playerid, pCallBack_Info[playerid][nCallBack_SpecialAction], update_Variable[nCallBack_SpecialAction]) : 1))
581-
	if(GetPVarType(playerid, varname) != 0 && GetPVarType(playerid, varname) != 1)
581+
582
		pCallBack_Info[playerid][nCallBack_SpecialAction] = update_Variable[nCallBack_SpecialAction];
583-
	CallRemoteFunction("OnPVarTypeChange", "dsdd", playerid, varname, GetPVarType(playerid, varname), 1);
583+
584
	#if defined CB_OnPlayerAnalogKeysChange
585-
	CallLocalFunction("OnPVarTypeChange", "dsdd", playerid, varname, GetPVarType(playerid, varname), 1);
585+
586
	GetPlayerKeys(playerid, dumpkeys, update_Variable[nCallBack_KeyY], update_Variable[nCallBack_KeyX]);
587
	#pragma unused dumpkeys
588
		#if defined USE_IN_ALL_SCRIPTS
589
	if((pCallBack_Info[playerid][nCallBack_KeyY] != update_Variable[nCallBack_KeyY] || pCallBack_Info[playerid][nCallBack_KeyX] != update_Variable[nCallBack_KeyX]) && ((OPAKC_CallBack != -1) ? CallRemoteFunction("OnPlayerAnalogKeysChange", "ddddd", playerid, pCallBack_Info[playerid][nCallBack_KeyY], update_Variable[nCallBack_KeyY], pCallBack_Info[playerid][nCallBack_KeyX], update_Variable[nCallBack_KeyX]) : 1))
590
		#else
591
	if((pCallBack_Info[playerid][nCallBack_KeyY] != update_Variable[nCallBack_KeyY] || pCallBack_Info[playerid][nCallBack_KeyX] != update_Variable[nCallBack_KeyX]) && ((OPAKC_CallBack != -1) ? CallLocalFunction("OnPlayerAnalogKeysChange", "ddddd", playerid, pCallBack_Info[playerid][nCallBack_KeyY], update_Variable[nCallBack_KeyY], pCallBack_Info[playerid][nCallBack_KeyX], update_Variable[nCallBack_KeyX]) : 1))
592-
	if(GetPVarInt(playerid, varname) != int_value)
592+
593
	{
594-
	CallRemoteFunction("OnPVarIntChange", "dsdd", playerid, varname, GetPVarInt(playerid, varname), int_value);
594+
595
		pCallBack_Info[playerid][nCallBack_KeyX] = update_Variable[nCallBack_KeyX];
596-
	CallLocalFunction("OnPVarIntChange", "dsdd", playerid, varname, GetPVarInt(playerid, varname), int_value);
596+
597
	#endif
598
	#if defined CB_OnPlayerXYZChange
599
	GetPlayerPos(playerid, update_Variable[nCallBack_X], update_Variable[nCallBack_Y], update_Variable[nCallBack_Z]);
600
		#if defined USE_IN_ALL_SCRIPTS
601
	if((pCallBack_Info[playerid][nCallBack_X] != update_Variable[nCallBack_X] || pCallBack_Info[playerid][nCallBack_Y] != update_Variable[nCallBack_Y] || update_Variable[nCallBack_X] || pCallBack_Info[playerid][nCallBack_Z] != update_Variable[nCallBack_Z]) &&
602
	((OPXYZC_CallBack != -1) ? CallRemoteFunction("OnPlayerXYZChange", "dffffff", playerid, pCallBack_Info[playerid][nCallBack_X], pCallBack_Info[playerid][nCallBack_Y], pCallBack_Info[playerid][nCallBack_Z], update_Variable[nCallBack_X], update_Variable[nCallBack_Y], update_Variable[nCallBack_Z]) : 1))
603
		#else
604
	if((pCallBack_Info[playerid][nCallBack_X] != update_Variable[nCallBack_X] || pCallBack_Info[playerid][nCallBack_Y] != update_Variable[nCallBack_Y] || update_Variable[nCallBack_X] || pCallBack_Info[playerid][nCallBack_Z] != update_Variable[nCallBack_Z]) &&
605
	((OPXYZC_CallBack != -1) ? CallLocalFunction("OnPlayerXYZChange", "dffffff", playerid, pCallBack_Info[playerid][nCallBack_X], pCallBack_Info[playerid][nCallBack_Y], pCallBack_Info[playerid][nCallBack_Z], update_Variable[nCallBack_X], update_Variable[nCallBack_Y], update_Variable[nCallBack_Z]) : 1))
606
		#endif
607
	{
608
		pCallBack_Info[playerid][nCallBack_X] = update_Variable[nCallBack_X];
609
		pCallBack_Info[playerid][nCallBack_Y] = update_Variable[nCallBack_Y];
610-
	if(GetPVarType(playerid, varname) == 0)
610+
		pCallBack_Info[playerid][nCallBack_Z] = update_Variable[nCallBack_Z];
611
	}
612-
	CallRemoteFunction("OnPVarCreate", "dsd", playerid, varname, 2);
612+
613
	#if defined CB_OnPlayerVehicleHealthChange
614-
	CallLocalFunction("OnPVarCreate", "dsd", playerid, varname, 2);
614+
615
	update_Variable[nCallBack_VehicleSeat] = pCallBack_Info[playerid][nCallBack_VehicleSeat];
616
	if(update_Variable[nCallBack_VehicleID] != 0)
617
	{
618
		GetVehicleHealth(update_Variable[nCallBack_VehicleID], update_Variable[nCallBack_VehicleHealth]);
619
		#if defined USE_IN_ALL_SCRIPTS
620
		if(pCallBack_Info[playerid][nCallBack_VehicleHealth] != update_Variable[nCallBack_VehicleHealth] && ((OPVHC_CallBack != -1) ? CallRemoteFunction("OnPlayerVehicleHealthChange", "ddffl", playerid, update_Variable[nCallBack_VehicleID], pCallBack_Info[playerid][nCallBack_VehicleHealth], update_Variable[nCallBack_VehicleHealth], (update_Variable[nCallBack_VehicleSeat] == 0) ? true : false) : 1))
621-
	if(GetPVarType(playerid, varname) != 0 && GetPVarType(playerid, varname) != 2)
621+
622
		if(pCallBack_Info[playerid][nCallBack_VehicleHealth] != update_Variable[nCallBack_VehicleHealth] && ((OPVHC_CallBack != -1) ? CallLocalFunction("OnPlayerVehicleHealthChange", "ddffl", playerid, update_Variable[nCallBack_VehicleID], pCallBack_Info[playerid][nCallBack_VehicleHealth], update_Variable[nCallBack_VehicleHealth], (update_Variable[nCallBack_VehicleSeat] == 0) ? true : false) : 1))
623-
	CallRemoteFunction("OnPVarTypeChange", "dsdd", playerid, varname, GetPVarType(playerid, varname), 2);
623+
624
			pCallBack_Info[playerid][nCallBack_VehicleHealth] = update_Variable[nCallBack_VehicleHealth];
625-
	CallLocalFunction("OnPVarTypeChange", "dsdd", playerid, varname, GetPVarType(playerid, varname), 2);
625+
626
	#endif
627
	return ETI_ReturnOPU("d", playerid);
628
}
629
	#if defined _ALS_OnPlayerUpdate
630
		#undef OnPlayerUpdate
631
	#else
632
		#define _ALS_OnPlayerUpdate
633-
		new strcmpval = strcmp(ReturnPVarString(playerid, varname), string_value);
633+
634-
		if(strcmpval == -1 || strcmpval == 1)
634+
635
forward ETI_OnPlayerUpdate(playerid);
636-
		CallRemoteFunction("OnPVarStringChange", "dsss", playerid, varname, ReturnPVarString(playerid, varname), string_value);
636+
637
		#if !defined _ETI_SetPlayerVirtualWorld
638-
		CallLocalFunction("OnPVarStringChange", "dsss", playerid, varname, ReturnPVarString(playerid, varname), string_value);
638+
639
stock ETI_SetPlayerVirtualWorld(playerid, worldid)
640
{
641
	new oldworld = GetPlayerVirtualWorld(playerid);
642
			#if defined USE_IN_ALL_SCRIPTS
643
	if(oldworld != worldid && ((OPVWC_CallBack != -1) ? CallRemoteFunction("OnPlayerVirtualWorldChange", "ddd", playerid, oldworld, worldid) : 1))
644
			#else
645
	if(oldworld != worldid && ((OPVWC_CallBack != -1) ? CallLocalFunction("OnPlayerVirtualWorldChange", "ddd", playerid, oldworld, worldid) : 1))
646
			#endif
647
		SetPlayerVirtualWorld(playerid, worldid);
648
	return 1;
649
}
650
			#define SetPlayerVirtualWorld(%0) ETI_SetPlayerVirtualWorld(%0)
651
		#endif
652
	#endif
653
	#if !defined _ETI_Kick
654
		#define _ETI_Kick
655-
	if(GetPVarType(playerid, varname) == 0)
655+
656
public ETI_Kick(playerid)
657-
	CallRemoteFunction("OnPVarCreate", "dsd", playerid, varname, 3);
657+
658
	pCallBack_Info[playerid][nCallBack_KickedBanned] = true;
659-
	CallLocalFunction("OnPVarCreate", "dsd", playerid, varname, 3);
659+
660
	return 1;
661
}
662
		#define Kick(%0) ETI_Kick(%0)
663
	#endif
664
	#if !defined _ETI_Ban
665
		#define _ETI_Ban
666-
	if(GetPVarType(playerid, varname) != 0 && GetPVarType(playerid, varname) != 3)
666+
667
public ETI_Ban(playerid)
668-
	CallRemoteFunction("OnPVarTypeChange", "dsdd", playerid, varname, GetPVarType(playerid, varname), 3);
668+
669
	pCallBack_Info[playerid][nCallBack_KickedBanned] = true;
670-
	CallLocalFunction("OnPVarTypeChange", "dsdd", playerid, varname, GetPVarType(playerid, varname), 3);
670+
671
	return 1;
672
}
673
		#define Ban(%0) ETI_Ban(%0)
674
	#endif
675
	#if !defined _ETI_BanEx
676
		#define _ETI_BanEx
677-
	if(GetPVarFloat(playerid, varname) != float_value)
677+
678
public ETI_BanEx(playerid, const reason[])
679-
	CallRemoteFunction("OnPVarFloatChange", "dsff", playerid, varname, GetPVarFloat(playerid, varname), float_value);
679+
680
	pCallBack_Info[playerid][nCallBack_KickedBanned] = true;
681-
	CallLocalFunction("OnPVarFloatChange", "dsff", playerid, varname, GetPVarFloat(playerid, varname), float_value);
681+
682
	return 1;
683
}
684
		#define BanEx(%0) ETI_BanEx(%0)
685
	#endif
686
#endif
687
#if defined USE_PVAR_CALLBACKS
688
	#if defined CB_OnPVarDelete
689
forward OnPVarDelete(playerid, varname[], oldtype);
690
	#endif
691
	#if defined CB_OnPVarCreate
692
forward OnPVarCreate(playerid, varname[], type);
693
	#endif
694
	#if defined CB_OnPVarTypeChange
695
forward OnPVarTypeChange(playerid, varname[], oldtype, newtype);
696
	#endif
697
forward OnPVarIntChange(playerid, varname[], oldint_value, newint_value);
698
forward OnPVarStringChange(playerid, varname[], oldstring_value[], newstring_value[]);
699
forward OnPVarFloatChange(playerid, varname[], Float:oldfloat_value, Float:newfloat_value);
700
	#if defined CB_OnPVarDelete
701
		#if !defined _ETI_DeletePVar
702
			#define _ETI_DeletePVar
703
forward ETI_DeletePVar(playerid, varname[]);
704
public ETI_DeletePVar(playerid, varname[])
705
{
706
	new pvartype = GetPVarType(playerid, varname);
707
			#if defined USE_IN_ALL_SCRIPTS
708
	if(pvartype != 0 && ((OPVarD_CallBack != -1) ? CallRemoteFunction("OnPVarDelete", "dsd", playerid, varname, pvartype) : 1))
709
			#else
710
	if(pvartype != 0 && ((OPVarD_CallBack != -1) ? CallLocalFunction("OnPVarDelete", "dsd", playerid, varname, pvartype) : 1))
711
			#endif
712
		return DeletePVar(playerid, varname);
713
	return 0;
714
}
715
			#define DeletePVar(%0) ETI_DeletePVar(%0)
716
		#endif
717
	#endif
718
	#if !defined _ETI_SetPVarInt
719
		#define _ETI_SetPVarInt
720
forward ETI_SetPVarInt(playerid, varname[], int_value);
721
public ETI_SetPVarInt(playerid, varname[], int_value)
722
{
723
		#if defined CB_OnPVarCreate
724
			#if defined USE_IN_ALL_SCRIPTS
725
	if(GetPVarType(playerid, varname) == 0 && ((OPVarC_CallBack != -1) ? CallRemoteFunction("OnPVarCreate", "dsd", playerid, varname, 1) : 1))
726
			#else
727
	if(GetPVarType(playerid, varname) == 0 && ((OPVarC_CallBack != -1) ? CallLocalFunction("OnPVarCreate", "dsd", playerid, varname, 1) : 1))
728
			#endif
729
		SetPVarInt(playerid, varname, int_value);
730
			#if defined CB_OnPVarTypeChange
731
	else
732
			#endif
733
		#endif
734
		#if defined CB_OnPVarTypeChange
735
			#if defined USE_IN_ALL_SCRIPTS
736
	if(GetPVarType(playerid, varname) != 0 && GetPVarType(playerid, varname) != 1 && ((OPVarTC_CallBack != -1) ? CallRemoteFunction("OnPVarTypeChange", "dsdd", playerid, varname, GetPVarType(playerid, varname), 1) : 1))
737
			#else
738
	if(GetPVarType(playerid, varname) != 0 && GetPVarType(playerid, varname) != 1 && ((OPVarTC_CallBack != -1) ? CallLocalFunction("OnPVarTypeChange", "dsdd", playerid, varname, GetPVarType(playerid, varname), 1) : 1))
739
			#endif
740
		SetPVarInt(playerid, varname, int_value);
741
			#if defined CB_OnPVarIntChange
742
	else
743
			#endif
744
		#endif
745
		#if defined CB_OnPVarIntChange
746
			#if defined USE_IN_ALL_SCRIPTS
747
	if(GetPVarInt(playerid, varname) != int_value && ((OPVarIC_CallBack != -1) ? CallRemoteFunction("OnPVarIntChange", "dsdd", playerid, varname, GetPVarInt(playerid, varname), int_value) : 1))
748
			#else
749
	if(GetPVarInt(playerid, varname) != int_value && ((OPVarIC_CallBack != -1) ? CallLocalFunction("OnPVarIntChange", "dsdd", playerid, varname, GetPVarInt(playerid, varname), int_value) : 1))
750
			#endif
751
		SetPVarInt(playerid, varname, int_value);
752
		#endif
753
		#if !defined CB_OnPVarCreate
754
			#if !defined CB_OnPVarTypeChange
755
				#if !defined CB_OnPVarIntChange
756
	SetPVarInt(playerid, varname, int_value);
757
				#endif
758
			#endif
759
		#endif
760
}
761
		#define SetPVarInt(%0) ETI_SetPVarInt(%0)
762
	#endif
763
	#if !defined _ETI_SetPVarString
764
		#define _ETI_SetPVarString
765
forward ETI_SetPVarString(playerid, varname[], string_value[]);
766
public ETI_SetPVarString(playerid, varname[], string_value[])
767
{
768
		#if defined CB_OnPVarCreate
769
			#if defined USE_IN_ALL_SCRIPTS
770
	if(GetPVarType(playerid, varname) == 0 && ((OPVarC_CallBack != -1) ? CallRemoteFunction("OnPVarCreate", "dsd", playerid, varname, 2) : 1))
771
			#else
772
	if(GetPVarType(playerid, varname) == 0 && ((OPVarC_CallBack != -1) ? CallLocalFunction("OnPVarCreate", "dsd", playerid, varname, 2) : 1))
773
			#endif
774
		SetPVarString(playerid, varname, string_value);
775
			#if defined CB_OnPVarTypeChange
776
	else
777
			#endif
778
		#endif
779
		#if defined CB_OnPVarTypeChange
780
			#if defined USE_IN_ALL_SCRIPTS
781
	if(GetPVarType(playerid, varname) != 0 && GetPVarType(playerid, varname) != 2 && ((OPVarTC_CallBack != -1) ? CallRemoteFunction("OnPVarTypeChange", "dsdd", playerid, varname, GetPVarType(playerid, varname), 2) : 1))
782
			#else
783
	if(GetPVarType(playerid, varname) != 0 && GetPVarType(playerid, varname) != 2 && ((OPVarTC_CallBack != -1) ? CallLocalFunction("OnPVarTypeChange", "dsdd", playerid, varname, GetPVarType(playerid, varname), 2) : 1))
784
			#endif
785
		SetPVarString(playerid, varname, string_value);
786
			#if defined CB_OnPVarStringChange
787
	else
788
	{
789
			#endif
790
		#endif
791
		#if defined CB_OnPVarStringChange
792
		new pvstr[1024];
793
		GetPVarString(playerid, varname, pvstr, 1024);
794
		new strcmpval = strcmp(pvstr, string_value);
795
			#if defined USE_IN_ALL_SCRIPTS
796
		if((strcmpval == -1 || strcmpval == 1) && ((OPVarSC_CallBack != -1) ? CallRemoteFunction("OnPVarStringChange", "dsss", playerid, varname, pvstr, string_value) : 1))
797
			#else
798
		if((strcmpval == -1 || strcmpval == 1) && ((OPVarSC_CallBack != -1) ? CallLocalFunction("OnPVarStringChange", "dsss", playerid, varname, pvstr, string_value) : 1))
799
			#endif
800
			SetPVarString(playerid, varname, string_value);
801
			#if defined CB_OnPVarTypeChange
802
	}
803
			#endif
804
		#endif
805
		#if !defined CB_OnPVarCreate
806
			#if !defined CB_OnPVarTypeChange
807
				#if defined !CB_OnPVarStringChange
808
	SetPVarString(playerid, varname, string_value);
809
				#endif
810
			#endif
811
		#endif
812
	return 1;
813
}
814
		#define SetPVarString(%0) ETI_SetPVarString(%0)
815
	#endif
816
	#if !defined _ETI_SetPVarFloat
817
		#define _ETI_SetPVarFloat
818
forward ETI_SetPVarFloat(playerid, varname[], Float:float_value);
819
public ETI_SetPVarFloat(playerid, varname[], Float:float_value)
820
{
821
		#if defined CB_OnPVarCreate
822
			#if defined USE_IN_ALL_SCRIPTS
823
	if(GetPVarType(playerid, varname) == 0 && ((OPVarC_CallBack != -1) ? CallRemoteFunction("OnPVarCreate", "dsd", playerid, varname, 3) : 1))
824
			#else
825
	if(GetPVarType(playerid, varname) == 0 && ((OPVarC_CallBack != -1) ? CallLocalFunction("OnPVarCreate", "dsd", playerid, varname, 3) : 1))
826
			#endif
827
		SetPVarFloat(playerid, varname, float_value);
828
			#if defined CB_OnPVarTypeChange
829
	else
830
			#endif
831
		#endif
832
		#if defined CB_OnPVarTypeChange
833
			#if defined USE_IN_ALL_SCRIPTS
834
	if(GetPVarType(playerid, varname) != 0 && GetPVarType(playerid, varname) != 3 && ((OPVarTC_CallBack != -1) ? CallRemoteFunction("OnPVarTypeChange", "dsdd", playerid, varname, GetPVarType(playerid, varname), 3) : 1))
835
			#else
836
	if(GetPVarType(playerid, varname) != 0 && GetPVarType(playerid, varname) != 3 && ((OPVarTC_CallBack != -1) ? CallLocalFunction("OnPVarTypeChange", "dsdd", playerid, varname, GetPVarType(playerid, varname), 3) : 1))
837
			#endif
838
		SetPVarFloat(playerid, varname, float_value);
839
			#if defined CB_OnPVarFloatChange
840
	else
841
			#endif
842
		#endif
843
		#if defined CB_OnPVarFloatChange
844
			#if defined USE_IN_ALL_SCRIPTS
845
	if(GetPVarFloat(playerid, varname) != float_value && ((OPVarFC_CallBack != -1) ? CallRemoteFunction("OnPVarFloatChange", "dsff", playerid, varname, GetPVarFloat(playerid, varname), float_value) : 1))
846
			#else
847
	if(GetPVarFloat(playerid, varname) != float_value && ((OPVarFC_CallBack != -1) ? CallLocalFunction("OnPVarFloatChange", "dsff", playerid, varname, GetPVarFloat(playerid, varname), float_value) : 1))
848
			#endif
849
		SetPVarFloat(playerid, varname, float_value);
850
		#endif
851
		#if defined CB_OnPVarCreate
852
			#if !defined CB_OnPVarTypeChange
853
				#if !defined CB_OnPVarFloatChange
854
	SetPVarFloat(playerid, varname, float_value);
855
				#endif
856
			#endif
857
		#endif
858
	return 1;
859
}
860
		#define SetPVarFloat(%0) ETI_SetPVarFloat(%0)
861
	#endif
862
#endif
863
864
/*
865
ETIETIETIETI  	ETI		    ETIETIETIETI	BigBigBigBig	BigBigBigBigBig		Big
866
ETI       ETI 	ETI		  ETI           	Big         	      Big      		Big
867
ETI        ETI	ETI		 ETI            	Big         	      Big      		Big
868
ETI       ETI 	ETI		ETI             	Big         	      Big      		Big
869
ETIETIETIETI  	ETI		ETI    ETIETIETI	BigBigBig   	      Big      		Big
870
ETI       ETI 	ETI		ETI          ETI	Big         	      Big      		Big
871
ETI        ETI	ETI		 ETI         ETI	Big         	      Big      		Big
872
ETI       ETI 	ETI		  ETI        ETI	Big         	      Big      		Big
873
ETIETIETIETI  	ETI		    ETIETIETIETI	BigBigBigBig	      Big      		Big
874
*/
875