Advertisement
EOussama

[EO] Vip System version 1.6

Jan 30th, 2017
458
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 81.43 KB | None | 0 0
  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.  
  18. COPYRIGHT 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.  
  29. new DB:Database;
  30.  
  31. #define FILTERSCRIPT
  32.  
  33. #if defined FILTERSCRIPT
  34.  
  35. public 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.  
  56. public OnFilterScriptExit()
  57. {
  58.     db_close(Database);
  59.     return 1;
  60. }
  61.  
  62. #else
  63.  
  64. #endif
  65. //==========================================================================================================================
  66. //==========================================================================================================================
  67. //VIP enum
  68. enum 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
  103. enum {
  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.  
  137. enum AttachmentEnum
  138. {
  139.     attachmodel,
  140.     attachname[24]
  141. }
  142.  
  143. //new
  144. new VIPInfo[MAX_PLAYER_NAME][E_VIP_DATA];
  145. new VIPRank[12];
  146. new GATE1, GATE2;
  147.  
  148. //VIP Vehicles
  149. new gVIPVehicles[38];
  150.  
  151. //Vip toys
  152. new 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.  
  386. new 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
  410. new 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//
  429. ErrorMessages(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.  
  440. GetName(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
  451. new 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
  460. IsVIPVehicle(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. }
  469. public 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
  574. forward VIPTMSG(playerid);
  575. public 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
  586. forward VIPAT(playerid);
  587. public 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. }
  594. public 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. }
  628. public 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. }
  637. public 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. //================================================================================================
  671. CMD: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. }
  740. CMD: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//===========================
  756. ptask 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. }//======================================================
  776. timer VIPGPPTimer[60000](pid){
  777.     VIPInfo[pid][CNTUSE] = false;
  778. }
  779. //========================================================
  780. CMD:kill(playerid, o[]) {
  781.     SetPlayerHealth(playerid, 0);
  782.     return 1;
  783. }
  784. //===========//VIP chat//========================================
  785. CMD: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//=======================================
  803. CMD: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//============================================
  823. CMD: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//===================================================
  879. CMD: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//======================================
  910. CMD: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//===================================================
  930. CMD: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.  
  974. CMD: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.  
  997. CMD: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
  1056. forward VIPGP(playerid);
  1057. public VIPGP(playerid){
  1058.     VIPInfo[playerid][GPAuth] = true;
  1059.     return 1;
  1060. }
  1061.  
  1062. //====================//VIP GIVE CASH//============================================
  1063. CMD: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.  
  1091. CMD: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//===============================================
  1150. CMD: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//===============================================
  1195. CMD: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.  
  1228. CMD: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//=============================
  1252. CMD: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//===============================================
  1269. CMD: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//===================================
  1314. CMD: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//===============================================
  1339. CMD: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//===============================================
  1355. CMD: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//===============================================
  1372. CMD: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//================================================
  1411. CMD: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//===============================================
  1424. CMD: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//===============================================
  1448. CMD: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//===============================================
  1468. CMD: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//===============================================
  1479. CMD: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//===============================================
  1494. CMD: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//===============================================
  1509. CMD: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. //================================================================================
  1524. public 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. }
  1540. public 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. }
  1602. forward GateCloseTimer(playerid);
  1603. public 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. }
  1614. public OnPlayerUpdate(playerid)
  1615. {
  1616.     return 1;
  1617. }
  1618.  
  1619. public 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.  
  1964. public 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.  
  1974. public 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. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement