· 9 years ago · Jan 30, 2017, 01:48 PM
1/*=======================================================================================================================================================
2==========================================================================================================================================================
3
4
5
6 `7MM"""YMM .g8""8q.
7 MM `7 .dP' `YM.
8 MM d dM' `MM
9 MMmmMM MM MM
10 MM Y , MM. ,MP
11 MM ,M `Mb. ,dP'
12 .JMMmmmmMMM `"bmmd"'
13
14 VIP SYSTEM
15 by Oussama .aka. Compton
16
17
18COPYRIGHT CLAIM:
19**Note This is an ongoing project, thus uploading this on an other website it without my permission would not be tolerated.
20
21
22============================================================================================================================================================
23==========================================================================================================================================================*/
24#include <a_samp>
25#include <ZCMD>
26#include <sscanf2>
27#include <YSI\y_timers>
28
29new DB:Database;
30
31#define FILTERSCRIPT
32
33#if defined FILTERSCRIPT
34
35public OnFilterScriptInit()
36{
37 new Query[450];
38 if((Database = db_open("EO_VIP/Database.db")) == DB:0){
39 printf("[ERROR]: Couldn't connect to the database");
40 SendRconCommand("unloadfs E_O_VIP");
41 }
42 else{
43 print("\n--------------------------------------");
44 print(" [EO] VIP system by Oussama aka Compton");
45 print(" Version 1.6");
46 print(" Credits must be included");
47 print("--------------------------------------\n");
48
49 format(Query, sizeof(Query), "CREATE TABLE IF NOT EXISTS `VIPS`(`ID` INTEGER PRIMARY KEY AUTOINCREMENT, `PlayerName` VARCHAR(25), `VIPLevel` INTEGER DEFAULT 0, `Gotten_Date` VARCHAR(12), `Remaining_Days` INTEGER NOT NULL, `Spawn_In_Base` INTEGER DEFAULT 0, `VIP_Weapon_Preset` INTEGER DEFAULT 0,Weapon_Melee_Slot INTEGER, Weapon_Pistol_Slot INTEGER, Weapon_Shotgun_Slot INTEGER, Weapon_SubMachine_Slot INTEGER, Weapon_Assault_Slot INTEGER, Weapon_Rifle_Slot INTEGER)");
50 db_free_result(db_query(Database, Query));
51
52 }
53 return 1;
54}
55
56public OnFilterScriptExit()
57{
58 db_close(Database);
59 return 1;
60}
61
62#else
63
64#endif
65//==========================================================================================================================
66//==========================================================================================================================
67//VIP enum
68enum E_VIP_DATA {
69 VIPLevel,
70 VIPAcc[12],
71 VIPGOT[12],
72 VIPDate,
73 VIPDay,
74 VIPMonth,
75 VIPYear,
76 VIPPreset,
77 WMS,
78 WPS,
79 WSS,
80 WSSL,
81 WAS,
82 WRS,
83 bool:IsVIPInLounge,
84 bool:VIPLoggedIn,
85 bool:GPAuth,
86 bool:CNTUSE,
87 VIPBSpawn,
88 bool:VIPTAG,
89 pindex,
90 pmodelid,
91 pboneid,
92 Float:pfOffsetX,
93 Float:pfOffsetY,
94 Float:pfOffsetZ,
95 Float:pfRotX,
96 Float:pfRotY,
97 Float:pfRotZ,
98 Float:pfScaleX,
99 Float:pfScaleY,
100 Float:pfScaleZ
101}
102//DIALOG enum
103enum {
104 //CMD DIALOGS
105 DIALOG_VIPCMD1,
106 DIALOG_VIPCMD2,
107 DIALOG_VIPCMD3,
108 DIALOG_VIPCMD4,
109 DIALOG_VIPHELP,
110 DIALOG_VIPINFO,
111 DIALOG_WEATHERID,
112 //VIP BASE SPAWN DIALOGS
113 DIALOG_VIPBS,
114 DIALOG_VIPBSY,
115 ///vips
116 DIALOG_AVIPS,
117 //Skins
118 DIALOG_VIPSKIN,
119 //vip info
120 DIALOG_ISVIP,
121 //vip weapon presets
122 DIALOG_VIP4WP,
123 DIALOG_VIP4WPE,
124 DIALOG_VIP4WPC,
125 DIALOG_VIP4WPCE,
126 DIALOG_VIP4WPCR,
127 DIALOG_VIP4WP0,
128 DIALOG_VIP4WP1,
129 DIALOG_VIP4WP2,
130 DIALOG_VIP4WP3,
131 DIALOG_VIP4WP4,
132 DIALOG_VIP4WP5,
133 DIALOG_VIP4WPCED,
134 DIALOG_VIP4WPCC
135}
136
137enum AttachmentEnum
138{
139 attachmodel,
140 attachname[24]
141}
142
143//new
144new VIPInfo[MAX_PLAYER_NAME][E_VIP_DATA];
145new VIPRank[12];
146new GATE1, GATE2;
147
148//VIP Vehicles
149new gVIPVehicles[38];
150
151//Vip toys
152new AttachmentObjects[][AttachmentEnum] = {
153{18632, "FishingRod"},
154{18633, "GTASAWrench1"},
155{18634, "GTASACrowbar1"},
156{18635, "GTASAHammer1"},
157{18636, "PoliceCap1"},
158{18637, "PoliceShield1"},
159{18638, "HardHat1"},
160{18639, "BlackHat1"},
161{18640, "Hair1"},
162{18975, "Hair2"},
163{19136, "Hair4"},
164{19274, "Hair5"},
165{18641, "Flashlight1"},
166{18642, "Taser1"},
167{18643, "LaserPointer1"},
168{19080, "LaserPointer2"},
169{19081, "LaserPointer3"},
170{19082, "LaserPointer4"},
171{19083, "LaserPointer5"},
172{19084, "LaserPointer6"},
173{18644, "Screwdriver1"},
174{18645, "MotorcycleHelmet1"},
175{18865, "MobilePhone1"},
176{18866, "MobilePhone2"},
177{18867, "MobilePhone3"},
178{18868, "MobilePhone4"},
179{18869, "MobilePhone5"},
180{18870, "MobilePhone6"},
181{18871, "MobilePhone7"},
182{18872, "MobilePhone8"},
183{18873, "MobilePhone9"},
184{18874, "MobilePhone10"},
185{18875, "Pager1"},
186{18890, "Rake1"},
187{18891, "Bandana1"},
188{18892, "Bandana2"},
189{18893, "Bandana3"},
190{18894, "Bandana4"},
191{18895, "Bandana5"},
192{18896, "Bandana6"},
193{18897, "Bandana7"},
194{18898, "Bandana8"},
195{18899, "Bandana9"},
196{18900, "Bandana10"},
197{18901, "Bandana11"},
198{18902, "Bandana12"},
199{18903, "Bandana13"},
200{18904, "Bandana14"},
201{18905, "Bandana15"},
202{18906, "Bandana16"},
203{18907, "Bandana17"},
204{18908, "Bandana18"},
205{18909, "Bandana19"},
206{18910, "Bandana20"},
207{18911, "Mask1"},
208{18912, "Mask2"},
209{18913, "Mask3"},
210{18914, "Mask4"},
211{18915, "Mask5"},
212{18916, "Mask6"},
213{18917, "Mask7"},
214{18918, "Mask8"},
215{18919, "Mask9"},
216{18920, "Mask10"},
217{18921, "Beret1"},
218{18922, "Beret2"},
219{18923, "Beret3"},
220{18924, "Beret4"},
221{18925, "Beret5"},
222{18926, "Hat1"},
223{18927, "Hat2"},
224{18928, "Hat3"},
225{18929, "Hat4"},
226{18930, "Hat5"},
227{18931, "Hat6"},
228{18932, "Hat7"},
229{18933, "Hat8"},
230{18934, "Hat9"},
231{18935, "Hat10"},
232{18936, "Helmet1"},
233{18937, "Helmet2"},
234{18938, "Helmet3"},
235{18939, "CapBack1"},
236{18940, "CapBack2"},
237{18941, "CapBack3"},
238{18942, "CapBack4"},
239{18943, "CapBack5"},
240{18944, "HatBoater1"},
241{18945, "HatBoater2"},
242{18946, "HatBoater3"},
243{18947, "HatBowler1"},
244{18948, "HatBowler2"},
245{18949, "HatBowler3"},
246{18950, "HatBowler4"},
247{18951, "HatBowler5"},
248{18952, "BoxingHelmet1"},
249{18953, "CapKnit1"},
250{18954, "CapKnit2"},
251{18955, "CapOverEye1"},
252{18956, "CapOverEye2"},
253{18957, "CapOverEye3"},
254{18958, "CapOverEye4"},
255{18959, "CapOverEye5"},
256{18960, "CapRimUp1"},
257{18961, "CapTrucker1"},
258{18962, "CowboyHat2"},
259{18963, "CJElvisHead"},
260{18964, "SkullyCap1"},
261{18965, "SkullyCap2"},
262{18966, "SkullyCap3"},
263{18967, "HatMan1"},
264{18968, "HatMan2"},
265{18969, "HatMan3"},
266{18970, "HatTiger1"},
267{18971, "HatCool1"},
268{18972, "HatCool2"},
269{18973, "HatCool3"},
270{18974, "MaskZorro1"},
271{18976, "MotorcycleHelmet2"},
272{18977, "MotorcycleHelmet3"},
273{18978, "MotorcycleHelmet4"},
274{18979, "MotorcycleHelmet5"},
275{19006, "GlassesType1"},
276{19007, "GlassesType2"},
277{19008, "GlassesType3"},
278{19009, "GlassesType4"},
279{19010, "GlassesType5"},
280{19011, "GlassesType6"},
281{19012, "GlassesType7"},
282{19013, "GlassesType8"},
283{19014, "GlassesType9"},
284{19015, "GlassesType10"},
285{19016, "GlassesType11"},
286{19017, "GlassesType12"},
287{19018, "GlassesType13"},
288{19019, "GlassesType14"},
289{19020, "GlassesType15"},
290{19021, "GlassesType16"},
291{19022, "GlassesType17"},
292{19023, "GlassesType18"},
293{19024, "GlassesType19"},
294{19025, "GlassesType20"},
295{19026, "GlassesType21"},
296{19027, "GlassesType22"},
297{19028, "GlassesType23"},
298{19029, "GlassesType24"},
299{19030, "GlassesType25"},
300{19031, "GlassesType26"},
301{19032, "GlassesType27"},
302{19033, "GlassesType28"},
303{19034, "GlassesType29"},
304{19035, "GlassesType30"},
305{19036, "HockeyMask1"},
306{19037, "HockeyMask2"},
307{19038, "HockeyMask3"},
308{19039, "WatchType1"},
309{19040, "WatchType2"},
310{19041, "WatchType3"},
311{19042, "WatchType4"},
312{19043, "WatchType5"},
313{19044, "WatchType6"},
314{19045, "WatchType7"},
315{19046, "WatchType8"},
316{19047, "WatchType9"},
317{19048, "WatchType10"},
318{19049, "WatchType11"},
319{19050, "WatchType12"},
320{19051, "WatchType13"},
321{19052, "WatchType14"},
322{19053, "WatchType15"},
323{19085, "EyePatch1"},
324{19086, "ChainsawDildo1"},
325{19090, "PomPomBlue"},
326{19091, "PomPomRed"},
327{19092, "PomPomGreen"},
328{19093, "HardHat2"},
329{19094, "BurgerShotHat1"},
330{19095, "CowboyHat1"},
331{19096, "CowboyHat3"},
332{19097, "CowboyHat4"},
333{19098, "CowboyHat5"},
334{19099, "PoliceCap2"},
335{19100, "PoliceCap3"},
336{19101, "ArmyHelmet1"},
337{19102, "ArmyHelmet2"},
338{19103, "ArmyHelmet3"},
339{19104, "ArmyHelmet4"},
340{19105, "ArmyHelmet5"},
341{19106, "ArmyHelmet6"},
342{19107, "ArmyHelmet7"},
343{19108, "ArmyHelmet8"},
344{19109, "ArmyHelmet9"},
345{19110, "ArmyHelmet10"},
346{19111, "ArmyHelmet11"},
347{19112, "ArmyHelmet12"},
348{19113, "SillyHelmet1"},
349{19114, "SillyHelmet2"},
350{19115, "SillyHelmet3"},
351{19116, "PlainHelmet1"},
352{19117, "PlainHelmet2"},
353{19118, "PlainHelmet3"},
354{19119, "PlainHelmet4"},
355{19120, "PlainHelmet5"},
356{19137, "CluckinBellHat1"},
357{19138, "PoliceGlasses1"},
358{19139, "PoliceGlasses2"},
359{19140, "PoliceGlasses3"},
360{19141, "SWATHelmet1"},
361{19142, "SWATArmour1"},
362{19160, "HardHat3"},
363{19161, "PoliceHat1"},
364{19162, "PoliceHat2"},
365{19163, "GimpMask1"},
366{19317, "bassguitar01"},
367{19318, "flyingv01"},
368{19319, "warlock01"},
369{19330, "fire_hat01"},
370{19331, "fire_hat02"},
371{19346, "hotdog01"},
372{19347, "badge01"},
373{19348, "cane01"},
374{19349, "monocle01"},
375{19350, "moustache01"},
376{19351, "moustache02"},
377{19352, "tophat01"},
378{19487, "tophat02"},
379{19488, "HatBowler6"},
380{19513, "whitephone"},
381{19515, "GreySwatArm"},
382{3044, "Cigar"},
383{1210, "Briefcase"}
384};
385
386new AttachmentBones[][24] = {
387{"Spine"},
388{"Head"},
389{"Left upper arm"},
390{"Right upper arm"},
391{"Left hand"},
392{"Right hand"},
393{"Left thigh"},
394{"Right thigh"},
395{"Left foot"},
396{"Right foot"},
397{"Right calf"},
398{"Left calf"},
399{"Left forearm"},
400{"Right forearm"},
401{"Left clavicle"},
402{"Right clavicle"},
403{"Neck"},
404{"Jaw"}
405};
406
407
408
409//VIP Base GATES STATE
410new bool:GATEO, bool:GATEC;
411//toys defines
412#define DIALOG_ATTACH_INDEX 13500
413#define DIALOG_ATTACH_INDEX_SELECTION DIALOG_ATTACH_INDEX+1
414#define DIALOG_ATTACH_EDITREPLACE DIALOG_ATTACH_INDEX+2
415#define DIALOG_ATTACH_MODEL_SELECTION DIALOG_ATTACH_INDEX+3
416#define DIALOG_ATTACH_BONE_SELECTION DIALOG_ATTACH_INDEX+4
417
418
419
420//colors//
421#define GREEN 0x33AA33AA
422#define RED 0xAA3333AA
423#define YELLOW 0xFFFF00AA
424#define BLUE 0x3779BF
425#define ORANGE 0xFF9900AA
426#define YELEN 0x9ACD32AA
427
428//Stock//
429ErrorMessages(playerid, errorID)
430{
431 if(errorID == 1) return SendClientMessage(playerid,RED,"[EO_VIP]: {FFFFFF}You are not a VIP");
432 if(errorID == 2) return SendClientMessage(playerid,RED,"[EO_VIP]: {FFFFFF}Player is not connected");
433 if(errorID == 3) return SendClientMessage(playerid,RED,"[EO_VIP]: {FFFFFF}You need to be VIP level 2 or above to use this command");
434 if(errorID == 4) return SendClientMessage(playerid,RED,"[EO_VIP]: {FFFFFF}You need to be VIP level 3 or above to use this command");
435 if(errorID == 5) return SendClientMessage(playerid,RED,"[EO_VIP]: {FFFFFF}You need to be VIP level 4 to use this command");
436 if(errorID == 6) return SendClientMessage(playerid,RED,"[EO_VIP]: {FFFFFF}You are not in a vehicle");
437 return 1;
438}
439
440GetName(playerid)
441{
442 new
443 pName[MAX_PLAYER_NAME];
444
445 GetPlayerName(playerid, pName, MAX_PLAYER_NAME);
446 return pName;
447}
448
449
450//VIP RANDOM MSG
451new VIPTips[][] = {
452 "[EO_VIP TIP]: {FFFF00}Use {FFFFFF}/vipcmds {FFFF00}to check some useful VIP Commands.",
453 "[EO_VIP TIP]: {FFFF00}Check more information about your VIP Level via {FFFFFF}/vipahelp .",
454 "[EO_VIP TIP]: {FFFF00}Check your VIP Level stats via {FFFFFF}/vipacc .",
455 "[EO_VIP TIP]: {FFFF00}Use {FFFFFF}/vipbs {FFFF00}to enable/disable spawning in VIP Base."
456};
457
458//============================================================================================================================
459//VIP Vehicles check
460IsVIPVehicle(vehicleid) {
461
462 for(new i, j = sizeof(gVIPVehicles); i < j; i++) {
463 if(vehicleid == gVIPVehicles[i]) {
464 return true;
465 }
466 }
467 return false;
468}
469public OnGameModeInit()
470{
471 SetGameModeText("EO_VIP System by {FFFF00}E.Oussama");
472 //VIP ADVERTISEMENT TIMER
473 SetTimer("VIPAT", 18000000, true);// 30 mins
474 //VIP TIPS TIMER
475 SetTimer("VIPTMSG", 900000, true);// 15 mins
476
477 SetGameModeText("EO VIP SYSTEM");
478 // 3D labels
479 Create3DTextLabel("{FFFF00}VIP {FFFFFF}Base\n{FFFFFF}Press {FF00FF}N {FFFFFF}to open the gate", 0x008080FF, 3001.5039, -683.3127, 2.0232, 60, 0, 0);
480 Create3DTextLabel("{FFFF00}VIP {FFFFFF}Lounge\n{FFFFFF}Press {FF00FF}N {FFFFFF}to enter", 0x008080FF, 3024.9241, -692.5798, 3.3770, 60, 0, 1);
481
482 //VIP Lounge Map
483 CreateObject(8661, 3022.12695, -672.72382, 1.80860, 0.00000, 0.00000, 0.00000);
484 CreateObject(8661, 3022.12695, -653.22382, 1.80860, 0.00000, 0.00000, 0.00000);
485 CreateObject(8661, 3061.62695, -653.22382, 1.80860, 0.00000, 0.00000, 0.00000);
486 CreateObject(8661, 3061.62695, -672.72382, 1.80860, 0.00000, 0.00000, 0.00000);
487 CreateObject(8661, 3061.62695, -692.22382, 1.80860, 0.00000, 0.00000, 0.00000);
488 CreateObject(8661, 3022.12695, -692.22382, 0.80860, 0.00000, 0.00000, 0.00000);
489 CreateObject(8661, 3061.62695, -711.72382, 1.80860, 0.00000, 0.00000, 0.00000);
490 CreateObject(8661, 3022.12695, -692.22382, 1.80860, 0.00000, 0.00000, 0.00000);
491 CreateObject(8661, 3022.12695, -711.72382, 1.80860, 0.00000, 0.00000, 0.00000);
492 CreateObject(8210, 3053.42676, -644.44202, 4.68320, 0.00000, 0.00000, 0.00000);
493 CreateObject(8210, 3028.50269, -644.44202, 4.68320, 0.00000, 0.00000, 0.00000);
494 CreateObject(8210, 3080.58472, -672.34198, 4.68320, 0.00000, 0.00000, 89.00000);
495 CreateObject(8210, 3080.58472, -694.17200, 4.68320, 0.00000, 0.00000, 90.00000);
496 CreateObject(8210, 3053.35278, -721.40399, 4.68320, 0.00000, 0.00000, 180.00000);
497 CreateObject(8210, 3029.06470, -721.40399, 4.68320, 0.00000, 0.00000, 180.00000);
498 CreateObject(3749, 3003.83130, -683.48969, 7.68770, 0.00000, 0.00000, 90.00000);
499 CreateObject(987, 3003.03687, -656.29919, 1.77550, 0.00000, 0.00000, 90.00000);
500 CreateObject(987, 3003.03687, -673.96320, 1.77550, 0.00000, 0.00000, 90.00000);
501 CreateObject(987, 3003.03687, -665.13123, 1.77550, 0.00000, 0.00000, 90.00000);
502 CreateObject(987, 3003.03687, -704.50720, 1.77550, 0.00000, 0.00000, 90.00000);
503 CreateObject(987, 3003.03687, -721.43518, 1.77550, 0.00000, 0.00000, 90.00000);
504 CreateObject(987, 3003.03687, -713.33917, 1.77550, 0.00000, 0.00000, 90.00000);
505 CreateObject(18788, 2983.97705, -683.33478, 0.81030, 0.00000, 0.00000, 0.00000);
506 CreateObject(18788, 2960.26514, -683.33478, 0.81030, 0.00000, 0.00000, 0.00000);
507 CreateObject(16287, 3072.45190, -710.08112, 1.79360, 0.00000, 0.00000, 0.00000);
508 CreateObject(16287, 3061.95190, -710.08112, 1.79360, 0.00000, 0.00000, 0.00000);
509 CreateObject(16287, 3050.95190, -710.08112, 1.79360, 0.00000, 0.00000, 0.00000);
510 CreateObject(10831, 3066.83032, -660.64362, 6.29510, 0.00000, 0.00000, -90.00000);
511 CreateObject(18850, 3065.63550, -660.40881, 1.78560, 0.00000, 0.00000, 0.00000);
512 CreateObject(13749, 3061.92041, -681.63129, 7.07810, 0.00000, 0.00000, -37.00000);
513 CreateObject(3605, 3024.24756, -706.26788, 7.87870, 0.00000, 0.00000, 180.00000);
514 CreateObject(8838, 3020.13696, -662.13177, 3.29460, 0.00000, 0.00000, 0.00000);
515 CreateObject(8838, 3020.13696, -656.63177, 3.29460, 0.00000, 0.00000, 180.00000);
516 CreateObject(52, 3025.04810, -693.57910, 2.65190, 0.00000, 0.00000, 0.00000);
517 //VIP vehicles
518 gVIPVehicles[0] = CreateVehicle(411, 3023.3174, -663.6208, 2.4356, 0.0000, 6, 6, 100);
519 gVIPVehicles[1] = CreateVehicle(411, 3030.1333, -663.6208, 2.4356, 0.0000, 6, 6, 100);
520 gVIPVehicles[2] = CreateVehicle(411, 3009.9695, -663.6208, 2.4356, 0.0000, 6, 6, 100);
521 gVIPVehicles[3] = CreateVehicle(522, 3069.4780, -714.9214, 2.2332, 0.0000, 6, 6, 100);
522 gVIPVehicles[4] = CreateVehicle(522, 3069.4780, -711.7974, 2.2332, 0.0000, 6, 6, 100);
523 gVIPVehicles[5] = CreateVehicle(522, 3069.4780, -708.3894, 2.2332, 0.0000, 6, 6, 100);
524 gVIPVehicles[6] = CreateVehicle(522, 3075.7261, -707.9634, 2.2332, 0.0000, 6, 6, 100);
525 gVIPVehicles[7] = CreateVehicle(522, 3073.8801, -707.9634, 2.2332, 0.0000, 6, 6, 100);
526 gVIPVehicles[8] = CreateVehicle(522, 3073.8801, -711.3714, 2.2332, 0.0000, 6, 6, 100);
527 gVIPVehicles[9] = CreateVehicle(522, 3075.7261, -711.3714, 2.2332, 0.0000, 6, 6, 100);
528 gVIPVehicles[10] = CreateVehicle(451, 3030.6123, -656.5804, 2.3751, 180.0000, 6, 6, 100);
529 gVIPVehicles[11] = CreateVehicle(451, 3037.0022, -656.5804, 2.3751, 180.0000, 6, 6, 100);
530 gVIPVehicles[12] = CreateVehicle(451, 3024.0803, -656.5804, 2.3751, 180.0000, 6, 6, 100);
531 gVIPVehicles[13] = CreateVehicle(487, 3065.8286, -654.2310, 15.1676, 90.0000, 6, 6, 100);
532 gVIPVehicles[14] = CreateVehicle(487, 3065.8286, -667.4370, 15.1676, -90.0000, 6, 6, 100);
533 gVIPVehicles[15] = CreateVehicle(470, 3009.4387, -655.6624, 2.5133, 180.0000, 6, 6, 100);
534 gVIPVehicles[16] = CreateVehicle(470, 3016.6807, -655.6624, 2.5133, 180.0000, 6, 6, 100);
535 gVIPVehicles[17] = CreateVehicle(444, 3071.3596, -651.0118, 2.9290, 180.0000, 6, 6, 100);
536 gVIPVehicles[18] = CreateVehicle(444, 3066.1057, -651.0118, 2.9290, 180.0000, 6, 6, 100);
537 gVIPVehicles[19] = CreateVehicle(444, 3061.2776, -651.0118, 2.9290, 180.0000, 6, 6, 100);
538 gVIPVehicles[20] = CreateVehicle(444, 3061.2776, -669.8978, 2.9290, 0.0000, 6, 6, 100);
539 gVIPVehicles[21] = CreateVehicle(444, 3066.5315, -669.8978, 2.9290, 0.0000, 6, 6, 100);
540 gVIPVehicles[22] = CreateVehicle(463, 3075.6326, -704.8986, 2.2331, 0.0000, 6, 6, 100);
541 gVIPVehicles[23] = CreateVehicle(463, 3073.7866, -704.8986, 2.2331, 0.0000, 6, 6, 100);
542 gVIPVehicles[24] = CreateVehicle(539, 3064.4543, -714.8845, 2.2331, 0.0000, 6, 6, 100);
543 gVIPVehicles[25] = CreateVehicle(539, 3059.6262, -714.8845, 2.2331, 0.0000, 6, 6, 100);
544 gVIPVehicles[26] = CreateVehicle(539, 3059.6262, -710.1985, 2.2331, 0.0000, 6, 6, 100);
545 gVIPVehicles[27] = CreateVehicle(539, 3059.6262, -705.7965, 2.2331, 0.0000, 6, 6, 100);
546 gVIPVehicles[28] = CreateVehicle(539, 3064.3123, -705.7965, 2.2331, 0.0000, 6, 6, 100);
547 gVIPVehicles[29] = CreateVehicle(539, 3064.3123, -710.1985, 2.2331, 0.0000, 6, 6, 100);
548 gVIPVehicles[30] = CreateVehicle(556, 3077.7942, -679.0674, 2.6504, 0.0000, 6, 6, 100);
549 gVIPVehicles[31] = CreateVehicle(556, 3072.3982, -679.0674, 2.6504, 0.0000, 6, 6, 100);
550 gVIPVehicles[32] = CreateVehicle(556, 3066.2922, -679.0674, 2.6504, 0.0000, 6, 6, 100);
551 gVIPVehicles[33] = CreateVehicle(481, 3027.9504, -692.3883, 2.2612, 0.0000, 6, 6, 100);
552 gVIPVehicles[34] = CreateVehicle(481, 3028.8025, -692.3883, 2.2612, 0.0000, 6, 6, 100);
553 gVIPVehicles[35] = CreateVehicle(481, 3029.6545, -693.8083, 2.2612, 0.0000, 6, 6, 100);
554 gVIPVehicles[36] = CreateVehicle(481, 3030.7905, -693.8083, 2.2612, 0.0000, 6, 6, 100);
555 gVIPVehicles[37] = CreateVehicle(481, 3031.9265, -693.8083, 2.2612, 0.0000, 6, 6, 100);
556
557 for(new i = 0; i < sizeof(gVIPVehicles); i++)
558 Attach3DTextLabelToVehicle(Create3DTextLabel("VIP {FFFFFF}Vehicle", YELLOW, 0.0, 0.0, -10.0, 15.0, 0, 1), gVIPVehicles[i], 0.0, 0.0, 1.5) && AddVehicleComponent(gVIPVehicles[i], 1010);
559
560 //VIP GATE
561 GATE1 = CreateObject(969, 3002.25830, -683.18237, 1.85340, 0.00000, 0.00000, 90.00000);
562 GATE2 = CreateObject(969, 3002.25830, -691.98639, 1.85340, 0.00000, 0.00000, 90.00000);
563 GATEO = false;
564 GATEC = true;
565
566 //printf msg
567 printf("EO_VIP Lounge Loaded");
568 printf("3D Labels sticked to all VIP Vehicles");
569
570 return 1;
571}
572
573//VIP TIPS MSGS
574forward VIPTMSG(playerid);
575public VIPTMSG(playerid){
576 new rand = random(sizeof(VIPTips));
577 for(new i=0; i<MAX_PLAYERS; i++){
578 if(IsPlayerConnected(i) && i != INVALID_PLAYER_ID && VIPInfo[i][VIPLevel] > 0){
579 SendClientMessageToAll(GREEN, VIPTips[rand]);
580 }
581 }
582 return 1;
583}
584
585//VIP ADVERTISEMENT
586forward VIPAT(playerid);
587public VIPAT(playerid){
588 for(new i=0; i<MAX_PLAYERS; i++){
589 if(IsPlayerConnected(i) && i != INVALID_PLAYER_ID && VIPInfo[playerid][VIPLevel] == 0)
590 SendClientMessageToAll(GREEN, "[EO_VIP]: {FFFFFF}Buy one of four different VIP Levels and gain countless awesome features");
591 }
592 return 1;
593}
594public OnPlayerConnect(playerid)
595{
596 new Query[75], DBResult:Result;
597 SetGameModeText("[EO VIP]: {FF00CC}VIP System by {FFFF00}Oussama");
598 VIPInfo[playerid][VIPLoggedIn] = false;
599
600 format(Query, sizeof(Query), "SELECT * FROM `VIPS` WHERE `PlayerName` = '%s'",GetName(playerid));
601 Result = db_query(Database, Query);
602 if(db_num_rows(Result)){
603 db_get_field_assoc(Result, "Gotten_Date", VIPInfo[playerid][VIPGOT], 12);
604 VIPInfo[playerid][VIPLevel] = db_get_field_assoc_int(Result, "VIPLevel");
605 VIPInfo[playerid][VIPDate] = db_get_field_assoc_int(Result, "Remaining_Days");
606 VIPInfo[playerid][VIPBSpawn] = db_get_field_assoc_int(Result, "Spawn_In_Base");
607 VIPInfo[playerid][VIPPreset] = db_get_field_assoc_int(Result, "VIP_Weapon_Preset");
608 VIPInfo[playerid][WMS] = db_get_field_assoc_int(Result, "Weapon_Melee_Slot");
609 VIPInfo[playerid][WPS] = db_get_field_assoc_int(Result, "Weapon_Pistol_Slot");
610 VIPInfo[playerid][WSS] = db_get_field_assoc_int(Result, "Weapon_Shotgun_Slot");
611 VIPInfo[playerid][WSSL] = db_get_field_assoc_int(Result, "Weapon_SubMachine_Slot");
612 VIPInfo[playerid][WAS] = db_get_field_assoc_int(Result, "Weapon_Assault_Slot");
613 VIPInfo[playerid][WRS] = db_get_field_assoc_int(Result, "Weapon_Rifle_Slot");
614 db_free_result(Result);
615 switch(VIPInfo[playerid][VIPLevel]){
616 case 1: format(VIPInfo[playerid][VIPAcc], 12, "Silver");
617 case 2: format(VIPInfo[playerid][VIPAcc], 12, "Gold");
618 case 3: format(VIPInfo[playerid][VIPAcc], 12, "Diamond");
619 case 4: format(VIPInfo[playerid][VIPAcc], 12, "Platinum");
620 }
621 VIPInfo[playerid][VIPLoggedIn] = true;
622 }
623 else
624 db_free_result(Result);
625
626 return 1;
627}
628public OnPlayerDisconnect(playerid, reason)
629{
630 new Query[300];
631 format(Query, sizeof(Query), "UPDATE `VIPS` SET `VIPLevel` = %d, `Remaining_Days` = %d, `Spawn_In_Base` = %d, `VIP_Weapon_Preset` = %d, `Weapon_Melee_Slot` = %d WHERE `PlayerName` = '%s'",VIPInfo[playerid][VIPLevel],VIPInfo[playerid][VIPDate],VIPInfo[playerid][VIPBSpawn],VIPInfo[playerid][VIPPreset],VIPInfo[playerid][WMS],GetName(playerid));
632 db_free_result(db_query(Database, Query));
633 format(Query, sizeof(Query), "UPDATE `VIPS` SET `Weapon_Pistol_Slot` = %d, `Weapon_Shotgun_Slot` = %d, `Weapon_Assault_Slot` = %d, `Weapon_Rifle_Slot` = %d WHERE `PlayerName` = '%s'",VIPInfo[playerid][WPS],VIPInfo[playerid][WSS],VIPInfo[playerid][WSSL],VIPInfo[playerid][WAS],VIPInfo[playerid][WRS],GetName(playerid));
634 db_free_result(db_query(Database, Query));
635 return 1;
636}
637public OnPlayerSpawn(playerid)
638{
639 new str[150], pname[MAX_PLAYER_NAME];
640 VIPInfo[playerid][GPAuth] = true;
641 GetPlayerName(playerid, pname, sizeof(pname));
642 if(VIPInfo[playerid][VIPLevel] > 0){
643 format(str, sizeof(str), "Welcome {FFFFFF}%s {FFFF00}, your VIP level is {FFFFFF}%i {FFFF00}|| account type: {FFFFFF}%s {FFFF00}|| Days left: {FFFFFF}%i",pname, VIPInfo[playerid][VIPLevel], VIPInfo[playerid][VIPAcc], VIPInfo[playerid][VIPDate]);
644 SendClientMessage(playerid, YELLOW, str);
645 }
646 if(VIPInfo[playerid][VIPLevel] > 0) {
647 VIPInfo[playerid][VIPLoggedIn] = true;
648 VIPInfo[playerid][IsVIPInLounge] = false;
649 SendClientMessage(playerid, ORANGE, "[EO_VIP]: {FFFF00}Use {FFFFFF}/vipcmds {FFFF00}to display a useful collection of VIP commands, for information help use {FFFFFF}/viphelp");
650 }
651 if(VIPInfo[playerid][VIPBSpawn] == 1){
652 SetPlayerPos(playerid, 3049.6392,-668.2963,2.8086);
653 SendClientMessage(playerid, ORANGE, "[EO_VIP]: {FFFF00}You have spawned at VIP Base, you can change this option via {FFFFFF}/vipbs");
654 return 1;
655 }
656 if(VIPInfo[playerid][VIPLevel] == 3){
657 SendClientMessage(playerid, ORANGE, "[EO_VIP]: {FFFF00}Your Armour has been set to 40%%");
658 SetPlayerArmour(playerid, 40);
659 return 1;
660 }
661 else if(VIPInfo[playerid][VIPLevel] == 4){
662 SendClientMessage(playerid, ORANGE, "[EO_VIP]: {FFFF00}Your Armour has been set to 90%%");
663 SetPlayerArmour(playerid, 90);
664 return 1;
665 }
666 return 1;
667}
668//================================================================================================
669//===========================================|[COMMANDS]|=========================================
670//================================================================================================
671CMD:setvip(playerid, params[]) {
672 if(IsPlayerAdmin(playerid)){
673 new
674 str[140],
675 Query[500],
676 pgiven[MAX_PLAYER_NAME],
677 aname[MAX_PLAYER_NAME],
678 vlevel,
679 pgID;
680
681 if(sscanf(params, "ui", pgID, vlevel)) return SendClientMessage(playerid, BLUE, "[USAGE]: {FFFFFF}/setvip (playerid) (VIP level 0-4)") &&
682 SendClientMessage(playerid, BLUE, "[FUNCTION]: {FFFFFF}Will set the Account Type of the Specific Player {92979C}(0-NormalAcc,1-Silver,2-Gold,3-Platinum,4-Diamond)");
683 GetPlayerName(playerid, aname, sizeof(aname));
684 GetPlayerName(pgID, pgiven, sizeof(pgiven));
685 if(!IsPlayerConnected(pgID) || pgID == INVALID_PLAYER_ID) return ErrorMessages(playerid, 2);
686 if(vlevel > 4|| vlevel < 0) return SendClientMessage(playerid, BLUE, "INFO: {FFFFFF}Available VIP levels are (1-4)");
687 if(vlevel == VIPInfo[pgID][VIPLevel]) return SendClientMessage(playerid,RED,"ERROR: Player is already has this VIP Level!");
688 new day, month, year;
689 new date[64];
690 getdate(year, month, day);
691 format(date, sizeof(date), "%s VIP status was set in: %02d %02d %02d",pgiven, day, month, year);
692 printf("%s's VIP status was set in: %02d %02d %02d", pgiven, day, month, year);
693 switch(vlevel){
694 case 1: VIPRank = "Silver";
695 case 2: VIPRank = "Gold";
696 case 3: VIPRank = "Platinum";
697 case 4: VIPRank = "Diamond";
698 }
699 if(vlevel > 0){
700 format(str ,sizeof(str),"[EO_VIP]: {FFFF00}Administrator {FFFFFF}%s {FFFF00}has set your Account Type to: {FFFFFF}%s {FFFF00}|| VIP Level: {FFFFFF}%i", aname, VIPRank, vlevel);
701 SendClientMessage(pgID, ORANGE, str);
702 GameTextForPlayer(playerid, "VIP Status set!~n~~y~Congratulations", 3000, 6);
703 format(str, sizeof(str), "[EO_VIP]: You have set %s VIP level to %i | account type: %s",pgiven, vlevel, VIPRank);
704 SendClientMessage(playerid, GREEN, str);
705 SendClientMessage(pgID, GREEN, "[EO_VIP]: Your VIP status is available for {FFFFFF}30 days");
706 SendClientMessage(pgID, ORANGE, "[EO_VIP]: {FFFF00}Use {FFFFFF}/vipcmds {FFFF00}to display a useful collection of VIP commands, for information help use {FFFFFF}/viphelp");
707 VIPInfo[playerid][VIPDay] = day;
708 VIPInfo[playerid][VIPMonth] = month;
709 VIPInfo[playerid][VIPYear] = year;
710 VIPInfo[pgID][VIPLevel] = vlevel;
711 VIPInfo[pgID][VIPAcc] = VIPRank;
712 VIPInfo[playerid][VIPPreset] = 0;
713 VIPInfo[playerid][VIPLoggedIn] = true;
714 VIPInfo[pgID][VIPDate] = 31;
715 format(VIPInfo[pgID][VIPGOT], 12, "%d/%d/%d",day,month,year);
716 pVIPRT(playerid);
717 format(Query, sizeof(Query), "INSERT INTO `VIPS`(`PlayerName`, `VIPLevel`, `Gotten_Date`, `Remaining_Days`) VALUES('%s', %d, '%s', %d)", GetName(pgID),VIPInfo[pgID][VIPLevel],VIPInfo[pgID][VIPGOT],VIPInfo[pgID][VIPDate]);
718 db_free_result(db_query(Database, Query));
719 printf("%s Has been set to VIP level %i by administrator %s || account type : %s", pgiven, vlevel, aname, VIPRank);
720 }
721 if(vlevel == 0){
722 format(str, sizeof(str),"[EO_VIP]: {FFFFFF}Administrator {FFFF00}%s {FFFFFF}has removed your VIP status!", aname);
723 SendClientMessage(pgID, GREEN, str);
724 format(str, sizeof(str), "[EO_VIP]: {FFFFFF}You have removed {FFFF00}%s{FFFFFF}'s VIP status",pgiven, vlevel);
725 SendClientMessage(playerid, GREEN, str);
726 GameTextForPlayer(playerid, "VIP Status Removed", 3000, 6);
727 VIPInfo[pgID][VIPLevel] = 0;
728 VIPInfo[pgID][VIPDate] = 0;
729 format(VIPInfo[pgID][VIPAcc], 12, "None");
730 VIPInfo[playerid][VIPLoggedIn] = false;
731 format(Query, sizeof(Query), "DELETE FROM `VIPS` WHERE `PlayerName` = '%s'", GetName(pgID));
732 db_free_result(db_query(Database, Query));
733 stop pVIPRT(playerid);
734 }
735 }
736 else
737 SendClientMessage(playerid, RED, "[ERROR]: you are not authorized to use this command");
738 return 1;
739}
740CMD:vipcount(playerid){
741 if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, RED, "[EO VIP]: {FFFFFF}You are not authorized to use this!");
742 new str[70],DBResult:Result,VIPCount;
743 format(str, sizeof(str), "SELECT * FROM `VIPS`");
744 Result = db_query(Database, str);
745 for(new Qr; Qr<db_num_rows(Result);Qr++){
746 VIPCount++;
747 db_next_row(Result);
748 }
749 db_free_result(Result);
750 format(str, sizeof(str), "[INFO]: {FFFFFF}There are {FFFF00}%d {FFFFFF}VIP Account registered", VIPCount);
751 SendClientMessage(playerid, GREEN, str);
752
753 return 1;
754}
755//=========//1 day play time check//===========================
756ptask pVIPRT[86400000](playerid){
757 if(VIPInfo[playerid][VIPLoggedIn] == true){
758 new Query[300];
759 if(VIPInfo[playerid][VIPDate] == 1){
760 format(Query, sizeof(Query), "DELETE FROM `VIPS` WHERE `PlayerName` = '%s'", GetName(playerid));
761 db_free_result(db_query(Database, Query));
762 GameTextForPlayer(playerid, "VIP Status Expired", 3000, 6);
763 SendClientMessage(playerid, RED, "[EO_VIP]: {FFFFFF}your VIP status has expired!");
764 printf("%s VIP status has been expired!", GetName(playerid));
765 }
766 else{
767 VIPInfo[playerid][VIPDate]--;
768 format(Query, sizeof(Query), "UPDATE `VIPS` SET `VIPLevel` = %d, `Remaining_Days` = %d, `Spawn_In_Base` = %d, `VIP_Weapon_Preset` = %d `Weapon_Melee_Slot` = %d WHERE `PlayerName` = '%s'",VIPInfo[playerid][VIPLevel],VIPInfo[playerid][VIPDate],VIPInfo[playerid][VIPBSpawn],VIPInfo[playerid][VIPPreset],VIPInfo[playerid][WMS],GetName(playerid));
769 db_free_result(db_query(Database, Query));
770 format(Query, sizeof(Query), "UPDATE `VIPS` SET `Weapon_Pistol_Slot` = %d,`Weapon_Shotgun_Slot` = %d,`Weapon_Assault_Slot` = %d,`Weapon_Rifle_Slot` = %d WHERE `PlayerName` = '%s'",VIPInfo[playerid][WPS],VIPInfo[playerid][WSS],VIPInfo[playerid][WSSL],VIPInfo[playerid][WAS],VIPInfo[playerid][WRS],GetName(playerid));
771 db_free_result(db_query(Database, Query));
772 printf("[EO VIP]: %s has passed 1 day of his VIP time", GetName(playerid));
773 }
774 }
775}//======================================================
776timer VIPGPPTimer[60000](pid){
777 VIPInfo[pid][CNTUSE] = false;
778}
779//========================================================
780CMD:kill(playerid, o[]) {
781 SetPlayerHealth(playerid, 0);
782 return 1;
783}
784//===========//VIP chat//========================================
785CMD:vc(playerid, params[]) {
786
787 if(VIPInfo[playerid][VIPLevel] > 0) {
788 new msg[100], str[128], pname[MAX_PLAYER_NAME];
789 GetPlayerName(playerid, pname,sizeof( pname));
790 if(sscanf(params,"s",msg)) return SendClientMessage(playerid, BLUE,"[USAGE]: {FFFFFF}/vc (message)") && SendClientMessage(playerid,BLUE,"[FUNCTION]: {FFFFFF}Use the VIP Chat");
791 format(str,sizeof(str),"[VIP CHAT]%s: {72AB88}%s", pname, msg);
792 for(new i; i<MAX_PLAYERS; i++){
793 if(IsPlayerConnected(i) && VIPInfo[i][VIPLevel] > 0)
794 SendClientMessage(i,GREEN,str);
795 }
796 }
797 else
798 ErrorMessages(playerid, 1);
799 return 1;
800}
801
802//============//VIPS LIST//=======================================
803CMD:vips(playerid, params[]) {
804 new
805 str[MAX_PLAYER_NAME+1050],
806 Count,
807 pname[MAX_PLAYER_NAME];
808 for(new i=0; i<MAX_PLAYERS; i++){
809 if(IsPlayerConnected(i) && VIPInfo[i][VIPLevel] > 0) {
810 GetPlayerName(i, pname, sizeof(pname));
811 Count++;
812 }
813 }
814 if(Count == 0) return SendClientMessage(playerid, ORANGE, "[EO_VIP]: {FFFF00}There are no VIPs online at the moment!");
815 format(str, sizeof(str),"%s | VIP Level: {FFFF00}%i [%s]",pname, VIPInfo[playerid][VIPLevel], VIPInfo[playerid][VIPAcc]);
816 ShowPlayerDialog(playerid, DIALOG_AVIPS, DIALOG_STYLE_MSGBOX, "Connected VIPs", str, "Got it!", "");
817 /*SendClientMessage(playerid, YELLOW,"=======================|Connected VIPs|=======================");
818 SendClientMessage(playerid, ORANGE, str);
819 SendClientMessage(playerid, YELLOW,"==============================================================");*/
820 return 1;
821}
822//=====================//VIP COMMANDS//============================================
823CMD:vipcmds(playerid, params[]) {
824 if(VIPInfo[playerid][VIPLevel] > 0) {
825 if(VIPInfo[playerid][VIPLevel] == 1) {
826 SendClientMessage(playerid, ORANGE, "||================================|| VIP LEVEL 1 COMMANDS [SILVER] ||=================================||");
827 SendClientMessage(playerid, YELLOW, "/vipcmds - Display VIP level commands || /vc (message) - Use VIP chat || /vips - List of online VIPs");
828 SendClientMessage(playerid, YELEN, "/viphelp - Display usefull information about VIP level || /vipacc - Gives more info about your VIP Account");
829 SendClientMessage(playerid, YELLOW, "/viptag - show off your VIP status to public || /flip - Flip your vehicle || /weatherids - check available weather IDs");
830 SendClientMessage(playerid, YELEN, "/vipcw - Change the player's weather || /vipt - Changed the player's time || /vipbs - Spawn in base option");
831 SendClientMessage(playerid, YELLOW, "/vipgc - Gives money to a player from a far range || /isvip - See someone's VIP Stats || /viptoys - Attach objects to player");
832 SendClientMessage(playerid, ORANGE, "||===================================================================================================||");
833 return 1;
834 }
835 else if(VIPInfo[playerid][VIPLevel] == 2) {
836 SendClientMessage(playerid, ORANGE, "||============================|| VIP LEVEL 2 COMMANDS [GOLD] ||====================================||");
837 SendClientMessage(playerid, YELLOW, "/vipcmds - Display VIP level commands || /vc (message) - Use VIP chat || /vips - List of online VIPs");
838 SendClientMessage(playerid, YELEN, "/viphelp - Display usefull information about VIP level || /vipacc - Gives more info about your VIP Account");
839 SendClientMessage(playerid, YELLOW, "/carc - Changes a vehicle color || /viptag - show off your VIP status to public || /vipgp - weapon pack");
840 SendClientMessage(playerid, YELEN, "/vipnos - Add nitrous to a vehicle || /flip - Flip your vehicle || /weatherids - check available weather IDs");
841 SendClientMessage(playerid, YELLOW, "/vipcw - Change the player's weather || /vipt - Changed the player's time || /vipbs - Spawn in base option");
842 SendClientMessage(playerid, YELEN, "/vipgc - Gives money to a player from a far range || /isvip - See someone's VIP Stats || /viptoys - Attach objects to player");
843 SendClientMessage(playerid, ORANGE, "||===================================================================================================||");
844 return 1;
845 }
846 else if(VIPInfo[playerid][VIPLevel] == 3) {
847 SendClientMessage(playerid, ORANGE, "||=====================|| VIP LEVEL 3 COMMANDS [PLATINUM ||===========================================||");
848 SendClientMessage(playerid, YELLOW, "/vipcmds - Display VIP level commands || /vc (message) - Use VIP chat || /vips - List of online VIPs");
849 SendClientMessage(playerid, YELEN, "/viphelp - Display usefull information about VIP level || /vipacc - Gives more info about your VIP Account");
850 SendClientMessage(playerid, YELLOW, "/carc - Changes a vehicle color || /viptag - show off your VIP status to public || /vipgp - weapon pack");
851 SendClientMessage(playerid, YELEN, "/vipnos - Add nitrous to a vehicle || /vipefix - fix your vehicle engine || /flip - Flip your vehicle ");
852 SendClientMessage(playerid, YELLOW, "/weatherids - check available weather IDs || /vipcw - Change the player's weather || /vipt - Changed the player's time");
853 SendClientMessage(playerid, YELEN, "/vipbs - Spawn in base option || /vipgc - Gives money to a player from a far range || /vipskin - select a new skin to use");
854 SendClientMessage(playerid, YELLOW, "/isvip - See someone's VIP Stats || /viptoys - Attach objects to player");
855 SendClientMessage(playerid, ORANGE, "||===================================================================================================||");
856 return 1;
857 }
858 else if(VIPInfo[playerid][VIPLevel] == 4) {
859 SendClientMessage(playerid, ORANGE, "||====================================|| VIP LEVEL 4 COMMANDS [DIAMOND] ||=============================||");
860 SendClientMessage(playerid, YELLOW, "/vipcmds - Display VIP level commands || /vc (message) - Use VIP chat || /vips - List of online VIPs");
861 SendClientMessage(playerid, YELEN, "/viphelp - Display usefull information about VIP level || /vipacc - Gives more info about your VIP Account");
862 SendClientMessage(playerid, YELLOW, "/carc - Changes a vehicle color || /viptag - Show off your VIP status to public || /vipgp - weapon pack");
863 SendClientMessage(playerid, YELEN, "/vipnos - Add nitrous to a vehicle || /vipefix - Fix your vehicle engine || /vipbfix - Fix your vehicle body");
864 SendClientMessage(playerid, YELLOW, "/flip - Flip your vehicle || /vipbtp - Teleport to VIP base || /weatherids - check available weather IDs");
865 SendClientMessage(playerid, YELEN, "/vipcw - Change the player's weather || /vipt - Changed the player's time || /vipbs - Spawn in base option");
866 SendClientMessage(playerid, YELLOW, "/vipgc - Gives money to a player from a far range || /vipskin - select a new skin to use || /isvip - See someone's VIP Stats");
867 SendClientMessage(playerid, YELEN, "/vipgpp - manage your customized gun pack preset to be able to spawn them via /vipgp || /viptoys - Attach objects to player");
868 SendClientMessage(playerid, ORANGE, "||====================================================================================================||");
869 return 1;
870 }
871 return 1;
872 }
873 else {
874 ErrorMessages(playerid, 1);
875 }
876 return 1;
877}
878//==================//VIP HELP//===================================================
879CMD:viphelp(playerid, params[]) {
880 if(VIPInfo[playerid][VIPLevel] > 0) {
881 if(VIPInfo[playerid][VIPLevel] == 1){
882 ShowPlayerDialog(playerid, DIALOG_VIPHELP, DIALOG_STYLE_MSGBOX, "SILVER VIP Help", "Features:\n\nYou can change up to 2 different weather types.","Got it!","");
883 return 1;
884 }
885 else if(VIPInfo[playerid][VIPLevel] == 2){
886 ShowPlayerDialog(playerid, DIALOG_VIPHELP, DIALOG_STYLE_MSGBOX, "GOLD VIP Help", "Features:\n\n/vipgp Gives you 2 weapons.\n\nYou can change up to 3 different weather types.","Got it!","");
887 return 1;
888 }
889 else if(VIPInfo[playerid][VIPLevel] == 3){
890 ShowPlayerDialog(playerid, DIALOG_VIPHELP, DIALOG_STYLE_MSGBOX, "PLATINUM VIP Help", "Features:\n\nSpawn with 40%% of Armour.\n\n/vipgp Gives you 3 weapons.\n\nYou can change up to 4 different weather types.\nYou choose between 5 skin via /vipskin.","Got it!","");
891 return 1;
892 }
893 else if(VIPInfo[playerid][VIPLevel] == 4){
894 if(VIPInfo[playerid][VIPPreset] == 0){
895 ShowPlayerDialog(playerid, DIALOG_VIPHELP, DIALOG_STYLE_MSGBOX, "DIAMOND VIP Help", "Features:\n\nSpawn with 90%% of Armour.\n\n/vipgp Gives you 4 weapons.\n\nYou can change up to 6 different weather types.\n\nYou choose between 10 skin via /vipskin.","Got it!","");
896 return 1;
897 }
898 else{
899 // something here
900 }
901 }
902 return 1;
903 }
904 else {
905 ErrorMessages(playerid, 1);
906 }
907 return 1;
908}
909//===================//Account info command//======================================
910CMD:vipacc(playerid, params[]) {
911 if(VIPInfo[playerid][VIPLevel] > 0) {
912 new str[350], pname[MAX_PLAYER_NAME];
913 GetPlayerName(playerid, pname, sizeof(pname));
914 if(VIPInfo[playerid][VIPBSpawn] == 1){
915 format(str, sizeof(str), "Name: %s\n\n{FFFFFF}VIP Level: %i || VIP Account: %s\n\nRegistration Date: %i // %i // %i\n\nDays Left: %i\n\nSpawn in VIP Base: YES", pname, VIPInfo[playerid][VIPLevel], VIPInfo[playerid][VIPAcc], VIPInfo[playerid][VIPDay],VIPInfo[playerid][VIPMonth],VIPInfo[playerid][VIPYear], VIPInfo[playerid][VIPDate]);
916 ShowPlayerDialog(playerid, DIALOG_VIPINFO, DIALOG_STYLE_MSGBOX, "VIP Account Info", str, "Got it!", "");
917 return 1;
918 }
919 else{
920 format(str, sizeof(str), "Name: %s\n\n{FFFFFF}VIP Level: %i || VIP Account: %s\n\nRegistration Date: %i // %i // %i\n\nDays Left: %i\n\nSpawn in VIP Base: NO", pname, VIPInfo[playerid][VIPLevel], VIPInfo[playerid][VIPAcc], VIPInfo[playerid][VIPDay],VIPInfo[playerid][VIPMonth],VIPInfo[playerid][VIPYear], VIPInfo[playerid][VIPDate]);
921 ShowPlayerDialog(playerid, DIALOG_VIPINFO, DIALOG_STYLE_MSGBOX, "VIP Account Info", str, "Got it!", "");
922 }
923 }
924 else {
925 ErrorMessages(playerid, 1);
926 }
927 return 1;
928}
929//=================//car color//===================================================
930CMD:carc(playerid, params[]) {
931 if(VIPInfo[playerid][VIPLevel] > 0) {
932 if(VIPInfo[playerid][VIPLevel] > 1) {
933 new
934 str[95],
935 color1,
936 color2;
937 if(sscanf(params, "ii", color1, color2)) return SendClientMessage(playerid, BLUE, "[USAGE]: {FFFFFF}/carc (color 1)(color 2)") && SendClientMessage(playerid, BLUE, "[FUNCTION]: {FFFFFF}Change a vehicle color");
938 if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, RED, "[EO_VIP]: {FFFFFF}You need to be in a vehicle");
939 if(color1 > 255 || color1 < 0 || color2 > 255 || color2 < 0) return SendClientMessage(playerid, RED, "[EO_VIP]: {FFFFFF}Invalid Color ID (Available ID: 0 - 255)");
940 if(VIPInfo[playerid][VIPLevel] == 2){
941 if(GetPlayerMoney(playerid) < 1000) return SendClientMessage(playerid, RED, "[EO_VIP]: {FFFFFF}You can't afford changing this vehicle's color");
942 GivePlayerMoney(playerid, -1000);
943 format(str, sizeof(str), "[EO_VIP]: {FFFF00}Vehicle color changed to ( %i , %i ), you've been charged with {FFFFFF}$1000", color1, color2);
944 SendClientMessage(playerid, ORANGE, str);
945 ChangeVehicleColor(GetPlayerVehicleID(playerid), color1, color2);
946 }
947 else if(VIPInfo[playerid][VIPLevel] == 3){
948 if(GetPlayerMoney(playerid) < 600) return SendClientMessage(playerid, RED, "[EO_VIP]: {FFFFFF}You can't afford changing this vehicle's color");
949 GivePlayerMoney(playerid, -600);
950 format(str, sizeof(str), "[EO_VIP]: {FFFF00}Vehicle color changed to ( %i , %i ), you've been charged with {FFFFFF}$600", color1, color2);
951 SendClientMessage(playerid, ORANGE, str);
952 ChangeVehicleColor(GetPlayerVehicleID(playerid), color1, color2);
953 }
954 else if(VIPInfo[playerid][VIPLevel] == 4){
955 if(GetPlayerMoney(playerid) < 200) return SendClientMessage(playerid, RED, "[EO_VIP]: You can't afford changing this vehicle's color");
956 GivePlayerMoney(playerid, -200);
957 format(str, sizeof(str), "[EO_VIP]: {FFFF00}Vehicle color changed to ( %i , %i ), you've been charged with {FFFFFF}$200", color1, color2);
958 SendClientMessage(playerid, ORANGE, str);
959 ChangeVehicleColor(GetPlayerVehicleID(playerid), color1, color2);
960 }
961 }
962 else {
963 ErrorMessages(playerid, 3);
964 }
965 return 1;
966 }
967 else {
968 ErrorMessages(playerid, 1);
969 }
970 return 1;
971}
972//===================//VIP Vehicle tag//===========================================
973
974CMD:viptag(playerid, params[]) {
975 new str[MAX_PLAYER_NAME+21];
976 if(VIPInfo[playerid][VIPLevel] > 0) {
977 new Text3D:VIPVEHTAG = Create3DTextLabel( str, YELLOW, 0.0 ,0.0 ,0.0, 0, 0);
978 if(VIPInfo[playerid][VIPTAG] == false){
979 format(str, sizeof(str), "VIP {FFFFFF}Level %i", VIPInfo[playerid][VIPLevel]);
980 Attach3DTextLabelToPlayer(VIPVEHTAG, playerid, 0.0, 0.0, 2.0);
981 SendClientMessage(playerid, ORANGE, "[EO_VIP]: {FFFFFF}You have turned the VIP tag on");
982 VIPInfo[playerid][VIPTAG] = true;
983 }
984 else if(VIPInfo[playerid][VIPTAG] == true){
985 Delete3DTextLabel(VIPVEHTAG);
986 SendClientMessage(playerid, ORANGE, "[EO_VIP]: {FFFFFF}You have turned the VIP tag off");
987 VIPInfo[playerid][VIPTAG] = false;
988 }
989 }
990 else {
991 ErrorMessages(playerid, 1);
992 }
993 return 1;
994}
995//=======================//Gun Pack command//==========================================
996
997CMD:vipgp(playerid) {
998 if(VIPInfo[playerid][VIPLevel] > 0) {
999 if(VIPInfo[playerid][GPAuth] == true){
1000 if(VIPInfo[playerid][VIPPreset] == 0){
1001 switch(VIPInfo[playerid][VIPLevel]){
1002 case 1: return ErrorMessages(playerid, 3);
1003 case 2:{
1004 GivePlayerWeapon(playerid, 22, 50);
1005 GivePlayerWeapon(playerid, 25, 30);
1006 SendClientMessage(playerid, ORANGE, "[EO_VIP]: {FFFFFF}VIP Weapon pack given");
1007 SendClientMessage(playerid, ORANGE, "[EO_VIP]: {FFFF00}You have loaded the default preset of guns, you can create your customized one via {FFFFFF}/vipgpp");
1008 VIPInfo[playerid][GPAuth] = false;
1009 SetTimer("VIPGP", 900000, false);
1010 }
1011 case 3:{
1012 GivePlayerWeapon(playerid, 4, 1);
1013 GivePlayerWeapon(playerid, 24, 10);
1014 GivePlayerWeapon(playerid, 27, 50);
1015 SendClientMessage(playerid, ORANGE, "[EO_VIP]: {FFFFFF}VIP Weapon pack given");
1016 SendClientMessage(playerid, ORANGE, "[EO_VIP]: {FFFF00}You have loaded the default preset of guns, you can create your customized one via {FFFFFF}/vipgpp");
1017 VIPInfo[playerid][GPAuth] = false;
1018 SetTimer("VIPGP", 900000, false);
1019 }
1020 case 4:{
1021 GivePlayerWeapon(playerid, 9, 1);
1022 GivePlayerWeapon(playerid, 24, 25);
1023 GivePlayerWeapon(playerid, 26, 30);
1024 GivePlayerWeapon(playerid, 31, 100);
1025 SendClientMessage(playerid, ORANGE, "[EO_VIP]: {FFFF00}VIP Weapon pack given");
1026 SendClientMessage(playerid, ORANGE, "[EO_VIP]: {FFFF00}You have loaded the default preset of guns, you can create your customized one via {FFFFFF}/vipgpp");
1027 VIPInfo[playerid][GPAuth] = false;
1028 SetTimer("VIPGP", 900000, false);
1029 }
1030 }
1031 }
1032 else if(VIPInfo[playerid][VIPPreset] == 1){
1033 if(VIPInfo[playerid][CNTUSE] == false){
1034 SendClientMessage(playerid, ORANGE, "[EO_VIP]: {FFFF00}You have loaded customized preset of guns, you can manage it anytime via {FFFFFF}/vipgpp");
1035 GivePlayerWeapon(playerid, VIPInfo[playerid][WMS], 1);
1036 GivePlayerWeapon(playerid, VIPInfo[playerid][WPS], 25);
1037 GivePlayerWeapon(playerid, VIPInfo[playerid][WSS], 30);
1038 GivePlayerWeapon(playerid, VIPInfo[playerid][WSSL], 40);
1039 GivePlayerWeapon(playerid, VIPInfo[playerid][WAS], 100);
1040 GivePlayerWeapon(playerid, VIPInfo[playerid][WRS], 15);
1041 VIPInfo[playerid][CNTUSE] = true;
1042 defer VIPGPPTimer(playerid);
1043 }
1044 else
1045 SendClientMessage(playerid, 0xFF0000, "[EO VIP]: {FFFFFF}Wait before spawning another gun pack");
1046 }
1047 }
1048 else
1049 SendClientMessage(playerid, RED, "[EO_VIP]: {FFFFFF}You have just used that command, please wait for a 15 mins");
1050 }
1051 else
1052 ErrorMessages(playerid, 1);
1053 return 1;
1054}
1055//Gun pack timer
1056forward VIPGP(playerid);
1057public VIPGP(playerid){
1058 VIPInfo[playerid][GPAuth] = true;
1059 return 1;
1060}
1061
1062//====================//VIP GIVE CASH//============================================
1063CMD:vipgc(playerid, params[]) {
1064 if(VIPInfo[playerid][VIPLevel] > 0) {
1065 new str[MAX_PLAYER_NAME+25], pname[MAX_PLAYER_NAME], idname[MAX_PLAYER_NAME], id, cash, cashcheck;
1066 GetPlayerName(playerid, pname, sizeof(pname));
1067 GetPlayerName(id, idname, sizeof(idname));
1068 if(sscanf(params, "ii", id, cash)) return SendClientMessage(playerid, BLUE, "[USAGE]: {FFFFFF}/vipgc (playerid) (cash)") && SendClientMessage(playerid, BLUE, "[FUNCTION]: {FFFFFF}Give a player money from distance");
1069 if(!IsPlayerConnected(id) || id == INVALID_PLAYER_ID) return ErrorMessages(playerid, 2);
1070 cashcheck = GetPlayerMoney(playerid);
1071 if(cash < 1) return SendClientMessage(playerid, RED, "[EO_VIP]: {FFFFFF}Required amount: {92979C}(1-1000000)");
1072 if(cashcheck < cash) return SendClientMessage(playerid, RED, "[EO_VIP]: {FFFFFF}You don't have that much money");
1073 if(id == playerid) return SendClientMessage(playerid, RED, "[EO_VIP]: {FFFFFF}You can't give yourself money!");
1074 else{
1075 GivePlayerMoney(id, cash);
1076 GivePlayerMoney(playerid, -cash);
1077 format(str, sizeof(str), "[EO_VIP]: {FFFF00}You have given {FFFFFF}%s $%i", idname, cash);
1078 SendClientMessage(playerid, ORANGE, str);
1079 format(str, sizeof(str), "{FFFFFF}%s {FFFF00}has given you {FFFFFF}$%i", pname, cash);
1080 SendClientMessage(id, ORANGE, str);
1081 return 1;
1082 }
1083 }
1084 else {
1085 ErrorMessages(playerid, 1);
1086 }
1087 return 1;
1088}
1089//==================//VIP NITROUS//================================================
1090
1091CMD:vipnos(playerid){
1092 new VehID;
1093 VehID = GetPlayerVehicleID(playerid);
1094 if(VIPInfo[playerid][VIPLevel] > 0) {
1095 if(VIPInfo[playerid][VIPLevel] > 1){
1096 if(IsPlayerInAnyVehicle(playerid)){
1097 switch(VIPInfo[playerid][VIPLevel]){
1098 case 2:{
1099 if(GetPlayerMoney(playerid) >= 1000){
1100 GivePlayerMoney(playerid, -1000);
1101 SendClientMessage(playerid, ORANGE, "[EO_VIP]: {FFFF00}You have added nitrous to this vehicle, you've been charged with {FFFFFF}$1000");
1102 AddVehicleComponent(VehID, 1010);
1103 PlayerPlaySound(playerid, 1133, 0.0, 0.0, 10.0);
1104 return 1;
1105 }
1106 else{
1107 SendClientMessage(playerid, RED, "[EO_VIP]: {FFFFFF}You can't afford to buy this");
1108 }
1109 }
1110 case 3:{
1111 if(GetPlayerMoney(playerid) >= 600){
1112 GivePlayerMoney(playerid, -600);
1113 SendClientMessage(playerid, ORANGE, "[EO_VIP]: {FFFF00}You have added nitrous to this vehicle, you've been charged with {FFFFFF}$600");
1114 AddVehicleComponent(VehID, 1010);
1115 PlayerPlaySound(playerid, 1133, 0.0, 0.0, 10.0);
1116 return 1;
1117 }
1118 else{
1119 SendClientMessage(playerid, RED, "[EO_VIP]: {FFFFFF}You can't afford to buy this");
1120 }
1121 }
1122 case 4:{
1123 if(GetPlayerMoney(playerid) >= 150){
1124 GivePlayerMoney(playerid, -150);
1125 SendClientMessage(playerid, ORANGE, "[EO_VIP]: {FFFF00}You have added nitrous to this vehicle, you've been charged with {FFFFFF}$150");
1126 AddVehicleComponent(VehID, 1010);
1127 PlayerPlaySound(playerid, 1133, 0.0, 0.0, 10.0);
1128 return 1;
1129 }
1130 else{
1131 SendClientMessage(playerid, RED, "[EO_VIP]: {FFFFFF}You can't afford to buy this");
1132 }
1133 }
1134 }
1135 }
1136 else{
1137 ErrorMessages(playerid, 6);
1138 }
1139 }
1140 else{
1141 ErrorMessages(playerid, 3);
1142 }
1143 }
1144 else {
1145 ErrorMessages(playerid, 1);
1146 }
1147 return 1;
1148}
1149//================//VIP car engine fix//===============================================
1150CMD:vipefix(playerid) {
1151 if(VIPInfo[playerid][VIPLevel] > 0) {
1152 if(VIPInfo[playerid][VIPLevel] > 2) {
1153 if(IsPlayerInAnyVehicle(playerid)){
1154 new
1155 VehID = GetPlayerVehicleID(playerid),
1156 cashcheck = GetPlayerMoney(playerid);
1157 switch(VIPInfo[playerid][VIPLevel]){
1158 case 3:{
1159 if(cashcheck >= 600){
1160 SetVehicleHealth(VehID, 1000);
1161 GivePlayerMoney(playerid, -600);
1162 SendClientMessage(playerid, ORANGE, "[EO_VIP]: {FFFF00}vehicle fixed, you've been charged with {FFFFFF}$600");
1163 }
1164 else{
1165 SendClientMessage(playerid, RED, "[EO_VIP]: {FFFFFF}You can't afford that");
1166 }
1167 }
1168 case 4:{
1169 if(cashcheck >= 150){
1170 SetVehicleHealth(VehID, 1000);
1171 GivePlayerMoney(playerid, -150);
1172 SendClientMessage(playerid, ORANGE, "[EO_VIP]: {FFFF00}vehicle fixed, you've been charged with {FFFFFF}$150");
1173 }
1174 else{
1175 SendClientMessage(playerid, RED, "[EO_VIP]: {FFFFFF}You can't afford that");
1176 }
1177 }
1178 }
1179 PlayerPlaySound(playerid, 1133, 0.0, 0.0, 10.0);
1180 }
1181 else{
1182 ErrorMessages(playerid, 6);
1183 }
1184 }
1185 else {
1186 ErrorMessages(playerid, 4);
1187 }
1188 }
1189 else {
1190 ErrorMessages(playerid, 1);
1191 }
1192 return 1;
1193}
1194//================//VIP body fix//===============================================
1195CMD:vipbfix(playerid) {
1196 if(VIPInfo[playerid][VIPLevel] > 0) {
1197 if(VIPInfo[playerid][VIPLevel] > 3) {
1198 if(IsPlayerInAnyVehicle(playerid)){
1199 new
1200 VehID = GetPlayerVehicleID(playerid),
1201 cashcheck = GetPlayerMoney(playerid);
1202 if(cashcheck >= 600){
1203 RepairVehicle(VehID);
1204 GivePlayerMoney(playerid, -200);
1205 SendClientMessage(playerid, ORANGE, "[EO_VIP]: {FFFF00}vehicle fixed, you've been charged with {FFFFFF}$200");
1206 PlayerPlaySound(playerid, 1133, 0.0, 0.0, 10.0);
1207 return 1;
1208 }
1209 else{
1210 SendClientMessage(playerid, RED, "[EO_VIP]: {FFFFFF}You can't afford that");
1211 }
1212 }
1213 else{
1214 ErrorMessages(playerid, 6);
1215 }
1216 }
1217 else {
1218 ErrorMessages(playerid, 4);
1219 }
1220 }
1221 else {
1222 ErrorMessages(playerid, 1);
1223 }
1224 return 1;
1225}
1226//=================// flip a vehicle//=============================================
1227
1228CMD:flip(playerid) {
1229 if(VIPInfo[playerid][VIPLevel] > 0) {
1230 if(IsPlayerInAnyVehicle(playerid))
1231 {
1232 new currentveh;
1233 new Float:angle;
1234 currentveh = GetPlayerVehicleID(playerid);
1235 GetVehicleZAngle(currentveh, angle);
1236 SetVehicleZAngle(currentveh, angle);
1237 SendClientMessage(playerid, ORANGE, "[EO_VIP]: {FFFFFF}Your vehicle has been flipped");
1238 return 1;
1239 }
1240 else
1241 {
1242 SendClientMessage(playerid, RED, "[EO_VIP]: {FFFFFF}You are not in any vehicle!");
1243 return 1;
1244 }
1245 }
1246 else {
1247 ErrorMessages(playerid, 1);
1248 }
1249 return 1;
1250}
1251//===============// BASE TP//=============================
1252CMD:vipbtp(playerid) {
1253 if(VIPInfo[playerid][VIPLevel] > 0) {
1254 if(VIPInfo[playerid][VIPLevel] > 3) {
1255 SetPlayerPos(playerid, 3049.6392,-668.2963,2.8086);
1256 SendClientMessage(playerid, ORANGE, "[EO_VIP]: {FFFFFF}You have teleported to the VIP Base!");
1257 }
1258 else {
1259 ErrorMessages(playerid, 5);
1260 }
1261 return 1;
1262 }
1263 else {
1264 ErrorMessages(playerid, 1);
1265 }
1266 return 1;
1267}
1268//================//weather changer//===============================================
1269CMD:vipcw(playerid, params[]) {
1270 new wid, str[65];
1271 if(VIPInfo[playerid][VIPLevel] > 0) {
1272 if(sscanf(params, "i", wid)) return SendClientMessage(playerid, BLUE ,"[USAGE]: {FFFFFF}vipcw (Weather ID)") && SendClientMessage(playerid, BLUE ,"[FUNCTION]: {FFFFFF}Change your weather");
1273 switch(VIPInfo[playerid][VIPLevel]){
1274 case 1:{
1275 if(wid > 2 || wid < 1) return SendClientMessage(playerid, RED,"[EO_VIP]: {FFFFFF}Available Weather IDs are {92979C}(1-2)");
1276 else{
1277 format(str, sizeof(str), "[EO_VIP]: {FFFF00}You have set the weather ID to {FFFFFF}%i", wid);
1278 SendClientMessage(playerid, ORANGE,str);
1279 SetPlayerWeather(playerid, wid);
1280 }
1281 }
1282 case 2:{
1283 if(wid > 3 || wid < 1) return SendClientMessage(playerid, RED ,"[EO_VIP]: {FFFFFF}Available Weather IDs are {92979C}(1-3)");
1284 else{
1285 format(str, sizeof(str), "[EO_VIP]: {FFFF00}You have set the weather ID to {FFFFFF}%i", wid);
1286 SendClientMessage(playerid, ORANGE ,str);
1287 SetPlayerWeather(playerid, wid);
1288 }
1289 }
1290 case 3:{
1291 if(wid > 4 || wid < 1) return SendClientMessage(playerid, RED,"[EO_VIP]: {FFFFFF}Available Weather IDs are {92979C}(1-4)");
1292 else{
1293 format(str, sizeof(str), "[EO_VIP]: {FFFF00}You have set the weather ID to {FFFFFF}%i", wid);
1294 SendClientMessage(playerid, ORANGE,str);
1295 SetPlayerWeather(playerid, wid);
1296 }
1297 }
1298 case 4:{
1299 if(wid > 6 || wid < 1) return SendClientMessage(playerid, RED ,"[EO_VIP]: {FFFFFF}Available Weather IDs are {92979C}(1-6)");
1300 else{
1301 format(str, sizeof(str), "[EO_VIP]: {FFFF00}You have set the weather ID to {FFFFFF}%i", wid);
1302 SendClientMessage(playerid, ORANGE ,str);
1303 SetPlayerWeather(playerid, wid);
1304 }
1305 }
1306 }
1307 }
1308 else {
1309 ErrorMessages(playerid, 1);
1310 }
1311 return 1;
1312}
1313//================//weather IDs commands dialog//===================================
1314CMD:weatherids(playerid) {
1315 if(VIPInfo[playerid][VIPLevel] > 0) {
1316 if(VIPInfo[playerid][VIPLevel] == 1) {
1317 ShowPlayerDialog(playerid, DIALOG_WEATHERID, DIALOG_STYLE_MSGBOX, "Weather IDs", "{FFFF00}1- {FFFFFF}Sunny\n\n{FFFF00}2- {FFFFFF}Extra Sunny Smog", "Got it!", "");
1318 return 1;
1319 }
1320 else if(VIPInfo[playerid][VIPLevel] == 2) {
1321 ShowPlayerDialog(playerid, DIALOG_WEATHERID, DIALOG_STYLE_MSGBOX, "Weather IDs", "{FFFF00}1- {FFFFFF}Sunny\n\n{FFFF00}2- {FFFFFF}Extra Sunny Smog\n\n{FFFF00}3- {FFFFFF}Sunny Smog", "Got it!", "");
1322 return 1;
1323 }
1324 else if(VIPInfo[playerid][VIPLevel] == 3) {
1325 ShowPlayerDialog(playerid, DIALOG_WEATHERID, DIALOG_STYLE_MSGBOX, "Weather IDs", "{FFFF00}1- {FFFFFF}Sunny\n\n{FFFF00}2- {FFFFFF}Extra Sunny Smog\n\n{FFFF00}3- {FFFFFF}Sunny Smog\n\n{FFFF00}4- {FFFFFF}Cloudy", "Got it!", "");
1326 return 1;
1327 }
1328 else if(VIPInfo[playerid][VIPLevel] == 4) {
1329 ShowPlayerDialog(playerid, DIALOG_WEATHERID, DIALOG_STYLE_MSGBOX, "Weather IDs", "{FFFF00}1- {FFFFFF}Sunny\n\n{FFFF00}2- {FFFFFF}Extra Sunny Smog\n\n{FFFF00}3- {FFFFFF}Sunny Smog\n\n{FFFF00}4- {FFFFFF}Cloudy\n\n{FFFF00}5- {FFFFFF}Summer Sun\n\n{FFFF00}6- {FFFFFF}Summer Extra Sunny", "Got it!", "");
1330 return 1;
1331 }
1332 }
1333 else {
1334 ErrorMessages(playerid, 1);
1335 }
1336 return 1;
1337}
1338//================//VIP SPAWN IN BASE//===============================================
1339CMD:vipbs(playerid){
1340 if(VIPInfo[playerid][VIPLevel] > 0){
1341 if(VIPInfo[playerid][VIPBSpawn] == 0){
1342 ShowPlayerDialog(playerid, DIALOG_VIPBS, DIALOG_STYLE_MSGBOX, "VIP Base Spawn Option", "Do you want to always spawn in VIP Base?\n\n{FFFFAA}You can change this this anytime with /vipbs", "Yes", "No");
1343 }
1344 else if(VIPInfo[playerid][VIPBSpawn] == 1){
1345 ShowPlayerDialog(playerid, DIALOG_VIPBSY, DIALOG_STYLE_MSGBOX, "VIP Base Spawn Option", "Do you want to disable Spawning in VIP base option?\n\n{FFFFAA}You can change this this anytime with /vipbs", "Yes", "No");
1346 }
1347 }
1348 else {
1349 ErrorMessages(playerid, 1);
1350 }
1351 return 1;
1352}
1353
1354//================//VIP Time set//===============================================
1355CMD:vipt(playerid, params[]){
1356 new H, M, str[50];
1357 if(VIPInfo[playerid][VIPLevel] > 0) {
1358 if(sscanf(params, "ii", H, M)) return SendClientMessage(playerid, BLUE, "[USAGE]: {FFFFFF}/vipt (Hours) (Minutes)") && SendClientMessage(playerid, BLUE, "[FUNCTION]: {FFFFFF}Change your Time");
1359 if(H > 23 || H < 0 || M > 59 || M < 0) return SendClientMessage(playerid, RED, "[EO_VIP]: {FFFFFF}Hours(23-0) || Minutes(59-0)");
1360 format(str, sizeof(str), "[EO_VIP]: {FFFF00}You have set the time to {FFFFFF}%02d:%02d", H, M);
1361 SendClientMessage(playerid, ORANGE, str);
1362 SetPlayerTime(playerid, H, M);
1363 return 1;
1364 }
1365 else {
1366 ErrorMessages(playerid, 1);
1367 }
1368 return 1;
1369}
1370
1371//================//VIP LVL 3 CMDS//===============================================
1372CMD:vipskin(playerid) {
1373 if(VIPInfo[playerid][VIPLevel] > 0) {
1374 if(VIPInfo[playerid][VIPLevel] > 2) {
1375 if(VIPInfo[playerid][VIPLevel] == 3){
1376 ShowPlayerDialog(playerid, DIALOG_VIPSKIN, DIALOG_STYLE_LIST, "VIP SKINS SELECTION [PLATINUM]",
1377 "Maccer\n\
1378 Andre\n\
1379 Rich Woman\n\
1380 CJ\n\
1381 Stunner\n",
1382 "Select", "Cancel");
1383 return 1;
1384 }
1385 else if(VIPInfo[playerid][VIPLevel] == 4){
1386 ShowPlayerDialog(playerid, DIALOG_VIPSKIN, DIALOG_STYLE_LIST, "VIP SKINS SELECTION [DIAMOND]",
1387 "Maccer\n\
1388 Andre\n\
1389 Rich Woman\n\
1390 CJ\n\
1391 Stunner\n\
1392 Ryder\n\
1393 Triad Boss\n\
1394 Big Smoke\n\
1395 Cluckin' bell worker\n\
1396 Michelle\n",
1397 "Select", "Cancel");
1398 return 1;
1399 }
1400 }
1401 else {
1402 ErrorMessages(playerid, 4);
1403 }
1404 }
1405 else {
1406 ErrorMessages(playerid, 1);
1407 }
1408 return 1;
1409}
1410//=======================//Is VIP//================================================
1411CMD:isvip(playerid, params[]){
1412 new str1[MAX_PLAYER_NAME],str[MAX_PLAYER_NAME+12], tid, tname[MAX_PLAYER_NAME];
1413 if(sscanf(params, "i", tid)) return SendClientMessage(playerid, BLUE, "[USAGE]: {FFFFFF}/isvip (playerid)") && SendClientMessage(playerid, BLUE, "[FUNCTION]: {FFFFFF}Shows a players VIP Status");
1414 else if(!IsPlayerConnected(tid) || tid == INVALID_PLAYER_ID) return ErrorMessages(playerid, 2);
1415 else{
1416 GetPlayerName(tid, tname, sizeof(tname));
1417 format(str, sizeof(str), "VIP Level:%i\n\nAccount Type: %s", VIPInfo[tid][VIPLevel], VIPInfo[tid][VIPAcc]);
1418 format(str1, sizeof(str1), "%s's VIP Stats", tname);
1419 ShowPlayerDialog(playerid, DIALOG_ISVIP, DIALOG_STYLE_MSGBOX, str1, str, "Got it!", "");
1420 }
1421 return 1;
1422}
1423//================//VIP LVL 4 WEAPONS PRESETS//===============================================
1424CMD:vipgpp(playerid){
1425 if(VIPInfo[playerid][VIPLevel] > 0) {
1426 if(VIPInfo[playerid][VIPLevel] > 3){
1427 if(VIPInfo[playerid][VIPPreset] == 0){
1428 ShowPlayerDialog(playerid, DIALOG_VIP4WP, DIALOG_STYLE_MSGBOX, "VIP GunPack Preset Option", "Here you can make a new Gunpack set to spawn via {FFFFFF}/vipgp\n\n{FFFF00}You Don't have a GunPack Preset yet, do you want to create one?", "Yes", "No");
1429 }
1430 else if(VIPInfo[playerid][VIPPreset] == 1){
1431 ShowPlayerDialog(playerid, DIALOG_VIP4WPE, DIALOG_STYLE_LIST, "VIP GunPack Preset Option",
1432 "Edit\n\
1433 Delete\n",
1434 "Select", "Cancel");
1435 }
1436 }
1437 else {
1438 ErrorMessages(playerid, 5);
1439 }
1440 return 1;
1441 }
1442 else {
1443 ErrorMessages(playerid, 1);
1444 }
1445 return 1;
1446}
1447//================//VIP TOYS//===============================================
1448CMD:viptoys(playerid){
1449 if(VIPInfo[playerid][VIPLevel] > 0){
1450 new string[128];
1451 for(new x;x<MAX_PLAYER_ATTACHED_OBJECTS;x++)
1452 {
1453 if(IsPlayerAttachedObjectSlotUsed(playerid, x)) format(string, sizeof(string), "%s%d (Used)\n", string, x);
1454 else format(string, sizeof(string), "%s%d\n", string, x);
1455 }
1456 ShowPlayerDialog(playerid, DIALOG_ATTACH_INDEX_SELECTION, DIALOG_STYLE_LIST, \
1457 "{FFFF00}Toy Selection Panel", string, "Select", "Cancel");
1458 return 1;
1459 }
1460 else {
1461 ErrorMessages(playerid, 1);
1462 }
1463 return 1;
1464}
1465
1466
1467//================//VIP LVL 1 CMDS//===============================================
1468CMD:exp1(playerid, params[]){
1469 if(VIPInfo[playerid][VIPLevel] > 0){
1470 return 1;
1471 }
1472 else {
1473 ErrorMessages(playerid, 1);
1474 }
1475 return 1;
1476}
1477
1478//================//VIP LVL 2 CMDS//===============================================
1479CMD:exp2(playerid, params[]) {
1480 if(VIPInfo[playerid][VIPLevel] > 0) {
1481 if(VIPInfo[playerid][VIPLevel] > 1) {
1482 }
1483 else {
1484 ErrorMessages(playerid, 3);
1485 }
1486 return 1;
1487 }
1488 else {
1489 ErrorMessages(playerid, 1);
1490 }
1491 return 1;
1492}
1493//================//VIP LVL 3 CMDS//===============================================
1494CMD:exp3(playerid, params[]) {
1495 if(VIPInfo[playerid][VIPLevel] > 0) {
1496 if(VIPInfo[playerid][VIPLevel] > 2) {
1497
1498 }
1499 else {
1500 ErrorMessages(playerid, 4);
1501 }
1502 }
1503 else {
1504 ErrorMessages(playerid, 1);
1505 }
1506 return 1;
1507}
1508//================//VIP LVL 4 CMDS//===============================================
1509CMD:exp4(playerid, params[]) {
1510 if(VIPInfo[playerid][VIPLevel] > 0) {
1511 if(VIPInfo[playerid][VIPLevel] > 3) {
1512 }
1513 else {
1514 ErrorMessages(playerid, 5);
1515 }
1516 return 1;
1517 }
1518 else {
1519 ErrorMessages(playerid, 1);
1520 }
1521 return 1;
1522}
1523//================================================================================
1524public OnPlayerStateChange(playerid, newstate, oldstate)
1525{
1526 new VehID = GetPlayerVehicleID(playerid);
1527 if(newstate == PLAYER_STATE_DRIVER && IsVIPVehicle(VehID)) {
1528 if(VIPInfo[playerid][VIPLevel] > 0){
1529 SendClientMessage(playerid, ORANGE, "[EO_VIP]: {FFFF00}Welcome to VIP Vehicle");
1530 return 1;
1531 }
1532 else{
1533 ErrorMessages(playerid, 1);
1534 RemovePlayerFromVehicle(playerid);
1535 }
1536
1537 }
1538 return 1;
1539}
1540public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
1541{
1542 if(newkeys == KEY_NO){
1543 if(VIPInfo[playerid][VIPLevel] > 0){
1544 if(IsPlayerInRangeOfPoint(playerid, 5, 3002.21167, -683.31982, 1.99770)){
1545 if(GATEC == true){
1546 GATEO = true;
1547 GATEC = false;
1548 MoveObject(GATE1, 3002.3396, -677.6714, 1.9951, 3.0);
1549 MoveObject(GATE2, 3002.3396, -697.8354, 1.9951, 3.0);
1550 SendClientMessage(playerid, ORANGE, "[EO_VIP]: {FFFF00}VIP Base door is Opening");
1551 PlayerPlaySound(playerid, 1100, 0.0, 0.0, 0.0);
1552 SetTimer("GateCloseTimer", 6000, false);
1553 return 1;
1554 }
1555 else if(GATEO == true){
1556 GATEO = false;
1557 GATEC = true;
1558 MoveObject(GATE1, 3002.3396, -683.2094, 1.9951, 3.0);
1559 MoveObject(GATE2, 3002.3396, -692.0134, 1.9951, 3.0);
1560 PlayerPlaySound(playerid, 1100, 0.0, 0.0, 0.0);
1561 SendClientMessage(playerid, ORANGE, "[EO_VIP]: {FFFF00}VIP Base door is Closing");
1562 return 1;
1563 }
1564 }
1565 else if(IsPlayerInRangeOfPoint(playerid, 2, 3024.9241, -692.5798, 3.3770)){
1566 new str[MAX_PLAYER_NAME+34], pname[MAX_PLAYER_NAME];
1567 GetPlayerName(playerid, pname, sizeof(pname));
1568 format(str, sizeof(str), "[VIP Lounge]: {FFFF00}VIP {FFFFFF}%s{FFFF00} has entered The VIP Lounge", pname);
1569 for(new i=0; i<MAX_PLAYERS; i++){
1570 if(IsPlayerConnected(i) && VIPInfo[i][VIPLevel] > 0 && VIPInfo[playerid][IsVIPInLounge] == true) {
1571 SendClientMessage(playerid, ORANGE, str);
1572 }
1573 }
1574 SetPlayerInterior(playerid, 3);
1575 SetPlayerPos(playerid, 942.171997,-16.542755,1000.929687);
1576 SendClientMessage(playerid, ORANGE, "[EO_VIP]: {FFFF00}press {FFFFFF}N {FFFF00}to get outside");
1577 SendClientMessage(playerid, ORANGE, "[EO_VIP]: {FFFF00}Welcome to the VIP Lounge");
1578 VIPInfo[playerid][IsVIPInLounge] = true;
1579 return 1;
1580 }
1581 else if(IsPlayerInRangeOfPoint(playerid, 2, 942.1549,-16.8236,1000.9297)){
1582 new str[MAX_PLAYER_NAME+34], pname[MAX_PLAYER_NAME];
1583 GetPlayerName(playerid, pname, sizeof(pname));
1584 format(str, sizeof(str), "[VIP Lounge]: {FFFF00}VIP {FFFFFF}%s {FFFF00}has left The VIP Lounge", pname);
1585 SetPlayerInterior(playerid, 0);
1586 SetPlayerPos(playerid, 3024.9241, -692.5798, 3.3770);
1587 VIPInfo[playerid][IsVIPInLounge] = false;
1588 for(new i=0; i<MAX_PLAYERS; i++){
1589 if(IsPlayerConnected(i) && VIPInfo[i][VIPLevel] > 0 && VIPInfo[playerid][IsVIPInLounge] == true) {
1590 SendClientMessage(playerid, GREEN, str);
1591 }
1592 }
1593 return 1;
1594 }
1595 }
1596 else{
1597 ErrorMessages(playerid, 1);
1598 }
1599 }
1600 return 1;
1601}
1602forward GateCloseTimer(playerid);
1603public GateCloseTimer(playerid){
1604 GATEO = false;
1605 GATEC = true;
1606 MoveObject(GATE1, 3002.3396, -683.2094, 1.9951, 3.0);
1607 MoveObject(GATE2, 3002.3396, -692.0134, 1.9951, 3.0);
1608 if(GetPlayerInterior(playerid) == 0){
1609 PlayerPlaySound(playerid, 1100, 0.0, 0.0, 0.0);
1610 return 1;
1611 }
1612 return 1;
1613}
1614public OnPlayerUpdate(playerid)
1615{
1616 return 1;
1617}
1618
1619public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
1620{
1621 new Query[300];
1622 switch(dialogid){
1623 case DIALOG_VIPBS:{
1624 if(response){
1625 VIPInfo[playerid][VIPBSpawn] = 1;
1626 SendClientMessage(playerid, ORANGE, "[EO_VIP]: {FFFF00}You will be spawned at VIP Base from now on, you can change this option via {FFFFFF}/vipbs");
1627 format(Query, sizeof(Query), "UPDATE `VIPS` SET `Spawn_In_Base` = %d WHERE `PlayerName` = '%s'",VIPInfo[playerid][VIPBSpawn],GetName(playerid));
1628 db_free_result(db_query(Database, Query));
1629 return 1;
1630 }
1631 }
1632 case DIALOG_VIPBSY:{
1633 if(response){
1634 VIPInfo[playerid][VIPBSpawn] = 0;
1635 SendClientMessage(playerid, ORANGE, "[EO_VIP]: {FFFF00}You have disabled VIP Base spawn option, you can change this option via {FFFFFF}/vipbs");
1636 format(Query, sizeof(Query), "UPDATE `VIPS` SET `Spawn_In_Base` = %d WHERE `PlayerName` = '%s'",VIPInfo[playerid][VIPBSpawn],GetName(playerid));
1637 db_free_result(db_query(Database, Query));
1638 return 1;
1639 }
1640 }
1641 case DIALOG_VIP4WP:{
1642 if(response){
1643 ShowPlayerDialog(playerid, DIALOG_VIP4WPC, DIALOG_STYLE_LIST, "VIP GunPack Preset Creation",
1644 "Melee\n\
1645 Pistols\n\
1646 Shotguns\n\
1647 Sub-Machines\n\
1648 Assault\n\
1649 Rifles"
1650 ,"Select", "Cancel");
1651 return 1;
1652 }
1653 else{
1654 SendClientMessage(playerid, ORANGE, "[EO_VIP]: {FFFF00}Gun Pack Preset Creation was canceled");
1655 }
1656 }
1657 case DIALOG_VIP4WPCR:{
1658 if(response){
1659 VIPInfo[playerid][VIPPreset] = 0;
1660 format(Query, sizeof(Query), "UPDATE `VIPS` SET `VIP_Weapon_Preset` = 0, `Weapon_Melee_Slot` = 0, `Weapon_Pistol_Slot` = 0, `Weapon_Shotgun_Slot` = 0, `Weapon_Assault_Slot` = 0, `Weapon_Rifle_Slot` = 0 WHERE `PlayerName` = '%s'",GetName(playerid));
1661 db_free_result(db_query(Database, Query));
1662 SendClientMessage(playerid, ORANGE, "[EO_VIP]: {FFFF00}Gun Pack Custom Preset is removed, you can re-create it anytime via {FFFFFF}/vipgpp");
1663 }
1664 else{
1665 SendClientMessage(playerid, ORANGE, "[EO_VIP]: {FFFF00}VIP gun pack preset removing is canceled");
1666 }
1667 }
1668 case DIALOG_ATTACH_INDEX_SELECTION:
1669 {
1670 if(response)
1671 {
1672 if(IsPlayerAttachedObjectSlotUsed(playerid, listitem))
1673 {
1674 ShowPlayerDialog(playerid, DIALOG_ATTACH_EDITREPLACE, DIALOG_STYLE_MSGBOX, \
1675 "{FFFF00}Attachment Edit", "{FFFFFF}Do you want to edit/delete this slot?", "Edit", "Delete");
1676 }
1677 else
1678 {
1679 new string[4000+1];
1680 for(new x;x<sizeof(AttachmentObjects);x++)
1681 {
1682 format(string, sizeof(string), "%s%s\n", string, AttachmentObjects[x][attachname]);
1683 }
1684 ShowPlayerDialog(playerid, DIALOG_ATTACH_MODEL_SELECTION, DIALOG_STYLE_LIST, \
1685 "{FFFF00}Toy Selection", string, "Select", "Cancel");
1686 }
1687 SetPVarInt(playerid, "AttachmentIndexSel", listitem);
1688 }
1689 return 1;
1690 }
1691 case DIALOG_ATTACH_EDITREPLACE:
1692 {
1693 if(response) EditAttachedObject(playerid, GetPVarInt(playerid, "AttachmentIndexSel"));
1694 else RemovePlayerAttachedObject(playerid, GetPVarInt(playerid, "AttachmentIndexSel"));
1695 DeletePVar(playerid, "AttachmentIndexSel");
1696 return 1;
1697 }
1698 case DIALOG_ATTACH_MODEL_SELECTION:
1699 {
1700 if(response)
1701 {
1702 if(GetPVarInt(playerid, "AttachmentUsed") == 1) EditAttachedObject(playerid, listitem);
1703 else
1704 {
1705 SetPVarInt(playerid, "AttachmentModelSel", AttachmentObjects[listitem][attachmodel]);
1706 new string[256+1];
1707 for(new x;x<sizeof(AttachmentBones);x++)
1708 {
1709 format(string, sizeof(string), "%s%s\n", string, AttachmentBones[x]);
1710 }
1711 ShowPlayerDialog(playerid, DIALOG_ATTACH_BONE_SELECTION, DIALOG_STYLE_LIST, \
1712 "{FFFF00}Toy Edit - Bone Selection", string, "Select", "Cancel");
1713 }
1714 }
1715 else DeletePVar(playerid, "AttachmentIndexSel");
1716 return 1;
1717 }
1718 case DIALOG_ATTACH_BONE_SELECTION:
1719 {
1720 if(response)
1721 {
1722 SetPlayerAttachedObject(playerid, GetPVarInt(playerid, "AttachmentIndexSel"), GetPVarInt(playerid, "AttachmentModelSel"), listitem+1);
1723 EditAttachedObject(playerid, GetPVarInt(playerid, "AttachmentIndexSel"));
1724 SendClientMessage(playerid, GREEN, "[EO_VIP]: {FFFF00}Use {FFFFFF}~k~~PED_SPRINT~{FFFF00} to look around.");
1725 }
1726 DeletePVar(playerid, "AttachmentIndexSel");
1727 DeletePVar(playerid, "AttachmentModelSel");
1728 return 1;
1729 }
1730 }
1731 if(dialogid == DIALOG_VIPSKIN){
1732 if(response){
1733 switch(listitem){
1734 case 0: SetPlayerSkin(playerid, 2) && SendClientMessage(playerid, ORANGE, "[EO_VIP]: {FFFF00}You have set your skin to {92979C}(Maccer ID:2)");
1735 case 1: SetPlayerSkin(playerid, 3) && SendClientMessage(playerid, ORANGE, "[EO_VIP]: {FFFF00}You have set your skin to {92979C}(Andre ID:3)");
1736 case 2: SetPlayerSkin(playerid, 12) && SendClientMessage(playerid, ORANGE, "[EO_VIP]: {FFFF00}You have set your skin to {92979C}(Rich Woman ID:12)");
1737 case 3: SetPlayerSkin(playerid, 0) && SendClientMessage(playerid, ORANGE, "[EO_VIP]: {FFFF00}You have set your skin to {92979C}(CJ ID:0)");
1738 case 4: SetPlayerSkin(playerid, 45) && SendClientMessage(playerid, ORANGE, "[EO_VIP]: {FFFF00}You have set your skin to {92979C}(Stunner ID:45)");
1739 case 5: SetPlayerSkin(playerid, 86) && SendClientMessage(playerid, ORANGE, "[EO_VIP]: {FFFF00}You have set your skin to {92979C}(Ryder ID:86)");
1740 case 6: SetPlayerSkin(playerid, 120) && SendClientMessage(playerid, ORANGE, "[EO_VIP]: {FFFF00}You have set your skin to {92979C}(Triad Boss ID:120)");
1741 case 7: SetPlayerSkin(playerid, 149) && SendClientMessage(playerid, ORANGE, "[EO_VIP]: {FFFF00}You have set your skin to {92979C}(Bigsmoke ID:149)");
1742 case 8: SetPlayerSkin(playerid, 167) && SendClientMessage(playerid, ORANGE, "[EO_VIP]: {FFFF00}You have set your skin to {92979C}(Cluckin's bell worker ID:167)");
1743 case 9: SetPlayerSkin(playerid, 192) && SendClientMessage(playerid, ORANGE, "[EO_VIP]: {FFFF00}You have set your skin to {92979C}(Michelle ID:192)");
1744 }
1745 }
1746 }
1747 else if(dialogid == DIALOG_VIP4WPC){
1748 if(response){
1749 switch(listitem){
1750 case 0: ShowPlayerDialog(playerid, DIALOG_VIP4WP0, DIALOG_STYLE_LIST, "VIP GunPack - Melee slot",
1751 "Knife\n\
1752 Baseball bat\n\
1753 Shovel\n\
1754 Pool cue\n\
1755 Katana\n\
1756 Chainsaw", "Select", "");
1757 case 1: ShowPlayerDialog(playerid, DIALOG_VIP4WP1, DIALOG_STYLE_LIST, "VIP GunPack - Pistol slot",
1758 "Pistol 9mm\n\
1759 Silenced 9mm\n\
1760 Desert eagle", "Select", "");
1761 case 2: ShowPlayerDialog(playerid, DIALOG_VIP4WP2, DIALOG_STYLE_LIST, "VIP GunPack - Shotgun slot",
1762 "Shotgun\n\
1763 Swan-off Shotgun\n\
1764 Combat Shotgun", "Select", "");
1765 case 3: ShowPlayerDialog(playerid, DIALOG_VIP4WP3, DIALOG_STYLE_LIST, "VIP GunPack - Sub-Machine slot",
1766 "Micro-UZI\n\
1767 MP5\n\
1768 Tec-9", "Select", "");
1769 case 4: ShowPlayerDialog(playerid, DIALOG_VIP4WP4, DIALOG_STYLE_LIST, "VIP GunPack - Assault slot",
1770 "AK-47\n\
1771 M4", "Select", "");
1772 case 5: ShowPlayerDialog(playerid, DIALOG_VIP4WP5, DIALOG_STYLE_LIST, "VIP GunPack - Rifle slot",
1773 "Country Rifle\n\
1774 Sniper Rifle", "Select", "");
1775 }
1776 }
1777 else
1778 SendClientMessage(playerid, ORANGE, "[EO_VIP]: {FFFFFF}Gun Pack Preset successfully Created!");
1779 }
1780 else if(dialogid == DIALOG_VIP4WP0){//Melee weapons
1781 if(response){
1782 switch(listitem){
1783 case 0:{
1784 VIPInfo[playerid][WMS] = 4;
1785 SendClientMessage(playerid, GREEN, "[EO_VIP]: {FFFFFF}Knife selected");
1786 }
1787 case 1:{
1788 VIPInfo[playerid][WMS] = 5;
1789 SendClientMessage(playerid, GREEN, "[EO_VIP]: {FFFFFF}Baseball bat selected");
1790 }
1791 case 2:{
1792 VIPInfo[playerid][WMS] = 6;
1793 SendClientMessage(playerid, GREEN, "[EO_VIP]: {FFFFFF}Shovel selected");
1794 }
1795 case 3:{
1796 VIPInfo[playerid][WMS] = 7;
1797 SendClientMessage(playerid, GREEN, "[EO_VIP]: {FFFFFF}Pool cue selected");
1798 }
1799 case 4:{
1800 VIPInfo[playerid][WMS] = 8;
1801 SendClientMessage(playerid, GREEN, "[EO_VIP]: {FFFFFF}Katana selected");
1802 }
1803 case 5:{
1804 VIPInfo[playerid][WMS] = 9;
1805 SendClientMessage(playerid, GREEN, "[EO_VIP]: {FFFFFF}Chainsaw selected");
1806 }
1807 }
1808 VIPInfo[playerid][VIPPreset] = 1;
1809 ShowPlayerDialog(playerid, DIALOG_VIP4WPC, DIALOG_STYLE_LIST, "VIP GunPack Preset Creation",
1810 "Melee\n\
1811 Pistols\n\
1812 Shotguns\n\
1813 Sub-Machines\n\
1814 Assault\n\
1815 Rifles"
1816 ,"Select", "Done");
1817 }
1818 }
1819 else if(dialogid == DIALOG_VIP4WP1){//Pistol weapons
1820 if(response){
1821 switch(listitem){
1822 case 0:{
1823 VIPInfo[playerid][WPS] = 22;
1824 SendClientMessage(playerid, GREEN, "[EO_VIP]: {FFFFFF}Pistol 9mm selected");
1825 }
1826 case 1:{
1827 VIPInfo[playerid][WPS] = 23;
1828 SendClientMessage(playerid, GREEN, "[EO_VIP]: {FFFFFF}Silenced 9mm selected");
1829 }
1830 case 2:{
1831 VIPInfo[playerid][WPS] = 24;
1832 SendClientMessage(playerid, GREEN, "[EO_VIP]: {FFFFFF}Desert eagle selected");
1833 }
1834 }
1835 VIPInfo[playerid][VIPPreset] = 1;
1836 ShowPlayerDialog(playerid, DIALOG_VIP4WPC, DIALOG_STYLE_LIST, "VIP GunPack Preset Creation",
1837 "Melee\n\
1838 Pistols\n\
1839 Shotguns\n\
1840 Sub-Machines\n\
1841 Assault\n\
1842 Rifles"
1843 ,"Select", "Done");
1844 }
1845 }
1846 else if(dialogid == DIALOG_VIP4WP2){//Shotgun weapons
1847 if(response){
1848 switch(listitem){
1849 case 0:{
1850 VIPInfo[playerid][WSS] = 25;
1851 SendClientMessage(playerid, GREEN, "[EO_VIP]: {FFFFFF}Shotgun selected");
1852 }
1853 case 1:{
1854 VIPInfo[playerid][WSS] = 26;
1855 SendClientMessage(playerid, GREEN, "[EO_VIP]: {FFFFFF}Swan-off Shotgun selected");
1856 }
1857 case 2:{
1858 VIPInfo[playerid][WSS] = 27;
1859 SendClientMessage(playerid, GREEN, "[EO_VIP]: {FFFFFF}Combat Shotgun selected");
1860 }
1861 }
1862 VIPInfo[playerid][VIPPreset] = 1;
1863 ShowPlayerDialog(playerid, DIALOG_VIP4WPC, DIALOG_STYLE_LIST, "VIP GunPack Preset Creation",
1864 "Melee\n\
1865 Pistols\n\
1866 Shotguns\n\
1867 Sub-Machines\n\
1868 Assault\n\
1869 Rifles"
1870 ,"Select", "Done");
1871 }
1872 }
1873 else if(dialogid == DIALOG_VIP4WP3){//Sub-Machines weapons
1874 if(response){
1875 switch(listitem){
1876 case 0:{
1877 VIPInfo[playerid][WSSL] = 28;
1878 SendClientMessage(playerid, GREEN, "[EO_VIP]: {FFFFFF}Micro-UZI selected");
1879 }
1880 case 1:{
1881 VIPInfo[playerid][WSSL] = 29;
1882 SendClientMessage(playerid, GREEN, "[EO_VIP]: {FFFFFF}MP5 selected");
1883 }
1884 case 2:{
1885 VIPInfo[playerid][WSSL] = 32;
1886 SendClientMessage(playerid, GREEN, "[EO_VIP]: {FFFFFF}Tec-9 selected");
1887 }
1888 }
1889 VIPInfo[playerid][VIPPreset] = 1;
1890 ShowPlayerDialog(playerid, DIALOG_VIP4WPC, DIALOG_STYLE_LIST, "VIP GunPack Preset Creation",
1891 "Melee\n\
1892 Pistols\n\
1893 Shotguns\n\
1894 Sub-Machines\n\
1895 Assault\n\
1896 Rifles"
1897 ,"Select", "Done");
1898 }
1899 }
1900 else if(dialogid == DIALOG_VIP4WP4){//Assault weapons
1901 if(response){
1902 switch(listitem){
1903 case 0:{
1904 VIPInfo[playerid][WAS] = 30;
1905 SendClientMessage(playerid, GREEN, "[EO_VIP]: {FFFFFF}AK-47 selected");
1906 }
1907 case 1:{
1908 VIPInfo[playerid][WAS] =31;
1909 SendClientMessage(playerid, GREEN, "[EO_VIP]: {FFFFFF}M4 selected");
1910 }
1911 }
1912 VIPInfo[playerid][VIPPreset] = 1;
1913 ShowPlayerDialog(playerid, DIALOG_VIP4WPC, DIALOG_STYLE_LIST, "VIP GunPack Preset Creation",
1914 "Melee\n\
1915 Pistols\n\
1916 Shotguns\n\
1917 Sub-Machines\n\
1918 Assault\n\
1919 Rifles"
1920 ,"Select", "Done");
1921 }
1922 }
1923 else if(dialogid == DIALOG_VIP4WP5){//Rifle weapons
1924 if(response){
1925 switch(listitem){
1926 case 0:{
1927 VIPInfo[playerid][WRS] = 330;
1928 SendClientMessage(playerid, GREEN, "[EO_VIP]: {FFFFFF}Country rifle selected");
1929 }
1930 case 1:{
1931 VIPInfo[playerid][WRS] =34;
1932 SendClientMessage(playerid, GREEN, "[EO_VIP]: {FFFFFF}Sniper rifle selected");
1933 }
1934 }
1935 VIPInfo[playerid][VIPPreset] = 1;
1936 ShowPlayerDialog(playerid, DIALOG_VIP4WPC, DIALOG_STYLE_LIST, "VIP GunPack Preset Creation",
1937 "Melee\n\
1938 Pistols\n\
1939 Shotguns\n\
1940 Sub-Machines\n\
1941 Assault\n\
1942 Rifles"
1943 ,"Select", "Done");
1944 }
1945 }
1946 else if(dialogid == DIALOG_VIP4WPE){
1947 if(response){
1948 switch(listitem){
1949 case 0: ShowPlayerDialog(playerid, DIALOG_VIP4WPC, DIALOG_STYLE_LIST, "VIP GunPack Preset Creation",
1950 "Melee\n\
1951 Pistols\n\
1952 Shotguns\n\
1953 Sub-Machines\n\
1954 Assault\n\
1955 Rifles"
1956 ,"Select", "Done");
1957 case 1: ShowPlayerDialog(playerid, DIALOG_VIP4WPCR, DIALOG_STYLE_MSGBOX, "VIP GunPack Preset Remove", "{FF0000}Do you want to delete your custom gun pack preset?\n\n{FFFF00}You can recreate it anytime again via {FFFFFF}/vipgpp", "Yes", "Cancel");
1958 }
1959 }
1960 }
1961 return 0;
1962}
1963
1964public OnPlayerClickPlayer(playerid, clickedplayerid, source)
1965{
1966 new str1[MAX_PLAYER_NAME],str[MAX_PLAYER_NAME+12], tid, tname[MAX_PLAYER_NAME];
1967 GetPlayerName(tid, tname, sizeof(tname));
1968 format(str, sizeof(str), "VIP Level:%i\n\nAccount Type: %s", VIPInfo[tid][VIPLevel], VIPInfo[tid][VIPAcc]);
1969 format(str1, sizeof(str1), "%s's VIP Stats", tname);
1970 ShowPlayerDialog(playerid, DIALOG_ISVIP, DIALOG_STYLE_MSGBOX, str1, str, "Got it!", "");
1971 return 1;
1972}
1973
1974public OnPlayerEditAttachedObject(playerid, response, index, modelid, boneid,Float:fOffsetX, Float:fOffsetY, Float:fOffsetZ,Float:fRotX, Float:fRotY, Float:fRotZ,Float:fScaleX, Float:fScaleY, Float:fScaleZ)
1975{
1976 VIPInfo[playerid][pindex] = index;
1977 VIPInfo[playerid][pmodelid] = modelid;
1978 VIPInfo[playerid][pboneid] = boneid;
1979 VIPInfo[playerid][pfOffsetX] = fOffsetX;
1980 VIPInfo[playerid][pfOffsetY] = fOffsetY;
1981 VIPInfo[playerid][pfOffsetZ] = fOffsetZ;
1982 VIPInfo[playerid][pfRotX] = fRotX;
1983 VIPInfo[playerid][pfRotY] = fRotY;
1984 VIPInfo[playerid][pfRotZ] = fRotZ;
1985 VIPInfo[playerid][pfScaleX] = fScaleX;
1986 VIPInfo[playerid][pfScaleY] = fScaleY;
1987 VIPInfo[playerid][pfScaleZ] = fScaleZ;
1988 SetPlayerAttachedObject(playerid,index,modelid,boneid,fOffsetX,fOffsetY,fOffsetZ,fRotX,fRotY,fRotZ,fScaleX,fScaleY,fScaleZ);
1989 SendClientMessage(playerid, GREEN, "[EO_VIP]: {FFFFFF}Toys Attachment finished");
1990
1991 return 1;
1992}