Advertisement
EOussama

EO_VIP 2.0 filterscript

Mar 3rd, 2018
494
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 71.66 KB | None | 0 0
  1. /*=======================================================================================================================================================
  2. ==========================================================================================================================================================
  3.                                                             oooooooooooo   .oooooo.
  4.                                                             `888'     `8  d8P'  `Y8b
  5.                                                              888         888      888
  6.                                                              888oooo8    888      888
  7.                                                              888    "    888      888
  8.                                                              888       o `88b    d88'
  9.                                                             o888ooooood8  `Y8bood8P'
  10.                                                              VIP SYSTEM Filterscript
  11.                                                             by Oussama .aka. Compton
  12.                                                 NOTE: Please note that the credits are to be kept.
  13. ============================================================================================================================================================
  14. ==========================================================================================================================================================*/
  15. #pragma compat 1
  16. #define FILTERSCRIPT
  17. #define PRESSED(%0) (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
  18. //**Colors----------------------------------------------------------------------------------------------------------------------------------
  19. #define VIPCOLOR_WHITE      0xFFFFFFFF
  20. #define VIPCOLOR_RED        0xF22222AA
  21. #define VIPCOLOR_BLUE       0x1C80EBAA
  22. #define VIPCOLOR_GREEN      0x36C936AA
  23. #define VIPCOLOR_YELLOW     0xF7F70FAA
  24. #define VIPCOLOR_ORANGE     0xF09A1AAA
  25. #define VIPCOL_WHITE        "{FFFFFF}"
  26. #define VIPCOL_RED          "{F22222}"
  27. #define VIPCOL_BLUE         "{1C80EB}"
  28. #define VIPCOL_GREEN        "{36C936}"
  29. #define VIPCOL_YELLOW       "{F7F70F}"
  30. #define VIPCOL_ORANGE       "{F09A1A}"
  31. //**Includes---------------------------------------------------------------------------------------------------------------------------------
  32. #include <a_samp>                   // by SA_MP team
  33. #include <a_mysql>                  // by BlueG                 >   github.com/pBlueG/SA-MP-MySQL/releases/tag/R41-2
  34. #include <streamer>                 // by incognito             >   github.com/samp-incognito/samp-streamer-plugin/releases/tag/v2.9.1
  35. #include <sscanf2>                  // by Y_Less                >   github.com/maddinat0r/sscanf/releases/tag/v2.8.2
  36. #include <iZCMD>                    // by Zeex and Yashas       >   github.com/YashasSamaga/I-ZCMD
  37. #include <YSI\y_timers>             // by Y_Less and Misiur     >   github.com/Misiur/YSI
  38. #include <eovip>                    // by Oussama
  39. //**MySQL Connection------------------------------------------------------------------------------------------------------------------------
  40. #define MySQL_HOST "127.0.0.1"
  41. #define MySQL_USER "root"
  42. #define MySQL_PASS ""
  43. #define MySQL_DATABASE "eo_vipdb"
  44. //**Global Variables------------------------------------------------------------------------------------------------------------------------
  45. new
  46.     MySQL:g_SQL,
  47.     gPlayerBone[18][] = {
  48.         "Spine",
  49.         "Head",
  50.         "Left upper arm",
  51.         "Right upper arm",
  52.         "Left hand",
  53.         "Right hand",
  54.         "Left thigh",
  55.         "Right thigh",
  56.         "Left foot",
  57.         "Right foot",
  58.         "Right calf",
  59.         "Left calf",
  60.         "Left forearm",
  61.         "Right forearm",
  62.         "Left clavicle",
  63.         "Right clavicle",
  64.         "Neck",
  65.         "Jaw"
  66.     },
  67.     gVIPToys[22][] = {
  68.         "Fishing Rod",
  69.         "Wrench",
  70.         "Hammer",
  71.         "Hardhat",
  72.         "Afro",
  73.         "Phone",
  74.         "Briefcase",
  75.         "Red Glasses",
  76.         "Orange Glasses",
  77.         "Dark Glasses",
  78.         "Yellow Glasses",
  79.         "Green Glasses",
  80.         "Bass Guitar",
  81.         "Flying Guitar",
  82.         "Clukin Bell Hat",
  83.         "Burger Shot Hat",
  84.         "Zoro Mask",
  85.         "Biker Helmet",
  86.         "Parrot",
  87.         "Cowboy Hat",
  88.         "Xmax Hat",
  89.         "Watch"
  90.     }
  91. ;
  92. //**DIALOGs---------------------------------------------------------------------------------------------------------------------------------
  93. #define DIALOG_MSG                  5000
  94. #define DIALOG_VIPBASESPAWN         5001
  95. #define DIALOG_VIPSKINS             5002
  96. #define DIALOG_VIPGPPRESETCREATE    5003
  97. #define DIALOG_VIPGPPRESETEDIT      5004
  98. #define DIALOG_TOYS                 5005
  99. #define DIALOG_TOYSINDEX            5006
  100. #define DIALOG_TOYSLIST             5007
  101. #define DIALOG_PRESETGUNLIST        5008
  102. #define DIALOG_GUNLISTMELEE         5009
  103. #define DIALOG_GUNLISTPISTOL        5010
  104. #define DIALOG_GUNLISTSHOTGUN       5011
  105. #define DIALOG_GUNLISTSUBMACHINE    5012
  106. #define DIALOG_GUNLISTASSAULT       5013
  107. #define DIALOG_GUNLISTRIFLE         5014
  108. #define DIALOG_VIPGPPRESETDELETE    5015
  109. #define DIALOG_TOYSMANAGE           5016
  110. //**Forwards--------------------------------------------------------------------------------------------------------------------------------
  111. forward OnVIPAccountCheck(playerid);
  112. forward OnVIPExpiredCheck(playerid);
  113. //**Functions-------------------------------------------------------------------------------------------------------------------------------
  114. GetPlayerNameEx(playerid)
  115. {
  116.     new pName[MAX_PLAYER_NAME];
  117.     GetPlayerName(playerid, pName, MAX_PLAYER_NAME);
  118.     return pName;
  119. }
  120. //VIP RANDOM MSG----------------------------------------------------------------------------------------------------------------------------
  121. new VIPTips[][] = {
  122.     "[EO_VIP TIP]: "VIPCOL_YELLOW"Use "VIPCOL_WHITE"/vipcmds "VIPCOL_WHITE"to check few useful VIP Commands.",
  123.     "[EO_VIP TIP]: "VIPCOL_YELLOW"Stay updated with your VIP Level information via "VIPCOL_WHITE"/viphelp .",
  124.     "[EO_VIP TIP]: "VIPCOL_YELLOW"Check your VIP Level stats via "VIPCOL_WHITE"/vipaccount .",
  125.     "[EO_VIP TIP]: "VIPCOL_YELLOW"Use "VIPCOL_WHITE"/vipbs "VIPCOL_WHITE"to enable/disable spawning in VIP Base."
  126. };
  127. #if defined FILTERSCRIPT
  128. public OnFilterScriptInit()
  129. {
  130.     new MySQLOpt:sqlOption = mysql_init_options();
  131.     g_SQL = mysql_connect(MySQL_HOST, MySQL_USER, MySQL_PASS, MySQL_DATABASE);
  132.     if(mysql_errno(g_SQL) == 0 && g_SQL)
  133.     {
  134.         printf("[MySQL]: Connection to \""#MySQL_DATABASE"\" was successful!");
  135.         mysql_set_option(sqlOption, AUTO_RECONNECT, true);
  136.         mysql_log(ALL);
  137.         print("\n--------------------------------------");
  138.         print(" [EO] VIP system by Oussama .a.k.a Compton");
  139.         print(" Filterscript version: 2.0");
  140.         print(" Credits must be included");
  141.         print("--------------------------------------\n");
  142.         CreateVIPBase();
  143.         CreateVIPVehicles();
  144.     }
  145.     else
  146.     {
  147.         printf("[MySQL]: Connection to \""#MySQL_DATABASE"\" failed!");
  148.         SendRconCommand("unloadfs EOVIP");
  149.     }
  150.     return 1;
  151. }
  152. public OnFilterScriptExit()
  153. {
  154.     printf("[MySQL]: Connection to \""#MySQL_DATABASE"\" was terminated!");
  155.     SendRconCommand("unloadfs EOVIP");
  156.     mysql_close(g_SQL);
  157.     return 1;
  158. }
  159. #endif
  160. public OnPlayerConnect(playerid)
  161. {
  162.     new _query[71];
  163.     SendClientMessage(playerid, -1, "[EO VIP]: "VIPCOL_YELLOW"VIP System by Eoussama");
  164.     ResetVIPData(playerid);
  165.     mysql_format(g_SQL, _query, sizeof(_query), "SELECT * FROM `VIPs` WHERE `Username` = '%e';", GetPlayerNameEx(playerid));
  166.     mysql_tquery(g_SQL, _query, "OnVIPAccountCheck", "d", playerid);
  167.     return 1;
  168. }
  169. public OnVIPAccountCheck(playerid)
  170. {
  171.     if(cache_num_rows())
  172.     {
  173.         new vipLevel,  _query[188];
  174.         cache_get_value_name_int(0, "ID", VIPInfo[playerid][e_VIPID]);
  175.         cache_get_value_name_int(0, "VIPLevel", vipLevel);
  176.         cache_get_value_name_int(0, "SpawnInBase", VIPInfo[playerid][e_VIPBaseSpawn]);
  177.         cache_get_value_name_int(0, "WeaponPreset", VIPInfo[playerid][e_VIPGunPackPreset]);
  178.         cache_get_value_name_int(0, "WeaponMeleeSlot", VIPInfo[playerid][e_VIPGPMelee]);
  179.         cache_get_value_name_int(0, "WeaponPistolSlot", VIPInfo[playerid][e_VIPGPPistol]);
  180.         cache_get_value_name_int(0, "WeaponShotgunSlot", VIPInfo[playerid][e_VIPGPShotgun]);
  181.         cache_get_value_name_int(0, "WeaponSubMachineSlot", VIPInfo[playerid][e_VIPGPSubMachine]);
  182.         cache_get_value_name_int(0, "WeaponAssaultSlot", VIPInfo[playerid][e_VIPGPAssault]);
  183.         cache_get_value_name_int(0, "WeaponRifleSlot", VIPInfo[playerid][e_VIPGPRifle]);
  184.         setVIPLevel(playerid, vipLevel);
  185.         VIPInfo[playerid][e_VIPGunPackCoolDown] = 0;
  186.         VIPInfo[playerid][e_VIPBaseTeleportCoolDown] = 0;
  187.         VIPInfo[playerid][e_VIPSelectedBone] = -1;
  188.         VIPInfo[playerid][e_VIPFirstSpawn] = true;
  189.         mysql_format(g_SQL, _query, sizeof(_query), "SELECT TIMESTAMPDIFF(MINUTE, NOW(), DATE_ADD(`Timestamp`, INTERVAL 30*24*60 MINUTE)) AS `minsLeft` FROM `VIPs` WHERE `ID` = %d AND `VIPLevel` > 0 LIMIT 1;", getPlayerAccID(playerid));
  190.         mysql_tquery(g_SQL, _query, "OnVIPExpiredCheck", "d", playerid);
  191.     }
  192.     else
  193.     {
  194.         new _query[71];
  195.         VIPInfo[playerid][e_VIPSelectedBone] = -1;
  196.         mysql_format(g_SQL, _query, sizeof(_query), "INSERT INTO `VIPs` (`Username`) VALUES('%e');", GetPlayerNameEx(playerid));
  197.         mysql_tquery(g_SQL, _query);
  198.     }
  199. }
  200. public OnVIPExpiredCheck(playerid)
  201. {
  202.     if(cache_num_rows())
  203.     {
  204.         new _query[278], minsLeft;
  205.         cache_get_value_name_int(0, "minsLeft", minsLeft);
  206.         if(minsLeft <= 0)
  207.         {
  208.             mysql_format(g_SQL, _query, sizeof(_query), "UPDATE `VIPs` SET `VIPLevel` = 0, `SpawnInBase` = 0, `WeaponPreset` = 0, `WeaponMeleeSlot` = 0, `WeaponPistolSlot` = 0, `WeaponShotgunSlot` = 0, `WeaponSubMachineSlot` = 0, `WeaponAssaultSlot` = 0, `WeaponRifleSlot` = 0 WHERE `Username` = '%e' LIMIT 1;", GetPlayerNameEx(playerid));
  209.             mysql_tquery(g_SQL, _query);
  210.             SendClientMessage(playerid, VIPCOLOR_RED, "[EO_VIP] Your VIP status has expired!");
  211.         }
  212.     }
  213. }
  214. public OnPlayerDisconnect(playerid, reason)
  215. {
  216.     DestroyDynamic3DTextLabel(VIPInfo[playerid][e_VIPTagID]);
  217.     SaveVIPData(playerid, g_SQL);
  218.     ResetVIPData(playerid);
  219.     return 1;
  220. }
  221. public OnPlayerSpawn(playerid)
  222. {
  223.     new str[128];
  224.     if(isPlayerVIP(playerid))
  225.     {
  226.         if(VIPInfo[playerid][e_VIPFirstSpawn])
  227.         {
  228.             format(str, sizeof(str), "Welcome "VIPCOL_WHITE"%s "VIPCOL_YELLOW", your VIP level is "VIPCOL_WHITE"%i "VIPCOL_YELLOW"|| account type: "VIPCOL_WHITE"%s", GetPlayerNameEx(playerid), getVIPLevel(playerid), getVIPName(playerid));
  229.             SendClientMessage(playerid, VIPCOLOR_YELLOW, str);
  230.             SendClientMessage(playerid, VIPCOLOR_ORANGE, "[EO_VIP]: "VIPCOL_YELLOW"Use "VIPCOL_WHITE"/vipcmds "VIPCOL_YELLOW"to display a useful collection of VIP commands, for information help use "VIPCOL_WHITE"/viphelp");
  231.             VIPInfo[playerid][e_VIPFirstSpawn] = false;
  232.         }
  233.    
  234.         switch(getVIPLevel(playerid))
  235.         {
  236.             case EOVIP_VIPLEVEL_3:
  237.             {
  238.                 SendClientMessage(playerid, VIPCOLOR_ORANGE, "[EO_VIP]: "VIPCOL_YELLOW"Your Armour has been set to "VIPCOL_WHITE"40%%");
  239.                 SetPlayerArmour(playerid, 40);
  240.             }
  241.             case EOVIP_VIPLEVEL_4:
  242.             {
  243.                 SendClientMessage(playerid, VIPCOLOR_ORANGE, "[EO_VIP]: "VIPCOL_YELLOW"Your Armour has been set to "VIPCOL_WHITE"80%%");
  244.                 SetPlayerArmour(playerid, 80);
  245.             }
  246.         }
  247.     }
  248.     if(VIPInfo[playerid][e_VIPBaseSpawn])
  249.     {
  250.         SendClientMessage(playerid, VIPCOLOR_ORANGE, "[EO_VIP]: "VIPCOL_YELLOW"You have spawned at VIP Base, you can change this option via "VIPCOL_WHITE"/vipbs");
  251.         TogglePlayerControllable(playerid, false);
  252.         SetPlayerPos(playerid, 3049.6392,-668.2963,2.8086);
  253.         defer VIPBaseTeleportTimer(playerid);
  254.     }
  255.    
  256.     return 1;
  257. }
  258. public OnPlayerStateChange(playerid, newstate, oldstate)
  259. {
  260.     new vehID = GetPlayerVehicleID(playerid);
  261.     if(newstate == PLAYER_STATE_DRIVER && isVIPVehicle(vehID))
  262.     {
  263.         if(isPlayerVIP(playerid))
  264.             SendClientMessage(playerid, VIPCOLOR_ORANGE, "[EO_VIP]: "VIPCOL_YELLOW"Welcome to the VIP Vehicle");
  265.         else
  266.         {
  267.             RemovePlayerFromVehicle(playerid);
  268.             SendClientMessage(playerid, VIPCOLOR_RED, "[EO_VIP]: You cannot drive a VIP vehicle!");
  269.         }
  270.     }
  271.     return 1;
  272. }
  273. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  274. {
  275.     if(PRESSED(KEY_NO))
  276.     {
  277.         new Float:posX, Float:posY, Float:posZ, message[96];
  278.         GetPlayerPos(playerid, posX, posY, posZ);
  279.         if(IsPlayerInRangeOfPoint(playerid, 4, 3002.3396, -683.2094, 1.9951) && isPlayerVIP(playerid))
  280.         {
  281.             if(!isVIPGateOpened())
  282.             {
  283.                 if(IsDynamicObjectMoving(VIPGate[e_Gate1]) || IsDynamicObjectMoving(VIPGate[e_Gate2])) return SendClientMessage(playerid, VIPCOLOR_RED, "[EO_VIP]: Wait for the gate to fully close!");
  284.                
  285.                 ToggleVIPGates(true);
  286.                 SendClientMessage(playerid, VIPCOLOR_GREEN, "[EO_VIP]: VIP Base gate is opening!");
  287.             }
  288.             else
  289.             {
  290.                 if(IsDynamicObjectMoving(VIPGate[e_Gate1]) || IsDynamicObjectMoving(VIPGate[e_Gate2])) return SendClientMessage(playerid, VIPCOLOR_RED, "[EO_VIP]: Wait for the gate to fully open!");
  291.                
  292.                 ToggleVIPGates(false);
  293.                 SendClientMessage(playerid, VIPCOLOR_GREEN, "[EO_VIP]: VIP Base gate is closing!");
  294.             }
  295.         }
  296.         else if(IsPlayerInRangeOfPoint(playerid, 2, 3024.9241, -692.5798, 3.3770))
  297.         {
  298.             if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, VIPCOLOR_RED, "[ERROR]: You cannot enter the lounge while being in a vehicle!");
  299.             if(!isPlayerVIP(playerid)) return SendClientMessage(playerid, VIPCOLOR_RED, "[ERROR]: You are not a VIP, you cannot enter this lounge!");
  300.            
  301.             SetPlayerInterior(playerid, 3);
  302.             SetPlayerPos(playerid, 942.171997, -16.542755, 1000.929687);
  303.             VIPInfo[playerid][e_IsVIPInLounge] = true;
  304.             SendClientMessage(playerid, VIPCOLOR_ORANGE, "[EO_VIP]: "VIPCOL_YELLOW"Welcome to the VIP Lounge");
  305.             SendClientMessage(playerid, VIPCOLOR_ORANGE, "[EO_VIP]: "VIPCOL_YELLOW"press "VIPCOL_WHITE"N "VIPCOL_YELLOW"to get outside");
  306.             format(message, sizeof(message), "[VIP Lounge]: "VIPCOL_YELLOW"VIP "VIPCOL_WHITE"%s"VIPCOL_YELLOW" has entered The VIP Lounge", GetPlayerNameEx(playerid));
  307.             foreach(new i : VIP)
  308.             {
  309.                 if(isPlayerVIP(i) && isVIPInLoungue(playerid))
  310.                     SendClientMessageToVIPs(message, VIPCOLOR_ORANGE, playerid);
  311.             }
  312.         }
  313.         else if(IsPlayerInRangeOfPoint(playerid, 2, 942.1549,-16.8236,1000.9297))
  314.         {
  315.             TogglePlayerControllable(playerid, false);
  316.             SendClientMessage(playerid, VIPCOLOR_ORANGE, "[EO_VIP]: You have been temporarily frozen, please wait for the environment to load!");
  317.             SetPlayerInterior(playerid, 0);
  318.             SetPlayerPos(playerid, 3024.9241, -692.5798, 3.3770);
  319.             defer VIPBaseTeleportTimer(playerid);
  320.             VIPInfo[playerid][e_IsVIPInLounge] = false;
  321.             format(message, sizeof(message), "[VIP Lounge]: "VIPCOL_ORANGE"VIP "VIPCOL_WHITE"%s "VIPCOL_ORANGE"has left The VIP Lounge", GetPlayerNameEx(playerid));
  322.             foreach(new i : VIP)
  323.             {
  324.                 if(isPlayerVIP(i) && isVIPInLoungue(playerid))
  325.                     SendClientMessageToVIPs(message, VIPCOLOR_ORANGE, playerid);
  326.             }
  327.         }
  328.     }
  329.     return 1;
  330. }
  331. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  332. {
  333.     switch(dialogid)
  334.     {
  335.         case DIALOG_VIPSKINS:
  336.         {
  337.             if(!response) return 0;
  338.             switch(listitem)
  339.             {
  340.                 case 0: SetPlayerSkin(playerid, 2), SendClientMessage(playerid, VIPCOLOR_ORANGE, "[EO_VIP]: "VIPCOL_YELLOW"You have changed your skin to "VIPCOL_WHITE"Maccer");
  341.                 case 1: SetPlayerSkin(playerid, 3), SendClientMessage(playerid, VIPCOLOR_ORANGE, "[EO_VIP]: "VIPCOL_YELLOW"You have changed your skin to "VIPCOL_WHITE"Andre");
  342.                 case 2: SetPlayerSkin(playerid, 12), SendClientMessage(playerid, VIPCOLOR_ORANGE, "[EO_VIP]: "VIPCOL_YELLOW"You have changed your skin to "VIPCOL_WHITE"Rich Woman");
  343.                 case 3: SetPlayerSkin(playerid, 0), SendClientMessage(playerid, VIPCOLOR_ORANGE, "[EO_VIP]: "VIPCOL_YELLOW"You have changed your skin to "VIPCOL_WHITE"CJ");
  344.                 case 4: SetPlayerSkin(playerid, 45), SendClientMessage(playerid, VIPCOLOR_ORANGE, "[EO_VIP]: "VIPCOL_YELLOW"You have changed your skin to "VIPCOL_WHITE"Stunter");
  345.                 case 5: SetPlayerSkin(playerid, 86), SendClientMessage(playerid, VIPCOLOR_ORANGE, "[EO_VIP]: "VIPCOL_YELLOW"You have changed your skin to "VIPCOL_WHITE"Ryder");
  346.                 case 6: SetPlayerSkin(playerid, 120), SendClientMessage(playerid, VIPCOLOR_ORANGE, "[EO_VIP]: "VIPCOL_YELLOW"You have changed your skin to "VIPCOL_WHITE"Triad Boss");
  347.                 case 7: SetPlayerSkin(playerid, 269), SendClientMessage(playerid, VIPCOLOR_ORANGE, "[EO_VIP]: "VIPCOL_YELLOW"You have changed your skin to "VIPCOL_WHITE"Big Smoke");
  348.                 case 8: SetPlayerSkin(playerid, 167), SendClientMessage(playerid, VIPCOLOR_ORANGE, "[EO_VIP]: "VIPCOL_YELLOW"You have changed your skin to "VIPCOL_WHITE"Cluckin' bell worker");
  349.                 case 9: SetPlayerSkin(playerid, 192), SendClientMessage(playerid, VIPCOLOR_ORANGE, "[EO_VIP]: "VIPCOL_YELLOW"You have changed your skin to "VIPCOL_WHITE"Michelle");
  350.             }
  351.         }
  352.         case DIALOG_VIPBASESPAWN:
  353.         {
  354.             if(!response) return 0;
  355.             if(!VIPInfo[playerid][e_VIPBaseSpawn])
  356.             {
  357.                 VIPInfo[playerid][e_VIPBaseSpawn] = true;
  358.                 SendClientMessage(playerid, VIPCOLOR_ORANGE, "[EO_VIP]: "VIPCOL_YELLOW"Your spawn position was set to the VIP Base!");
  359.             }
  360.             else
  361.             {
  362.                 VIPInfo[playerid][e_VIPBaseSpawn] = false;
  363.                 SendClientMessage(playerid, VIPCOLOR_ORANGE, "[EO_VIP]: "VIPCOL_YELLOW"You will not spawn on the VIP Base the next time!");
  364.             }
  365.         }
  366.         case DIALOG_VIPGPPRESETCREATE:
  367.         {
  368.             if(!response) return 0;
  369.             ShowPlayerDialog(playerid, DIALOG_PRESETGUNLIST, DIALOG_STYLE_LIST, "VIP Gunpack Preset - Weapon List", "Melee\nPistol\nShotgun\nSubMachine\nAssault\nRifle\nSave Gunpack Preset", "Select", "Cancel");
  370.         }
  371.         case DIALOG_PRESETGUNLIST:
  372.         {
  373.             if(!response) return SendClientMessage(playerid, VIPCOLOR_BLUE, "[EO_VIP]: You have canceled Gunpack preset creation!");
  374.             switch(listitem)
  375.             {
  376.                 case 0: ShowPlayerDialog(playerid, DIALOG_GUNLISTMELEE, DIALOG_STYLE_LIST, "Weapon List - Melee", "Knife\nBaseball Bat\nNightStick\nDildo\nGolf Club\nShovel\nKatana", "Select", "Cancel");
  377.                 case 1: ShowPlayerDialog(playerid, DIALOG_GUNLISTPISTOL, DIALOG_STYLE_LIST, "Weapon List - Pistol", "9mm Pistol\nSilenced Pistol\nDeagle", "Select", "Cancel");
  378.                 case 2: ShowPlayerDialog(playerid, DIALOG_GUNLISTSHOTGUN, DIALOG_STYLE_LIST, "Weapon List - Shotgun", "Shotgun\nCombat Shotgun\nSwan-off Shotgun", "Select", "Cancel");
  379.                 case 3: ShowPlayerDialog(playerid, DIALOG_GUNLISTSUBMACHINE, DIALOG_STYLE_LIST, "Weapon List - SubMachine", "MP5\nTec-9\nMicro UZI", "Select", "Cancel");
  380.                 case 4: ShowPlayerDialog(playerid, DIALOG_GUNLISTASSAULT, DIALOG_STYLE_LIST, "Weapon List - Assault", "M4\nAK-47", "Select", "Cancel");
  381.                 case 5: ShowPlayerDialog(playerid, DIALOG_GUNLISTRIFLE, DIALOG_STYLE_LIST, "Weapon List - Rifle", "Country Rifle\nSniper Rifle", "Select", "Cancel");
  382.                 case 6:
  383.                 {
  384.                     VIPInfo[playerid][e_VIPGunPackPreset] = true;
  385.                     SendClientMessage(playerid, VIPCOLOR_ORANGE, "[EO_VIP]: "VIPCOL_YELLOW"You have saved your Gunpack preset, next time you use /vipgunpack you will spawn your Gunpack preset!");
  386.                 }
  387.             }
  388.         }
  389.         case DIALOG_GUNLISTMELEE:
  390.         {
  391.             if(!response) return ShowPlayerDialog(playerid, DIALOG_PRESETGUNLIST, DIALOG_STYLE_LIST, "VIP Gunpack Preset - Weapon List", "Melee\nPistol\nShotgun\nSubMachine\nAssault\nRifle\nSave Gunpack Preset", "Select", "Cancel");
  392.            
  393.             switch(listitem)
  394.             {
  395.                 case 0: VIPInfo[playerid][e_VIPGPMelee] = 4, SendClientMessage(playerid, VIPCOLOR_BLUE, "[EO_VIP]: You have selected \"Knife\"");
  396.                 case 1: VIPInfo[playerid][e_VIPGPMelee] = 5, SendClientMessage(playerid, VIPCOLOR_BLUE, "[EO_VIP]: You have selected \"Baseball Bat\"");
  397.                 case 2: VIPInfo[playerid][e_VIPGPMelee] = 3, SendClientMessage(playerid, VIPCOLOR_BLUE, "[EO_VIP]: You have selected \"NightStick\"");
  398.                 case 3: VIPInfo[playerid][e_VIPGPMelee] = 10, SendClientMessage(playerid, VIPCOLOR_BLUE, "[EO_VIP]: You have selected \"Dildo\"");
  399.                 case 4: VIPInfo[playerid][e_VIPGPMelee] = 2, SendClientMessage(playerid, VIPCOLOR_BLUE, "[EO_VIP]: You have selected \"Golf Club\"");
  400.                 case 5: VIPInfo[playerid][e_VIPGPMelee] = 6, SendClientMessage(playerid, VIPCOLOR_BLUE, "[EO_VIP]: You have selected \"Shovel\"");
  401.                 case 6: VIPInfo[playerid][e_VIPGPMelee] = 8, SendClientMessage(playerid, VIPCOLOR_BLUE, "[EO_VIP]: You have selected \"Katana\"");
  402.             }
  403.             ShowPlayerDialog(playerid, DIALOG_PRESETGUNLIST, DIALOG_STYLE_LIST, "VIP Gunpack Preset - Weapon List", "Melee\nPistol\nShotgun\nSubMachine\nAssault\nRifle\nSave Gunpack Preset", "Select", "Cancel");
  404.         }
  405.         case DIALOG_GUNLISTPISTOL:
  406.         {
  407.             if(!response) return ShowPlayerDialog(playerid, DIALOG_PRESETGUNLIST, DIALOG_STYLE_LIST, "VIP Gunpack Preset - Weapon List", "Melee\nPistol\nShotgun\nSubMachine\nAssault\nRifle\nSave Gunpack Preset", "Select", "Cancel");
  408.            
  409.             switch(listitem)
  410.             {
  411.                 case 0: VIPInfo[playerid][e_VIPGPPistol] = 22, SendClientMessage(playerid, VIPCOLOR_BLUE, "[EO_VIP]: You have selected \"9mm Pistol\"");
  412.                 case 1: VIPInfo[playerid][e_VIPGPPistol] = 23, SendClientMessage(playerid, VIPCOLOR_BLUE, "[EO_VIP]: You have selected \"Silenced Pistol\"");
  413.                 case 2: VIPInfo[playerid][e_VIPGPPistol] = 24, SendClientMessage(playerid, VIPCOLOR_BLUE, "[EO_VIP]: You have selected \"Deagle\"");
  414.             }
  415.             ShowPlayerDialog(playerid, DIALOG_PRESETGUNLIST, DIALOG_STYLE_LIST, "VIP Gunpack Preset - Weapon List", "Melee\nPistol\nShotgun\nSubMachine\nAssault\nRifle\nSave Gunpack Preset", "Select", "Cancel");
  416.         }
  417.         case DIALOG_GUNLISTSHOTGUN:
  418.         {
  419.             if(!response) return ShowPlayerDialog(playerid, DIALOG_PRESETGUNLIST, DIALOG_STYLE_LIST, "VIP Gunpack Preset - Weapon List", "Melee\nPistol\nShotgun\nSubMachine\nAssault\nRifle\nSave Gunpack Preset", "Select", "Cancel");
  420.            
  421.             switch(listitem)
  422.             {
  423.                 case 0: VIPInfo[playerid][e_VIPGPShotgun] = 25, SendClientMessage(playerid, VIPCOLOR_BLUE, "[EO_VIP]: You have selected \"Shotgun\"");
  424.                 case 1: VIPInfo[playerid][e_VIPGPShotgun] = 27, SendClientMessage(playerid, VIPCOLOR_BLUE, "[EO_VIP]: You have selected \"Combat Shotgun\"");
  425.                 case 2: VIPInfo[playerid][e_VIPGPShotgun] = 26, SendClientMessage(playerid, VIPCOLOR_BLUE, "[EO_VIP]: You have selected \"Swan-off Shotgun\"");
  426.             }
  427.             ShowPlayerDialog(playerid, DIALOG_PRESETGUNLIST, DIALOG_STYLE_LIST, "VIP Gunpack Preset - Weapon List", "Melee\nPistol\nShotgun\nSubMachine\nAssault\nRifle\nSave Gunpack Preset", "Select", "Cancel");
  428.         }
  429.         case DIALOG_GUNLISTSUBMACHINE:
  430.         {
  431.             if(!response) return ShowPlayerDialog(playerid, DIALOG_PRESETGUNLIST, DIALOG_STYLE_LIST, "VIP Gunpack Preset - Weapon List", "Melee\nPistol\nShotgun\nSubMachine\nAssault\nRifle\nSave Gunpack Preset", "Select", "Cancel");
  432.             switch(listitem)
  433.             {
  434.                 case 0: VIPInfo[playerid][e_VIPGPSubMachine] = 29, SendClientMessage(playerid, VIPCOLOR_BLUE, "[EO_VIP]: You have selected \"MP5\"");
  435.                 case 1: VIPInfo[playerid][e_VIPGPSubMachine] = 32, SendClientMessage(playerid, VIPCOLOR_BLUE, "[EO_VIP]: You have selected \"Tec-9\"");
  436.                 case 2: VIPInfo[playerid][e_VIPGPSubMachine] = 28, SendClientMessage(playerid, VIPCOLOR_BLUE, "[EO_VIP]: You have selected \"Micro UZI\"");
  437.             }
  438.             ShowPlayerDialog(playerid, DIALOG_PRESETGUNLIST, DIALOG_STYLE_LIST, "VIP Gunpack Preset - Weapon List", "Melee\nPistol\nShotgun\nSubMachine\nAssault\nRifle\nSave Gunpack Preset", "Select", "Cancel");
  439.         }
  440.         case DIALOG_GUNLISTASSAULT:
  441.         {
  442.             if(!response) return ShowPlayerDialog(playerid, DIALOG_PRESETGUNLIST, DIALOG_STYLE_LIST, "VIP Gunpack Preset - Weapon List", "Melee\nPistol\nShotgun\nSubMachine\nAssault\nRifle\nSave Gunpack Preset", "Select", "Cancel");
  443.            
  444.             switch(listitem)
  445.             {
  446.                 case 0: VIPInfo[playerid][e_VIPGPAssault] = 31, SendClientMessage(playerid, VIPCOLOR_BLUE, "[EO_VIP]: You have selected \"M4\"");
  447.                 case 1: VIPInfo[playerid][e_VIPGPAssault] = 30, SendClientMessage(playerid, VIPCOLOR_BLUE, "[EO_VIP]: You have selected \"AK-47\"");
  448.             }
  449.             ShowPlayerDialog(playerid, DIALOG_PRESETGUNLIST, DIALOG_STYLE_LIST, "VIP Gunpack Preset - Weapon List", "Melee\nPistol\nShotgun\nSubMachine\nAssault\nRifle\nSave Gunpack Preset", "Select", "Cancel");
  450.         }
  451.         case DIALOG_GUNLISTRIFLE:
  452.         {
  453.             if(!response) return ShowPlayerDialog(playerid, DIALOG_PRESETGUNLIST, DIALOG_STYLE_LIST, "VIP Gunpack Preset - Weapon List", "Melee\nPistol\nShotgun\nSubMachine\nAssault\nRifle\nSave Gunpack Preset", "Select", "Cancel");
  454.            
  455.             switch(listitem)
  456.             {
  457.                 case 0: VIPInfo[playerid][e_VIPGPRifle] = 33, SendClientMessage(playerid, VIPCOLOR_BLUE, "[EO_VIP]: You have selected \"Country Rifle\"");
  458.                 case 1: VIPInfo[playerid][e_VIPGPRifle] = 34, SendClientMessage(playerid, VIPCOLOR_BLUE, "[EO_VIP]: You have selected \"Sniper Rifle\"");
  459.             }
  460.             ShowPlayerDialog(playerid, DIALOG_PRESETGUNLIST, DIALOG_STYLE_LIST, "VIP Gunpack Preset - Weapon List", "Melee\nPistol\nShotgun\nSubMachine\nAssault\nRifle\nSave Gunpack Preset", "Select", "Cancel");
  461.         }
  462.         case DIALOG_VIPGPPRESETEDIT:
  463.         {
  464.             if(!response) return 0;
  465.             switch(listitem)
  466.             {
  467.                 case 0: ShowPlayerDialog(playerid, DIALOG_PRESETGUNLIST, DIALOG_STYLE_LIST, "VIP Gunpack Preset - Weapon List", "Melee\nPistol\nShotgun\nSubMachine\nAssault\nRifle\nSave Gunpack Preset", "Select", "Cancel");
  468.                 case 1: ShowPlayerDialog(playerid, DIALOG_VIPGPPRESETDELETE, DIALOG_STYLE_MSGBOX, "VIP Gunpack Preset", "Are you sure you want to delete your Gunpack preset?\n"VIPCOL_YELLOW"you can create another one anytime via "VIPCOL_WHITE"/vipgppreset", "Yes", "No");
  469.             }
  470.         }
  471.         case DIALOG_VIPGPPRESETDELETE:
  472.         {
  473.             if(!response) return 0;
  474.             VIPInfo[playerid][e_VIPGunPackPreset] = false;
  475.             VIPInfo[playerid][e_VIPGPMelee] = -1;
  476.             VIPInfo[playerid][e_VIPGPPistol] = -1;
  477.             VIPInfo[playerid][e_VIPGPShotgun] = -1;
  478.             VIPInfo[playerid][e_VIPGPSubMachine] = -1;
  479.             VIPInfo[playerid][e_VIPGPAssault] = -1;
  480.             VIPInfo[playerid][e_VIPGPRifle] = -1;
  481.             SendClientMessage(playerid, VIPCOLOR_BLUE, "[EO_VIP]: You have deleted your Gunpack preset!");
  482.         }
  483.         case DIALOG_TOYS:
  484.         {
  485.             if(!response) return 0;
  486.             VIPInfo[playerid][e_VIPToysIndex] = listitem;
  487.             if(VIPInfo[playerid][e_VIPToysSlots][listitem])
  488.             {
  489.                 SendClientMessage(playerid, VIPCOLOR_BLUE, "[EO_VIP] "VIPCOL_BLUE"Please chose an option!");
  490.                 ShowPlayerDialog(playerid, DIALOG_TOYSMANAGE, DIALOG_STYLE_LIST, "VIP Attachments - Management", "Edit Toy\nDelete Toy", "Select", "Cancel");
  491.             }
  492.             else
  493.             {
  494.                 new _content[500];
  495.                 for(new i; i<sizeof(gPlayerBone); i++)
  496.                     format(_content, sizeof(_content), "%s%s\n" ,_content, gPlayerBone[i]);
  497.                 SendClientMessage(playerid, VIPCOLOR_BLUE, "[EO_VIP] "VIPCOL_BLUE"Please select a bone to stick the toy at!");
  498.                 ShowPlayerDialog(playerid, DIALOG_TOYSINDEX, DIALOG_STYLE_LIST, "VIP Attachments - Bone Selection", _content, "Select", "Cancel");
  499.             }
  500.         }
  501.         case DIALOG_TOYSINDEX:
  502.         {
  503.             if(!response) return 0;
  504.             new _VIPToys[300];
  505.             SendClientMessage(playerid, VIPCOLOR_BLUE, "[EO_VIP] "VIPCOL_BLUE"Please select a toy to attach!");
  506.             for(new i; i<sizeof(gVIPToys); i++)
  507.                 format(_VIPToys, sizeof(_VIPToys), "%s%s\n", _VIPToys, gVIPToys[i]);
  508.             switch(listitem)
  509.             {
  510.                 case 0: ShowPlayerDialog(playerid, DIALOG_TOYSLIST, DIALOG_STYLE_LIST, "VIP Toys - Toy selection", _VIPToys, "Select", "Cancel"), VIPInfo[playerid][e_VIPSelectedBone] = 1;
  511.                 case 1: ShowPlayerDialog(playerid, DIALOG_TOYSLIST, DIALOG_STYLE_LIST, "VIP Toys - Toy selection", _VIPToys, "Select", "Cancel"), VIPInfo[playerid][e_VIPSelectedBone] = 2;
  512.                 case 2: ShowPlayerDialog(playerid, DIALOG_TOYSLIST, DIALOG_STYLE_LIST, "VIP Toys - Toy selection", _VIPToys, "Select", "Cancel"), VIPInfo[playerid][e_VIPSelectedBone] = 3;
  513.                 case 3: ShowPlayerDialog(playerid, DIALOG_TOYSLIST, DIALOG_STYLE_LIST, "VIP Toys - Toy selection", _VIPToys, "Select", "Cancel"), VIPInfo[playerid][e_VIPSelectedBone] = 4;
  514.                 case 4: ShowPlayerDialog(playerid, DIALOG_TOYSLIST, DIALOG_STYLE_LIST, "VIP Toys - Toy selection", _VIPToys, "Select", "Cancel"), VIPInfo[playerid][e_VIPSelectedBone] = 5;
  515.                 case 5: ShowPlayerDialog(playerid, DIALOG_TOYSLIST, DIALOG_STYLE_LIST, "VIP Toys - Toy selection", _VIPToys, "Select", "Cancel"), VIPInfo[playerid][e_VIPSelectedBone] = 6;
  516.                 case 6: ShowPlayerDialog(playerid, DIALOG_TOYSLIST, DIALOG_STYLE_LIST, "VIP Toys - Toy selection", _VIPToys, "Select", "Cancel"), VIPInfo[playerid][e_VIPSelectedBone] = 7;
  517.                 case 7: ShowPlayerDialog(playerid, DIALOG_TOYSLIST, DIALOG_STYLE_LIST, "VIP Toys - Toy selection", _VIPToys, "Select", "Cancel"), VIPInfo[playerid][e_VIPSelectedBone] = 8;
  518.                 case 8: ShowPlayerDialog(playerid, DIALOG_TOYSLIST, DIALOG_STYLE_LIST, "VIP Toys - Toy selection", _VIPToys, "Select", "Cancel"), VIPInfo[playerid][e_VIPSelectedBone] = 9;
  519.                 case 9: ShowPlayerDialog(playerid, DIALOG_TOYSLIST, DIALOG_STYLE_LIST, "VIP Toys - Toy selection", _VIPToys, "Select", "Cancel"), VIPInfo[playerid][e_VIPSelectedBone] = 10;
  520.                 case 10: ShowPlayerDialog(playerid, DIALOG_TOYSLIST, DIALOG_STYLE_LIST, "VIP Toys - Toy selection", _VIPToys, "Select", "Cancel"), VIPInfo[playerid][e_VIPSelectedBone] = 11;
  521.                 case 11: ShowPlayerDialog(playerid, DIALOG_TOYSLIST, DIALOG_STYLE_LIST, "VIP Toys - Toy selection", _VIPToys, "Select", "Cancel"), VIPInfo[playerid][e_VIPSelectedBone] = 12;
  522.                 case 12: ShowPlayerDialog(playerid, DIALOG_TOYSLIST, DIALOG_STYLE_LIST, "VIP Toys - Toy selection", _VIPToys, "Select", "Cancel"), VIPInfo[playerid][e_VIPSelectedBone] = 13;
  523.                 case 13: ShowPlayerDialog(playerid, DIALOG_TOYSLIST, DIALOG_STYLE_LIST, "VIP Toys - Toy selection", _VIPToys, "Select", "Cancel"), VIPInfo[playerid][e_VIPSelectedBone] = 14;
  524.                 case 14: ShowPlayerDialog(playerid, DIALOG_TOYSLIST, DIALOG_STYLE_LIST, "VIP Toys - Toy selection", _VIPToys, "Select", "Cancel"), VIPInfo[playerid][e_VIPSelectedBone] = 15;
  525.                 case 15: ShowPlayerDialog(playerid, DIALOG_TOYSLIST, DIALOG_STYLE_LIST, "VIP Toys - Toy selection", _VIPToys, "Select", "Cancel"), VIPInfo[playerid][e_VIPSelectedBone] = 16;
  526.                 case 16: ShowPlayerDialog(playerid, DIALOG_TOYSLIST, DIALOG_STYLE_LIST, "VIP Toys - Toy selection", _VIPToys, "Select", "Cancel"), VIPInfo[playerid][e_VIPSelectedBone] = 17;
  527.                 case 17: ShowPlayerDialog(playerid, DIALOG_TOYSLIST, DIALOG_STYLE_LIST, "VIP Toys - Toy selection", _VIPToys, "Select", "Cancel"), VIPInfo[playerid][e_VIPSelectedBone] = 18;
  528.             }
  529.         }
  530.         case DIALOG_TOYSLIST:
  531.         {
  532.             if(!response) return 0;
  533.             switch(listitem)
  534.             {
  535.                 case 0: SetPlayerAttachedObject(playerid, VIPInfo[playerid][e_VIPToysIndex], 18632, VIPInfo[playerid][e_VIPSelectedBone], 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
  536.                 case 1: SetPlayerAttachedObject(playerid, VIPInfo[playerid][e_VIPToysIndex], 18633, VIPInfo[playerid][e_VIPSelectedBone], 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
  537.                 case 2: SetPlayerAttachedObject(playerid, VIPInfo[playerid][e_VIPToysIndex], 18635, VIPInfo[playerid][e_VIPSelectedBone], 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
  538.                 case 3: SetPlayerAttachedObject(playerid, VIPInfo[playerid][e_VIPToysIndex], 18638, VIPInfo[playerid][e_VIPSelectedBone], 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
  539.                 case 4: SetPlayerAttachedObject(playerid, VIPInfo[playerid][e_VIPToysIndex], 19077, VIPInfo[playerid][e_VIPSelectedBone], 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
  540.                 case 5: SetPlayerAttachedObject(playerid, VIPInfo[playerid][e_VIPToysIndex], 18871, VIPInfo[playerid][e_VIPSelectedBone], 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
  541.                 case 6: SetPlayerAttachedObject(playerid, VIPInfo[playerid][e_VIPToysIndex], 1210, VIPInfo[playerid][e_VIPSelectedBone], 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
  542.                 case 7: SetPlayerAttachedObject(playerid, VIPInfo[playerid][e_VIPToysIndex], 19026, VIPInfo[playerid][e_VIPSelectedBone], 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
  543.                 case 8: SetPlayerAttachedObject(playerid, VIPInfo[playerid][e_VIPToysIndex], 19007, VIPInfo[playerid][e_VIPSelectedBone], 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
  544.                 case 9: SetPlayerAttachedObject(playerid, VIPInfo[playerid][e_VIPToysIndex], 19138, VIPInfo[playerid][e_VIPSelectedBone], 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
  545.                 case 10: SetPlayerAttachedObject(playerid, VIPInfo[playerid][e_VIPToysIndex], 19028, VIPInfo[playerid][e_VIPSelectedBone], 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
  546.                 case 11: SetPlayerAttachedObject(playerid, VIPInfo[playerid][e_VIPToysIndex], 19029, VIPInfo[playerid][e_VIPSelectedBone], 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
  547.                 case 12: SetPlayerAttachedObject(playerid, VIPInfo[playerid][e_VIPToysIndex], 19317, VIPInfo[playerid][e_VIPSelectedBone], 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
  548.                 case 13: SetPlayerAttachedObject(playerid, VIPInfo[playerid][e_VIPToysIndex], 19318, VIPInfo[playerid][e_VIPSelectedBone], 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
  549.                 case 14: SetPlayerAttachedObject(playerid, VIPInfo[playerid][e_VIPToysIndex], 19137, VIPInfo[playerid][e_VIPSelectedBone], 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
  550.                 case 15: SetPlayerAttachedObject(playerid, VIPInfo[playerid][e_VIPToysIndex], 19094, VIPInfo[playerid][e_VIPSelectedBone], 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
  551.                 case 16: SetPlayerAttachedObject(playerid, VIPInfo[playerid][e_VIPToysIndex], 18974, VIPInfo[playerid][e_VIPSelectedBone], 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
  552.                 case 17: SetPlayerAttachedObject(playerid, VIPInfo[playerid][e_VIPToysIndex], 18977, VIPInfo[playerid][e_VIPSelectedBone], 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
  553.                 case 18: SetPlayerAttachedObject(playerid, VIPInfo[playerid][e_VIPToysIndex], 19078, VIPInfo[playerid][e_VIPSelectedBone], 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
  554.                 case 19: SetPlayerAttachedObject(playerid, VIPInfo[playerid][e_VIPToysIndex], 18962, VIPInfo[playerid][e_VIPSelectedBone], 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
  555.                 case 20: SetPlayerAttachedObject(playerid, VIPInfo[playerid][e_VIPToysIndex], 19066, VIPInfo[playerid][e_VIPSelectedBone], 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
  556.                 case 21: SetPlayerAttachedObject(playerid, VIPInfo[playerid][e_VIPToysIndex], 19039, VIPInfo[playerid][e_VIPSelectedBone], 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
  557.             }
  558.             SendClientMessage(playerid, VIPCOLOR_BLUE, "[EO_VIP] "VIPCOL_BLUE"Use the X,Y,Z axes to move/rotate/expand the toy!");
  559.             EditAttachedObject(playerid, VIPInfo[playerid][e_VIPToysIndex]);
  560.         }
  561.         case DIALOG_TOYSMANAGE:
  562.         {
  563.             if(!response) return 0;
  564.             switch(listitem)
  565.             {
  566.                 case 0: EditAttachedObject(playerid, VIPInfo[playerid][e_VIPToysIndex]);
  567.                 case 1: RemovePlayerAttachedObject(playerid, VIPInfo[playerid][e_VIPToysIndex]);
  568.             }
  569.         }
  570.     }
  571.     return 0;
  572. }
  573. 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 ){
  574.     if(response == EDIT_RESPONSE_FINAL)
  575.     {
  576.         SendClientMessage(playerid, VIPCOLOR_BLUE, "[EO_VIP] "VIPCOL_BLUE"Toy was successfully saved!");
  577.         VIPInfo[playerid][e_VIPToysSlots][VIPInfo[playerid][e_VIPToysIndex]] = true;
  578.         VIPInfo[playerid][e_VIPToysIndex] = -1;
  579.         VIPInfo[playerid][e_VIPSelectedBone] = -1;
  580.     }
  581.     return 1;
  582. }
  583. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  584. {
  585.     if(IsPlayerNPC(clickedplayerid) || clickedplayerid == INVALID_PLAYER_ID) return 0;
  586.     new _header[55];
  587.     format(_header, sizeof(_header), ""VIPCOL_BLUE"%s"VIPCOL_WHITE"'s VIP Info", GetPlayerNameEx(clickedplayerid));
  588.     if(isPlayerVIP(clickedplayerid))
  589.     {
  590.         new _content[155], setDate[11], Cache:results;
  591.         mysql_format(g_SQL, _content, sizeof(_content), "SELECT DATE(`Timestamp`) AS `setDate` FROM `VIPs` WHERE `ID` = %d LIMIT 1;", getPlayerAccID(clickedplayerid));
  592.         results = mysql_query(g_SQL, _content);
  593.         cache_get_value_name(0, "setDate", setDate, 11);
  594.         cache_delete(results);
  595.         format(_content, sizeof(_content), "\
  596.             "VIPCOL_WHITE"VIP Level: "VIPCOL_YELLOW"%d\n\
  597.             "VIPCOL_WHITE"Account Type: "VIPCOL_YELLOW"%s\n\
  598.             "VIPCOL_WHITE"VIP status set on: "VIPCOL_YELLOW"%s", getVIPLevel(clickedplayerid), getVIPName(clickedplayerid), setDate);
  599.         ShowPlayerDialog(playerid, DIALOG_MSG, DIALOG_STYLE_MSGBOX, _header, _content, "Close", "");
  600.     }
  601.     else
  602.         ShowPlayerDialog(playerid, DIALOG_MSG, DIALOG_STYLE_MSGBOX, _header, "This player is not a VIP!", "Close", "");
  603.     return 1;
  604. }
  605. //**Commands---------------------------------------------------------------------------------------------------------------------------------
  606. //VIP Admin Commands
  607. CMD:vipstats(playerid)
  608. {
  609.     if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, VIPCOLOR_RED, "[ERROR]: You are not authorized to use this command!");
  610.     new content[500], totalPlayers, totalVIPs, levels[4], mostRecentVIP[MAX_PLAYER_NAME], Cache:results;
  611.     results = mysql_query(g_SQL, "SELECT COUNT(`ID`) AS `gCount` FROM `VIPs`;");
  612.     cache_get_value_name_int(0, "gCount", totalPlayers);
  613.     cache_delete(results);
  614.     results = mysql_query(g_SQL, "SELECT COUNT(`ID`) AS `gvCount` FROM `VIPs` WHERE `VIPLevel` > 0;");
  615.     cache_get_value_name_int(0, "gvCount", totalVIPs);
  616.     cache_delete(results);
  617.     results = mysql_query(g_SQL, "SELECT COUNT(`ID`) AS `totalVIPs` FROM `VIPs` WHERE `VIPLevel` = 1;");
  618.     cache_get_value_name_int(0, "totalVIPs", levels[0]);
  619.     cache_delete(results);
  620.     results = mysql_query(g_SQL, "SELECT COUNT(`ID`) AS `totalVIPs` FROM `VIPs` WHERE `VIPLevel` = 2;");
  621.     cache_get_value_name_int(0, "totalVIPs", levels[1]);
  622.     cache_delete(results);
  623.     results = mysql_query(g_SQL, "SELECT COUNT(`ID`) AS `totalVIPs` FROM `VIPs` WHERE `VIPLevel` = 3;");
  624.     cache_get_value_name_int(0, "totalVIPs", levels[2]);
  625.     cache_delete(results);
  626.     results = mysql_query(g_SQL, "SELECT COUNT(`ID`) AS `totalVIPs` FROM `VIPs` WHERE `VIPLevel` = 4;");
  627.     cache_get_value_name_int(0, "totalVIPs", levels[3]);
  628.     cache_delete(results);
  629.     results = mysql_query(g_SQL, "SELECT `Username` FROM `VIPs` WHERE `VIPLevel` > 0 ORDER BY `Timestamp` DESC LIMIT 1;");
  630.     cache_get_value_name(0, "Username", mostRecentVIP, MAX_PLAYER_NAME);
  631.     cache_delete(results);
  632.     format(content, sizeof(content), ""VIPCOL_WHITE"There are "VIPCOL_YELLOW"%d "VIPCOL_WHITE"player(s) out of "VIPCOL_YELLOW"%d "VIPCOL_WHITE"with active VIP status.\n\n\
  633.         + "EOVIP_VIPNAME_1" "VIPCOL_WHITE"VIPs: "VIPCOL_YELLOW"%d\n\
  634.         "VIPCOL_WHITE"+ "EOVIP_VIPNAME_2" "VIPCOL_WHITE"VIPs: "VIPCOL_YELLOW"%d\n\
  635.         "VIPCOL_WHITE"+ "EOVIP_VIPNAME_3" "VIPCOL_WHITE"VIPs: "VIPCOL_YELLOW"%d\n\
  636.         "VIPCOL_WHITE"+ "EOVIP_VIPNAME_4" "VIPCOL_WHITE"VIPs: "VIPCOL_YELLOW"%d\n\n\
  637.         "VIPCOL_WHITE"The most recent VIP: "VIPCOL_YELLOW"%s", totalVIPs, totalPlayers, levels[0], levels[1], levels[2], levels[3], mostRecentVIP);
  638.     ShowPlayerDialog(playerid, DIALOG_MSG, DIALOG_STYLE_MSGBOX, ""VIPCOL_ORANGE"VIP statistics", content, "Close", "");
  639.     return CMD_SUCCESS;
  640. }
  641. CMD:setvip(playerid, params[])
  642. {
  643.     if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, VIPCOLOR_RED, "[ERROR]: You are not authorized to use this command!");
  644.     new message[144], level, targetid;
  645.     if(sscanf(params, "ud", targetid, level)) return SendClientMessage(playerid, VIPCOLOR_GREEN, "[USAGE]: /setvip [playerid] [level]") && SendClientMessage(playerid, VIPCOLOR_GREEN, "[FUNCTION]: Set someone's VIP status");
  646.     if(level < EOVIP_VIPLEVEL_0 || level > EOVIP_VIPLEVEL_4) return SendClientMessage(playerid, VIPCOLOR_RED, "[ERROR]: You have entered an invalid VIP level, Valid levels: [0-4]!");
  647.     if(!IsPlayerConnected(targetid)) return SendClientMessage(playerid, VIPCOLOR_RED, "[ERROR]: This player is not connected!");
  648.     if(IsPlayerNPC(targetid)) return SendClientMessage(playerid, VIPCOLOR_RED, "[ERROR]: You can't set VIP status to an NPC!");
  649.     if(targetid == INVALID_PLAYER_ID) return SendClientMessage(playerid, VIPCOLOR_RED, "[ERROR]: You have entered an invalid player id!");
  650.     if(level == getVIPLevel(targetid)) return SendClientMessage(playerid, VIPCOLOR_RED, "[ERROR]: This player already has this VIP level set!");
  651.     if(getVIPLevel(targetid) > level)
  652.     {      
  653.         format(message, sizeof(message), "[INFO]: Your VIP level has been reduced from "VIPCOL_WHITE"%d "VIPCOL_RED"to VIP level "VIPCOL_WHITE"%d!", getVIPLevel(targetid), level);
  654.         SendClientMessage(targetid, VIPCOLOR_RED, message);
  655.         GameTextForPlayer(playerid, "~r~VIP level reduced", 2000, 0);
  656.         format(message, sizeof(message), "[INFO]: You have reduced %s's VIP level from "VIPCOL_WHITE"%d "VIPCOL_ORANGE"to VIP level "VIPCOL_WHITE"%d!", GetPlayerNameEx(targetid), getVIPLevel(targetid), level);
  657.         SendClientMessage(playerid, VIPCOLOR_ORANGE, message);
  658.     }
  659.     else
  660.     {
  661.         format(message, sizeof(message), "[INFO]: You VIP level has been increased from "VIPCOL_WHITE"%d "VIPCOL_YELLOW"to VIP level "VIPCOL_WHITE"%d!", getVIPLevel(targetid), level);
  662.         SendClientMessage(targetid, VIPCOLOR_YELLOW, message);
  663.         GameTextForPlayer(playerid, "~g~VIP level increased~n~~y~Congratulations", 2000, 0);
  664.         format(message, sizeof(message), "[INFO]: You have increased %s's VIP level from "VIPCOL_WHITE"%d "VIPCOL_ORANGE"to VIP level "VIPCOL_WHITE"%d!", GetPlayerNameEx(targetid), getVIPLevel(targetid), level);
  665.         SendClientMessage(playerid, VIPCOLOR_ORANGE, message);
  666.     }
  667.     format(message, sizeof(message), "[INFO]: Administrator %s has set %s's VIP level to %d", GetPlayerNameEx(playerid), GetPlayerNameEx(targetid), level);
  668.     SendClientMessageToAll(VIPCOLOR_ORANGE, message);
  669.     setVIPLevel(targetid, level);
  670.     mysql_format(g_SQL, message, sizeof(message), "UPDATE `VIPs` SET `VIPLevel` = %d, `Timestamp` = CURRENT_TIMESTAMP WHERE `ID` = %d;", level, getPlayerAccID(playerid));
  671.     mysql_tquery(g_SQL, message);
  672.     return CMD_SUCCESS;
  673. }
  674. //vip level 0 Commands
  675. CMD:isvip(playerid, params[])
  676. {
  677.     new tid;
  678.     if(sscanf(params, "u", tid)) return SendClientMessage(playerid, VIPCOLOR_GREEN, "[USAGE]: /isvip [playerid]") && SendClientMessage(playerid, VIPCOLOR_GREEN, "[FUNCTION]: Check if player is a VIP");
  679.     if(!IsPlayerConnected(tid)) return SendClientMessage(playerid, VIPCOLOR_RED, "[ERROR]: This player is not connected!");
  680.     if(IsPlayerNPC(tid)) return SendClientMessage(playerid, VIPCOLOR_RED, "[ERROR]: You can't use this on an NPC!");
  681.     if(tid == INVALID_PLAYER_ID) return SendClientMessage(playerid, VIPCOLOR_RED, "[ERROR]: You have eneter an invalid player id!");
  682.     OnPlayerClickPlayer(playerid, tid, 1);
  683.     return CMD_SUCCESS;
  684. }
  685. CMD:vips(playerid)
  686. {
  687.     new _header[50], _content[3000], vipCount = Iter_Count(VIP);
  688.     format(_header, sizeof(_header), ""VIPCOL_WHITE"VIPs Online ["VIPCOL_GREEN"%d"VIPCOL_WHITE"]", vipCount);
  689.     if(!vipCount)
  690.         ShowPlayerDialog(playerid, DIALOG_MSG, DIALOG_STYLE_MSGBOX, _header, ""VIPCOL_RED"There are no VIPs online!", "Close", "");
  691.     else
  692.     {
  693.         foreach(new i : VIP)
  694.             format(_content, sizeof(_content), "%s[%s : level %d] - %s\n", _content, getVIPName(i), getVIPLevel(i), GetPlayerNameEx(i));
  695.         ShowPlayerDialog(playerid, DIALOG_MSG, DIALOG_STYLE_MSGBOX, _header, _content, "Close", "");
  696.     }
  697.     return CMD_SUCCESS;
  698. }
  699. //VIP Level 1 Commands
  700. CMD:vipcmds(playerid)
  701. {
  702.     new _content[1500], _header[40];
  703.     switch(getVIPLevel(playerid))
  704.     {
  705.         case EOVIP_VIPLEVEL_0:
  706.         {
  707.             strcat(_content, ""VIPCOL_ORANGE"/isvip - "VIPCOL_WHITE" View if player is a VIP\n");
  708.             strcat(_content, ""VIPCOL_ORANGE"/vips - "VIPCOL_WHITE" View all online VIPs");
  709.             strcpy(_header, "VIP Level 0 ["EOVIP_VIPNAME_0"] Commands", sizeof(_header));
  710.         }
  711.         case EOVIP_VIPLEVEL_1:
  712.         {
  713.             strcat(_content, ""VIPCOL_ORANGE"/isvip - "VIPCOL_WHITE" View if player is a VIP\n");
  714.             strcat(_content, ""VIPCOL_ORANGE"/vips - "VIPCOL_WHITE" View all online VIPs\n");
  715.             strcat(_content, ""VIPCOL_ORANGE"/vchat - "VIPCOL_WHITE" Chat with other VIPs\n");
  716.             strcat(_content, ""VIPCOL_ORANGE"/vipcmds - "VIPCOL_WHITE" View VIP commands\n");
  717.             strcat(_content, ""VIPCOL_ORANGE"/viphelp - "VIPCOL_WHITE" View VIP help panel\n");
  718.             strcat(_content, ""VIPCOL_ORANGE"/vipaccount - "VIPCOL_WHITE" View you're VIP account information\n");
  719.             strcat(_content, ""VIPCOL_ORANGE"/viptag - "VIPCOL_WHITE" Toggle VIP tag on you\n");
  720.             strcat(_content, ""VIPCOL_ORANGE"/viptoys - "VIPCOL_WHITE" Manage VIP toys\n");
  721.             strcat(_content, ""VIPCOL_ORANGE"/viptime - "VIPCOL_WHITE" Change the time\n");
  722.             strcat(_content, ""VIPCOL_ORANGE"/vipweather - "VIPCOL_WHITE" Change the weather\n");
  723.             strcat(_content, ""VIPCOL_ORANGE"/weatherids - "VIPCOL_WHITE" View weather IDs\n");
  724.             strcat(_content, ""VIPCOL_ORANGE"/vipbs - "VIPCOL_WHITE" Manage VIP bane spawn\n");
  725.             strcat(_content, ""VIPCOL_ORANGE"/vipvehflip - "VIPCOL_WHITE" Flip up your vehicle");
  726.             strcpy(_header, "VIP Level 1 ["EOVIP_VIPNAME_1"] Commands", sizeof(_header));
  727.         }
  728.         case EOVIP_VIPLEVEL_2:
  729.         {
  730.             strcat(_content, ""VIPCOL_ORANGE"/isvip - "VIPCOL_WHITE" View if player is a VIP\n");
  731.             strcat(_content, ""VIPCOL_ORANGE"/vips - "VIPCOL_WHITE" View all online VIPs\n");
  732.             strcat(_content, ""VIPCOL_ORANGE"/vchat - "VIPCOL_WHITE" Chat with other VIPs\n");
  733.             strcat(_content, ""VIPCOL_ORANGE"/vipcmds - "VIPCOL_WHITE" View VIP commands\n");
  734.             strcat(_content, ""VIPCOL_ORANGE"/viphelp - "VIPCOL_WHITE" View VIP help panel\n");
  735.             strcat(_content, ""VIPCOL_ORANGE"/vipaccount - "VIPCOL_WHITE" View you're VIP account information\n");
  736.             strcat(_content, ""VIPCOL_ORANGE"/viptag - "VIPCOL_WHITE" Toggle VIP tag on you\n");
  737.             strcat(_content, ""VIPCOL_ORANGE"/vipgunpack - "VIPCOL_WHITE" Spawn VIP gun pack\n");
  738.             strcat(_content, ""VIPCOL_ORANGE"/viptoys - "VIPCOL_WHITE" Manage VIP toys\n");
  739.             strcat(_content, ""VIPCOL_ORANGE"/viptime - "VIPCOL_WHITE" Change the time\n");
  740.             strcat(_content, ""VIPCOL_ORANGE"/vipweather - "VIPCOL_WHITE" Change the weather\n");
  741.             strcat(_content, ""VIPCOL_ORANGE"/weatherids - "VIPCOL_WHITE" View weather IDs\n");
  742.             strcat(_content, ""VIPCOL_ORANGE"/vipbs - "VIPCOL_WHITE" Manage VIP bane spawn\n");
  743.             strcat(_content, ""VIPCOL_ORANGE"/vipvehflip - "VIPCOL_WHITE" Flip up your vehicle\n");
  744.             strcat(_content, ""VIPCOL_ORANGE"/changevehcolor - "VIPCOL_WHITE" Change your vehicle's color\n");
  745.             strcat(_content, ""VIPCOL_ORANGE"/vipnos - "VIPCOL_WHITE" Add nitrous to your vehicle\n");
  746.             strcat(_content, ""VIPCOL_ORANGE"/vipenginefix - "VIPCOL_WHITE" Fix your vehicle's engine\n");
  747.             strcat(_content, ""VIPCOL_ORANGE"/vipbodyfix - "VIPCOL_WHITE" Fix your vehicle's body\n");
  748.             strcat(_content, ""VIPCOL_ORANGE"/vipbasetp - "VIPCOL_WHITE" Teleport to the VIP base");
  749.             strcpy(_header, "VIP Level 2 ["EOVIP_VIPNAME_2"] Commands", sizeof(_header));
  750.         }
  751.         case EOVIP_VIPLEVEL_3:
  752.         {
  753.             strcat(_content, ""VIPCOL_ORANGE"/isvip - "VIPCOL_WHITE" View if player is a VIP\n");
  754.             strcat(_content, ""VIPCOL_ORANGE"/vips - "VIPCOL_WHITE" View all online VIPs\n");
  755.             strcat(_content, ""VIPCOL_ORANGE"/vchat - "VIPCOL_WHITE" Chat with other VIPs\n");
  756.             strcat(_content, ""VIPCOL_ORANGE"/vipcmds - "VIPCOL_WHITE" View VIP commands\n");
  757.             strcat(_content, ""VIPCOL_ORANGE"/viphelp - "VIPCOL_WHITE" View VIP help panel\n");
  758.             strcat(_content, ""VIPCOL_ORANGE"/vipaccount - "VIPCOL_WHITE" View you're VIP account information\n");
  759.             strcat(_content, ""VIPCOL_ORANGE"/viptag - "VIPCOL_WHITE" Toggle VIP tag on you\n");
  760.             strcat(_content, ""VIPCOL_ORANGE"/vipgunpack - "VIPCOL_WHITE" Spawn VIP gun pack\n");
  761.             strcat(_content, ""VIPCOL_ORANGE"/viptoys - "VIPCOL_WHITE" Manage VIP toys\n");
  762.             strcat(_content, ""VIPCOL_ORANGE"/viptime - "VIPCOL_WHITE" Change the time\n");
  763.             strcat(_content, ""VIPCOL_ORANGE"/vipweather - "VIPCOL_WHITE" Change the weather\n");
  764.             strcat(_content, ""VIPCOL_ORANGE"/weatherids - "VIPCOL_WHITE" View weather IDs\n");
  765.             strcat(_content, ""VIPCOL_ORANGE"/vipbs - "VIPCOL_WHITE" Manage VIP bane spawn\n");
  766.             strcat(_content, ""VIPCOL_ORANGE"/vipvehflip - "VIPCOL_WHITE" Flip up your vehicle\n");
  767.             strcat(_content, ""VIPCOL_ORANGE"/changevehcolor - "VIPCOL_WHITE" Change your vehicle's color\n");
  768.             strcat(_content, ""VIPCOL_ORANGE"/vipnos - "VIPCOL_WHITE" Add nitrous to your vehicle\n");
  769.             strcat(_content, ""VIPCOL_ORANGE"/vipenginefix - "VIPCOL_WHITE" Fix your vehicle's engine\n");
  770.             strcat(_content, ""VIPCOL_ORANGE"/vipbodyfix - "VIPCOL_WHITE" Fix your vehicle's body\n");
  771.             strcat(_content, ""VIPCOL_ORANGE"/vipbasetp - "VIPCOL_WHITE" Teleport to the VIP base\n");
  772.             strcat(_content, ""VIPCOL_ORANGE"/vipgppreset - "VIPCOL_WHITE" Manage your gun pack preset\n");
  773.             strcat(_content, ""VIPCOL_ORANGE"/vipskin - "VIPCOL_WHITE" Change your skin");
  774.             strcpy(_header, "VIP Level 3 ["EOVIP_VIPNAME_3"] Commands", sizeof(_header));
  775.         }
  776.         case EOVIP_VIPLEVEL_4:
  777.         {
  778.             strcat(_content, ""VIPCOL_ORANGE"/isvip - "VIPCOL_WHITE" View if player is a VIP\n");
  779.             strcat(_content, ""VIPCOL_ORANGE"/vips - "VIPCOL_WHITE" View all online VIPs\n");
  780.             strcat(_content, ""VIPCOL_ORANGE"/vchat - "VIPCOL_WHITE" Chat with other VIPs\n");
  781.             strcat(_content, ""VIPCOL_ORANGE"/vipcmds - "VIPCOL_WHITE" View VIP commands\n");
  782.             strcat(_content, ""VIPCOL_ORANGE"/viphelp - "VIPCOL_WHITE" View VIP help panel\n");
  783.             strcat(_content, ""VIPCOL_ORANGE"/vipaccount - "VIPCOL_WHITE" View you're VIP account information\n");
  784.             strcat(_content, ""VIPCOL_ORANGE"/viptag - "VIPCOL_WHITE" Toggle VIP tag on you\n");
  785.             strcat(_content, ""VIPCOL_ORANGE"/vipgunpack - "VIPCOL_WHITE" Spawn VIP gun pack\n");
  786.             strcat(_content, ""VIPCOL_ORANGE"/viptoys - "VIPCOL_WHITE" Manage VIP toys\n");
  787.             strcat(_content, ""VIPCOL_ORANGE"/viptime - "VIPCOL_WHITE" Change the time\n");
  788.             strcat(_content, ""VIPCOL_ORANGE"/vipweather - "VIPCOL_WHITE" Change the weather\n");
  789.             strcat(_content, ""VIPCOL_ORANGE"/weatherids - "VIPCOL_WHITE" View weather IDs\n");
  790.             strcat(_content, ""VIPCOL_ORANGE"/vipbs - "VIPCOL_WHITE" Manage VIP bane spawn\n");
  791.             strcat(_content, ""VIPCOL_ORANGE"/vipvehflip - "VIPCOL_WHITE" Flip up your vehicle\n");
  792.             strcat(_content, ""VIPCOL_ORANGE"/changevehcolor - "VIPCOL_WHITE" Change your vehicle's color\n");
  793.             strcat(_content, ""VIPCOL_ORANGE"/vipnos - "VIPCOL_WHITE" Add nitrous to your vehicle\n");
  794.             strcat(_content, ""VIPCOL_ORANGE"/vipenginefix - "VIPCOL_WHITE" Fix your vehicle's engine\n");
  795.             strcat(_content, ""VIPCOL_ORANGE"/vipbodyfix - "VIPCOL_WHITE" Fix your vehicle's body\n");
  796.             strcat(_content, ""VIPCOL_ORANGE"/vipbasetp - "VIPCOL_WHITE" Teleport to the VIP base\n");
  797.             strcat(_content, ""VIPCOL_ORANGE"/vipgppreset - "VIPCOL_WHITE" Manage your gun pack preset\n");
  798.             strcat(_content, ""VIPCOL_ORANGE"/vipskin - "VIPCOL_WHITE" Change your skin");
  799.             strcpy(_header, "VIP Level 4 ["EOVIP_VIPNAME_4"] Commands", sizeof(_header));
  800.         }
  801.     }
  802.     ShowPlayerDialog(playerid, DIALOG_MSG, DIALOG_STYLE_LIST, _header, _content, "Close", "");
  803.    
  804.     return CMD_SUCCESS;
  805. }
  806. CMD:vchat(playerid, params[])
  807. {
  808.     if(!isPlayerVIP(playerid)) return SendClientMessage(playerid, VIPCOLOR_RED, "[ERROR]: You are not a VIP, you cannot use this command!");
  809.     if(isnull(params)) return SendClientMessage(playerid, VIPCOLOR_GREEN, "[USAGE]: /vchat [message]") && SendClientMessage(playerid, VIPCOLOR_GREEN, "[FUNCTION]: Chat with other VIPs");
  810.     if(strlen(params) > 85) return SendClientMessage(playerid, VIPCOLOR_RED, "[ERROR]: Message given is too long!");
  811.     new message[144];
  812.     format(message, sizeof(message), "[VIP CHAT] %s: %s", GetPlayerNameEx(playerid), params);
  813.     SendClientMessageToVIPs(message, VIPCOLOR_BLUE);
  814.     return CMD_SUCCESS;
  815. }
  816. CMD:vipaccount(playerid)
  817. {
  818.     if(!isPlayerVIP(playerid)) return SendClientMessage(playerid, VIPCOLOR_RED, "[ERROR]: You are not a VIP, you cannot use this command!");
  819.     new _content[370], daysLeft, hoursLeft, minsLeft, acquired[11], Cache:result;
  820.     mysql_format(g_SQL, _content, sizeof(_content), "SELECT DATE(`Timestamp`) AS `Acquired`, TIMESTAMPDIFF(DAY, NOW(), DATE_ADD(`Timestamp`, INTERVAL 30 DAY)) AS `daysLeft`, TIMESTAMPDIFF(HOUR, NOW(), DATE_ADD(`Timestamp`, INTERVAL 30*24 HOUR)) AS `hoursLeft`, TIMESTAMPDIFF(MINUTE, NOW(), DATE_ADD(`Timestamp`, INTERVAL 30*24*60 MINUTE)) AS `minLeft` FROM `VIPs` WHERE `Username` = '%e' LIMIT 1;", GetPlayerNameEx(playerid));
  821.     result = mysql_query(g_SQL, _content);
  822.     cache_get_value_name(0, "Acquired", acquired, sizeof(acquired));
  823.     cache_get_value_name_int(0, "daysLeft", daysLeft);
  824.     cache_get_value_name_int(0, "hoursLeft", hoursLeft);
  825.     cache_get_value_name_int(0, "minLeft", minsLeft);
  826.     cache_delete(result);
  827.     format(_content, sizeof(_content), ""VIPCOL_WHITE"Username\t"VIPCOL_YELLOW"%s\n\
  828.         "VIPCOL_WHITE"VIP Level\t"VIPCOL_YELLOW"%d\n\
  829.         "VIPCOL_WHITE"Account Type\t"VIPCOL_YELLOW"%s\n\
  830.         "VIPCOL_WHITE"VIP set on\t"VIPCOL_YELLOW"%s\n\
  831.         "VIPCOL_WHITE"Time left\t"VIPCOL_YELLOW"%d\n\
  832.         "VIPCOL_WHITE"Spawn in VIP Base\t"VIPCOL_YELLOW"%s",
  833.         GetPlayerNameEx(playerid),
  834.         getVIPLevel(playerid),
  835.         getVIPName(playerid),
  836.         acquired,
  837.         (daysLeft > 1 ? daysLeft : hoursLeft > 1 ? hoursLeft : minsLeft),
  838.         VIPInfo[playerid][e_VIPBaseSpawn] ? ("YES") : ("NO"));
  839.     ShowPlayerDialog(playerid, DIALOG_MSG, DIALOG_STYLE_TABLIST, "VIP information", _content, "Close", "");
  840.     return CMD_SUCCESS;
  841. }
  842. CMD:viphelp(playerid)
  843. {
  844.     if(!isPlayerVIP(playerid)) return SendClientMessage(playerid, VIPCOLOR_RED, "[ERROR]: You are not a VIP, you cannot use this command!");
  845.        
  846.     switch(getVIPLevel(playerid))
  847.     {
  848.         case EOVIP_VIPLEVEL_1: ShowPlayerDialog(playerid, DIALOG_MSG, DIALOG_STYLE_LIST, "["EOVIP_VIPNAME_1"] VIP Help", "Features:\n\nYou can change up to 2 different weather types.", "Close","");
  849.         case EOVIP_VIPLEVEL_2: ShowPlayerDialog(playerid, DIALOG_MSG, DIALOG_STYLE_LIST, "["EOVIP_VIPNAME_2"] VIP Help", "Features:\n\n/vipgunpack Gives you 2 weapons.\n\nYou can change up to 3 different weather types.","Close","");
  850.         case EOVIP_VIPLEVEL_3: ShowPlayerDialog(playerid, DIALOG_MSG, DIALOG_STYLE_LIST, "["EOVIP_VIPNAME_3"] VIP Help", "Features:\n\nSpawn with 40%% of Armour.\n\n/vipgunpack Gives you 3 weapons.\n\nYou can change up to 4 different weather types.\n\nYou choose between 5 skin via /vipskin.","Close","");
  851.         case EOVIP_VIPLEVEL_4: ShowPlayerDialog(playerid, DIALOG_MSG, DIALOG_STYLE_LIST, "["EOVIP_VIPNAME_4"] VIP Help", "Features:\n\nSpawn with 80%% of Armour.\n\n/vipgunpack Gives you 4 weapons.\n\nYou can change up to 6 different weather types.\n\nYou choose between 10 skin via /vipskin.","Close","");
  852.     }
  853.     return CMD_SUCCESS;
  854. }
  855. CMD:viptag(playerid)
  856. {
  857.     if(!isPlayerVIP(playerid)) return SendClientMessage(playerid, VIPCOLOR_RED, "[ERROR]: You are not a VIP, you cannot use this command!");  
  858.    
  859.     if(!isPlayerVIPTagActive(playerid))
  860.         TogglePlayerVIPTag(playerid, true);
  861.     else
  862.         TogglePlayerVIPTag(playerid, false);
  863.     return CMD_SUCCESS;
  864. }
  865. CMD:viptoys(playerid)
  866. {
  867.     if(!isPlayerVIP(playerid)) return SendClientMessage(playerid, VIPCOLOR_RED, "[ERROR]: You are not a VIP, you cannot use this command!");
  868.     new _content[350];
  869.    
  870.     for(new i; i<MAX_PLAYER_ATTACHED_OBJECTS; i++)
  871.         format(_content, sizeof(_content), "%sSlot %i"VIPCOL_WHITE"\t\t\t%s\n" ,_content, i+1, IsPlayerAttachedObjectSlotUsed(playerid, i) ? (""VIPCOL_RED"[USED]") : (""VIPCOL_GREEN"[EMPTY]"));
  872.    
  873.     SendClientMessage(playerid, VIPCOLOR_BLUE, "[EO_VIP] "VIPCOL_BLUE"Please select a slot to insert/manage toys in!");
  874.     ShowPlayerDialog(playerid, DIALOG_TOYS, DIALOG_STYLE_LIST, "VIP Toys", _content, "Select", "Cancel");
  875.     return CMD_SUCCESS;
  876. }
  877. CMD:viptime(playerid, params[])
  878. {
  879.     new _hour, _minute, str[70];
  880.     if(!isPlayerVIP(playerid)) return SendClientMessage(playerid, VIPCOLOR_RED, "[ERROR]: You are not a VIP, you cannot use this command!");
  881.     if(sscanf(params, "ii", _hour, _minute)) return SendClientMessage(playerid, VIPCOLOR_GREEN ,"[USAGE]: /viptime [Hour] [Minute]") && SendClientMessage(playerid, VIPCOLOR_GREEN ,"[FUNCTION]: Change your time");
  882.     if(_hour > 23 || _hour < 0 || _minute > 59 || _minute < 0) return SendClientMessage(playerid, VIPCOLOR_RED, "[ERROR]: You have entered an invalid hour/minute value!");
  883.    
  884.     SetPlayerTime(playerid, _hour, _minute);
  885.     format(str, sizeof(str), "[EO_VIP]: You have set your time to "VIPCOL_WHITE"%02d"VIPCOL_ORANGE":"VIPCOL_WHITE"%02d", _hour, _minute);
  886.     SendClientMessage(playerid, VIPCOLOR_ORANGE, str);
  887.     return CMD_SUCCESS;
  888. }
  889. CMD:vipbs(playerid)
  890. {
  891.     if(!isPlayerVIP(playerid)) return SendClientMessage(playerid, VIPCOLOR_RED, "[ERROR]: You are not a VIP, you cannot use this command!");
  892.        
  893.     if(!VIPInfo[playerid][e_VIPBaseSpawn])
  894.         ShowPlayerDialog(playerid, DIALOG_VIPBASESPAWN, DIALOG_STYLE_MSGBOX, "VIP Base Spawn Option", "Do you want to always spawn in VIP Base?\n\nYou can change this this anytime with "VIPCOL_WHITE"/vipbs", "Yes", "No");
  895.     else
  896.         ShowPlayerDialog(playerid, DIALOG_VIPBASESPAWN, DIALOG_STYLE_MSGBOX, "VIP Base Spawn Option", "Do you want to disable Spawning in VIP base option?\n\nYou can change this this anytime with "VIPCOL_WHITE"/vipbs", "Yes", "No");
  897.     return CMD_SUCCESS;
  898. }
  899. CMD:weatherids(playerid)
  900. {
  901.     if(!isPlayerVIP(playerid)) return SendClientMessage(playerid, VIPCOLOR_RED, "[ERROR]: You are not a VIP, you cannot use this command!");
  902.    
  903.     switch(getVIPLevel(playerid))
  904.     {
  905.         case EOVIP_VIPLEVEL_1: ShowPlayerDialog(playerid, DIALOG_MSG, DIALOG_STYLE_MSGBOX, "Weather IDs", ""VIPCOL_YELLOW"1- "VIPCOL_WHITE"Sunny\n\n"VIPCOL_YELLOW"2- "VIPCOL_WHITE"Extra Sunny Smog", "Close", "");
  906.         case EOVIP_VIPLEVEL_2: ShowPlayerDialog(playerid, DIALOG_MSG, DIALOG_STYLE_MSGBOX, "Weather IDs", ""VIPCOL_YELLOW"1- "VIPCOL_WHITE"Sunny\n\n"VIPCOL_YELLOW"2- "VIPCOL_WHITE"Extra Sunny Smog\n\n"VIPCOL_YELLOW"3- "VIPCOL_WHITE"Sunny Smog", "Close", "");
  907.         case EOVIP_VIPLEVEL_3: ShowPlayerDialog(playerid, DIALOG_MSG, DIALOG_STYLE_MSGBOX, "Weather IDs", ""VIPCOL_YELLOW"1- "VIPCOL_WHITE"Sunny\n\n"VIPCOL_YELLOW"2- "VIPCOL_WHITE"Extra Sunny Smog\n\n"VIPCOL_YELLOW"3- "VIPCOL_WHITE"Sunny Smog\n\n"VIPCOL_YELLOW"4- "VIPCOL_WHITE"Cloudy", "Close", "");
  908.         case EOVIP_VIPLEVEL_4: ShowPlayerDialog(playerid, DIALOG_MSG, DIALOG_STYLE_MSGBOX, "Weather IDs", ""VIPCOL_YELLOW"1- "VIPCOL_WHITE"Sunny\n\n"VIPCOL_YELLOW"2- "VIPCOL_WHITE"Extra Sunny Smog\n\n"VIPCOL_YELLOW"3- "VIPCOL_WHITE"Sunny Smog\n\n"VIPCOL_YELLOW"4- "VIPCOL_WHITE"Cloudy\n\n"VIPCOL_YELLOW"5- "VIPCOL_WHITE"Summer Sun\n\n"VIPCOL_YELLOW"6- "VIPCOL_WHITE"Summer Extra Sunny", "Close", "");
  909.     }
  910.     return CMD_SUCCESS;
  911. }
  912. CMD:vipweather(playerid, params[])
  913. {
  914.     new wid, str[70];
  915.     if(!isPlayerVIP(playerid)) return SendClientMessage(playerid, VIPCOLOR_RED, "[ERROR]: You are not a VIP, you cannot use this command!");
  916.     if(sscanf(params, "i", wid)) return SendClientMessage(playerid, VIPCOLOR_GREEN ,"[USAGE]: /vipweather [Weather ID] - use /weatherids to view available weather IDs") && SendClientMessage(playerid, VIPCOLOR_GREEN ,"[FUNCTION]: Change your weather");
  917.     switch(getVIPLevel(playerid))
  918.     {
  919.         case EOVIP_VIPLEVEL_1:
  920.         {
  921.             if(wid > 2 || wid < 1) return SendClientMessage(playerid, VIPCOLOR_RED,"[ERROR]: You have entered an invalid weather ID, available Weather IDs are {92979C}[1-2]");
  922.             format(str, sizeof(str), "[EO_VIP]: "VIPCOL_YELLOW"You have set the weather ID to "VIPCOL_WHITE"%i", wid);
  923.             SendClientMessage(playerid, VIPCOLOR_ORANGE,str);
  924.             SetPlayerWeather(playerid, wid);
  925.         }
  926.         case EOVIP_VIPLEVEL_2:
  927.         {
  928.             if(wid > 3 || wid < 1) return SendClientMessage(playerid, VIPCOLOR_RED ,"[ERROR]: You have entered an invalid weather ID, available Weather IDs are {92979C}[1-3]");
  929.             format(str, sizeof(str), "[EO_VIP]: "VIPCOL_YELLOW"You have set the weather ID to "VIPCOL_WHITE"%i", wid);
  930.             SendClientMessage(playerid, VIPCOLOR_ORANGE ,str);
  931.             SetPlayerWeather(playerid, wid);
  932.         }
  933.         case EOVIP_VIPLEVEL_3:
  934.         {
  935.             if(wid > 4 || wid < 1) return SendClientMessage(playerid, VIPCOLOR_RED,"[ERROR]: You have entered an invalid weather ID, available Weather IDs are {92979C}[1-4]");
  936.             format(str, sizeof(str), "[EO_VIP]: "VIPCOL_YELLOW"You have set the weather ID to "VIPCOL_WHITE"%i", wid);
  937.             SendClientMessage(playerid, VIPCOLOR_ORANGE,str);
  938.             SetPlayerWeather(playerid, wid);
  939.         }
  940.         case EOVIP_VIPLEVEL_4:
  941.         {
  942.             if(wid > 6 || wid < 1) return SendClientMessage(playerid, VIPCOLOR_RED ,"[ERROR]: You have entered an invalid weather ID, available Weather IDs are {92979C}[1-6]");
  943.             format(str, sizeof(str), "[EO_VIP]: "VIPCOL_YELLOW"You have set the weather ID to "VIPCOL_WHITE"%i", wid);
  944.             SendClientMessage(playerid, VIPCOLOR_ORANGE ,str);
  945.             SetPlayerWeather(playerid, wid);
  946.         }
  947.     }
  948.     return CMD_SUCCESS;
  949. }
  950. CMD:vipvehflip(playerid)
  951. {
  952.     if(!isPlayerVIP(playerid)) return SendClientMessage(playerid, VIPCOLOR_RED, "[ERROR]: You are not a VIP, you cannot use this command!");
  953.     if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, VIPCOLOR_RED, "[ERROR]: You need to be in a vehicle to use this command!");
  954.     new currentveh = GetPlayerVehicleID(playerid), Float:_angle;
  955.     GetVehicleZAngle(currentveh, _angle);
  956.     SetVehicleZAngle(currentveh, _angle);
  957.     SendClientMessage(playerid, VIPCOLOR_ORANGE, "[EO_VIP]: Your vehicle has been flipped!");
  958.     return CMD_SUCCESS;
  959. }
  960. //VIP Level 2 Commands
  961. CMD:vipgunpack(playerid)
  962. {
  963.     if(!isPlayerVIP(playerid)) return SendClientMessage(playerid, VIPCOLOR_RED, "[ERROR]: You are not a VIP, you cannot use this command!");
  964.     if(getVIPLevel(playerid) < 2) return SendClientMessage(playerid, VIPCOLOR_RED, "[ERROR]: You need to have VIP level 2 or above to use this command!");
  965.     if(gettime() - VIPInfo[playerid][e_VIPGunPackCoolDown] < 900) SendClientMessage(playerid, VIPCOLOR_RED, "[ERROR]: You have just used that command, please wait for 15 minutes");
  966.    
  967.     if(!VIPInfo[playerid][e_VIPGunPackPreset])
  968.     {
  969.         switch(getVIPLevel(playerid))
  970.         {
  971.             case EOVIP_VIPLEVEL_2:
  972.             {
  973.                 GivePlayerWeapon(playerid, 22, 50);
  974.                 GivePlayerWeapon(playerid, 25, 30);
  975.             }
  976.             case EOVIP_VIPLEVEL_3:
  977.             {
  978.                 GivePlayerWeapon(playerid, 4, 1);
  979.                 GivePlayerWeapon(playerid, 24, 10);
  980.                 GivePlayerWeapon(playerid, 27, 50);
  981.             }
  982.             case EOVIP_VIPLEVEL_4:
  983.             {
  984.                 GivePlayerWeapon(playerid, 9, 1);
  985.                 GivePlayerWeapon(playerid, 24, 25);
  986.                 GivePlayerWeapon(playerid, 26, 30);
  987.                 GivePlayerWeapon(playerid, 31, 100);
  988.             }
  989.         }
  990.         SendClientMessage(playerid, VIPCOLOR_ORANGE, "[EO_VIP]: "VIPCOL_YELLOW"VIP Weapon pack given");
  991.         SendClientMessage(playerid, VIPCOLOR_ORANGE, "[EO_VIP]: "VIPCOL_YELLOW"You have loaded the default preset of guns, you can create your customized one via "VIPCOL_WHITE"/vipgppreset");
  992.     }
  993.     else
  994.     {
  995.         SendClientMessage(playerid, VIPCOLOR_ORANGE, "[EO_VIP]: "VIPCOL_YELLOW"You have loaded customized preset of guns, you can manage it anytime via "VIPCOL_WHITE"/vipgppreset");
  996.        
  997.         if(VIPInfo[playerid][e_VIPGPMelee] != -1)
  998.             GivePlayerWeapon(playerid, VIPInfo[playerid][e_VIPGPMelee], 1);
  999.         if(VIPInfo[playerid][e_VIPGPPistol] != -1)
  1000.             GivePlayerWeapon(playerid, VIPInfo[playerid][e_VIPGPPistol], 25);
  1001.         if(VIPInfo[playerid][e_VIPGPShotgun] != -1)
  1002.             GivePlayerWeapon(playerid, VIPInfo[playerid][e_VIPGPShotgun], 30);
  1003.         if(VIPInfo[playerid][e_VIPGPSubMachine] != -1)
  1004.             GivePlayerWeapon(playerid, VIPInfo[playerid][e_VIPGPSubMachine], 40);
  1005.         if(VIPInfo[playerid][e_VIPGPAssault] != -1)
  1006.             GivePlayerWeapon(playerid, VIPInfo[playerid][e_VIPGPAssault], 100);
  1007.         if(VIPInfo[playerid][e_VIPGPRifle] != -1)
  1008.             GivePlayerWeapon(playerid, VIPInfo[playerid][e_VIPGPRifle], 15);
  1009.     }
  1010.     VIPInfo[playerid][e_VIPGunPackCoolDown] = gettime();
  1011.  
  1012.     return CMD_SUCCESS;
  1013. }
  1014. CMD:changevehcolor(playerid, params[])
  1015. {
  1016.     if(!isPlayerVIP(playerid)) return SendClientMessage(playerid, VIPCOLOR_RED, "[ERROR]: You are not a VIP, you cannot use this command!");
  1017.     if(getVIPLevel(playerid) < 2) return SendClientMessage(playerid, VIPCOLOR_RED, "[ERROR]: You need to have VIP level 2 or above to use this command!");
  1018.     new str[128], color1, color2;
  1019.     if(sscanf(params, "ii", color1, color2)) return SendClientMessage(playerid, VIPCOLOR_GREEN, "[USAGE]: /changevehcolor [color 1] [color 2]") && SendClientMessage(playerid, VIPCOLOR_GREEN, "[FUNCTION]: Change a vehicle's color");
  1020.     if(color1 > 255 || color1 < 0 || color2 > 255 || color2 < 0) return SendClientMessage(playerid, VIPCOLOR_RED, "[ERROR]: You have entered an invalid Color ID!");
  1021.     if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, VIPCOLOR_RED, "[ERROR]: You need to be in a vehicle to use this command!");
  1022.    
  1023.     switch(getVIPLevel(playerid))
  1024.     {
  1025.         case EOVIP_VIPLEVEL_2:
  1026.         {
  1027.             if(GetPlayerMoney(playerid) < EOVIP_CCOLOR_FEE_2) return SendClientMessage(playerid, VIPCOLOR_RED, "[ERROR]: You can't afford changing this vehicle's color");
  1028.             GivePlayerMoney(playerid, -EOVIP_CCOLOR_FEE_2);
  1029.             format(str, sizeof(str), "[EO_VIP]: "VIPCOL_YELLOW"Vehicle color changed to ( "VIPCOL_YELLOW"%i "VIPCOL_WHITE", "VIPCOL_YELLOW"%i "VIPCOL_WHITE"), you've been charged with "VIPCOL_YELLOW"$"#EOVIP_CCOLOR_FEE_2"", color1, color2);
  1030.             SendClientMessage(playerid, VIPCOLOR_ORANGE, str);
  1031.             ChangeVehicleColor(GetPlayerVehicleID(playerid), color1, color2);
  1032.         }
  1033.         case EOVIP_VIPLEVEL_3:
  1034.         {
  1035.             if(GetPlayerMoney(playerid) < EOVIP_CCOLOR_FEE_3) return SendClientMessage(playerid, VIPCOLOR_RED, "[ERROR]: You can't afford changing this vehicle's color");
  1036.             GivePlayerMoney(playerid, -EOVIP_CCOLOR_FEE_3);
  1037.             format(str, sizeof(str), "[EO_VIP]: "VIPCOL_YELLOW"Vehicle color changed to ( "VIPCOL_YELLOW"%i "VIPCOL_WHITE", "VIPCOL_YELLOW"%i "VIPCOL_WHITE"), you've been charged with "VIPCOL_YELLOW"$"#EOVIP_CCOLOR_FEE_3"", color1, color2);
  1038.             SendClientMessage(playerid, VIPCOLOR_ORANGE, str);
  1039.             ChangeVehicleColor(GetPlayerVehicleID(playerid), color1, color2);
  1040.         }
  1041.         case EOVIP_VIPLEVEL_4:
  1042.         {
  1043.             if(GetPlayerMoney(playerid) < EOVIP_CCOLOR_FEE_4) return SendClientMessage(playerid, VIPCOLOR_RED, "[ERROR]: You can't afford changing this vehicle's color");
  1044.             GivePlayerMoney(playerid, -EOVIP_CCOLOR_FEE_4);
  1045.             format(str, sizeof(str), "[EO_VIP]: "VIPCOL_YELLOW"Vehicle color changed to ( "VIPCOL_YELLOW"%i "VIPCOL_WHITE", "VIPCOL_YELLOW"%i "VIPCOL_WHITE"), you've been charged with "VIPCOL_YELLOW"$"#EOVIP_CCOLOR_FEE_4"", color1, color2);
  1046.             SendClientMessage(playerid, VIPCOLOR_ORANGE, str);
  1047.             ChangeVehicleColor(GetPlayerVehicleID(playerid), color1, color2);
  1048.         }
  1049.     }
  1050.     return CMD_SUCCESS;
  1051. }
  1052. CMD:vipnos(playerid)
  1053. {
  1054.     if(!isPlayerVIP(playerid)) return SendClientMessage(playerid, VIPCOLOR_RED, "[ERROR]: You are not a VIP, you cannot use this command!");
  1055.     if(getVIPLevel(playerid) < 2) return SendClientMessage(playerid, VIPCOLOR_RED, "[ERROR]: You need to have VIP level 2 or above to use this command!");
  1056.     if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, VIPCOLOR_RED, "[ERROR]: You need to be in a vehicle to use this command!");  
  1057.    
  1058.     switch(getVIPLevel(playerid))
  1059.     {
  1060.         case EOVIP_VIPLEVEL_2:
  1061.         {
  1062.             if(GetPlayerMoney(playerid) < EOVIP_CNOS_FEE_2) return SendClientMessage(playerid, VIPCOLOR_RED, "[ERROR]: You can't afford to buy this");
  1063.             GivePlayerMoney(playerid, -EOVIP_CNOS_FEE_2);
  1064.             SendClientMessage(playerid, VIPCOLOR_ORANGE, "[ERROR]: "VIPCOL_YELLOW"You have added nitrous to this vehicle, you've been charged with "VIPCOL_WHITE"$"#EOVIP_CNOS_FEE_2"");
  1065.         }
  1066.         case EOVIP_VIPLEVEL_3:
  1067.         {
  1068.             if(GetPlayerMoney(playerid) < EOVIP_CNOS_FEE_3) return SendClientMessage(playerid, VIPCOLOR_RED, "[ERROR]: You can't afford to buy this");
  1069.             GivePlayerMoney(playerid, -EOVIP_CNOS_FEE_3);
  1070.             SendClientMessage(playerid, VIPCOLOR_ORANGE, "[EO_VIP]: "VIPCOL_YELLOW"You have added nitrous to this vehicle, you've been charged with "VIPCOL_WHITE"$"#EOVIP_CNOS_FEE_3"");
  1071.         }
  1072.         case EOVIP_VIPLEVEL_4:
  1073.         {
  1074.             if(GetPlayerMoney(playerid) < EOVIP_CNOS_FEE_4) return  SendClientMessage(playerid, VIPCOLOR_RED, "[ERROR]: You can't afford to buy this");
  1075.             GivePlayerMoney(playerid, -EOVIP_CNOS_FEE_4);
  1076.             SendClientMessage(playerid, VIPCOLOR_ORANGE, "[EO_VIP]: "VIPCOL_YELLOW"You have added nitrous to this vehicle, you've been charged with "VIPCOL_WHITE"$"#EOVIP_CNOS_FEE_4"");
  1077.         }
  1078.     }
  1079.     AddVehicleComponent(GetPlayerVehicleID(playerid), 1010);
  1080.     PlayerPlaySound(playerid, 1133, 0.0, 0.0, 10.0);
  1081.     return CMD_SUCCESS;
  1082. }
  1083. CMD:vipenginefix(playerid)
  1084. {
  1085.     if(!isPlayerVIP(playerid)) return SendClientMessage(playerid, VIPCOLOR_RED, "[ERROR]: You are not a VIP, you cannot use this command!");
  1086.     if(getVIPLevel(playerid) < 2) return SendClientMessage(playerid, VIPCOLOR_RED, "[ERROR]: You need to have VIP level 2 or above to use this command!");
  1087.     if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, VIPCOLOR_RED, "[ERROR]: You need to be in a vehicle to use this command!");  
  1088.    
  1089.     switch(getVIPLevel(playerid))
  1090.     {
  1091.         case EOVIP_VIPLEVEL_3:
  1092.         {
  1093.             if(GetPlayerMoney(playerid) < EOVIP_CEFIX_FEE_3)
  1094.             GivePlayerMoney(playerid, -EOVIP_CEFIX_FEE_3);
  1095.             SendClientMessage(playerid, VIPCOLOR_ORANGE, "[EO_VIP]: "VIPCOL_YELLOW"vehicle fixed, you've been charged with "VIPCOL_WHITE"$"#EOVIP_CEFIX_FEE_3"");
  1096.         }
  1097.         case EOVIP_VIPLEVEL_4:
  1098.         {
  1099.             if(GetPlayerMoney(playerid) < EOVIP_CEFIX_FEE_4)
  1100.             GivePlayerMoney(playerid, -EOVIP_CEFIX_FEE_4);
  1101.             SendClientMessage(playerid, VIPCOLOR_ORANGE, "[EO_VIP]: "VIPCOL_YELLOW"vehicle fixed, you've been charged with "VIPCOL_WHITE"$"#EOVIP_CEFIX_FEE_4"");
  1102.         }
  1103.     }
  1104.     SetVehicleHealth(GetPlayerVehicleID(playerid), 1000);
  1105.     return CMD_SUCCESS;
  1106. }
  1107. CMD:vipbodyfix(playerid)
  1108. {
  1109.     if(!isPlayerVIP(playerid)) return SendClientMessage(playerid, VIPCOLOR_RED, "[ERROR]: You are not a VIP, you cannot use this command!");
  1110.     if(getVIPLevel(playerid) < 2) return SendClientMessage(playerid, VIPCOLOR_RED, "[ERROR]: You need to have VIP level 2 or above to use this command!");
  1111.     if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, VIPCOLOR_RED, "[ERROR]: You need to be in a vehicle to use this command!");
  1112.     if(GetPlayerMoney(playerid) < EOVIP_CBFIX_FEE) return SendClientMessage(playerid, VIPCOLOR_RED, "[ERROR]: You can't afford this!");
  1113.     RepairVehicle(GetPlayerVehicleID(playerid));
  1114.     GivePlayerMoney(playerid, -EOVIP_CBFIX_FEE);
  1115.     SendClientMessage(playerid, VIPCOLOR_ORANGE, "[EO_VIP]: "VIPCOL_YELLOW"vehicle fixed, you've been charged with "VIPCOL_WHITE"$"#EOVIP_CBFIX_FEE"");
  1116.     PlayerPlaySound(playerid, 1133, 0.0, 0.0, 10.0);
  1117.     return CMD_SUCCESS;
  1118. }
  1119. CMD:vipbasetp(playerid)
  1120. {
  1121.     if(!isPlayerVIP(playerid)) return SendClientMessage(playerid, VIPCOLOR_RED, "[ERROR]: You are not a VIP, you cannot use this command!");
  1122.     if(getVIPLevel(playerid) < 2) return SendClientMessage(playerid, VIPCOLOR_RED, "[ERROR]: You need to have VIP level 2 or above to use this command!");
  1123.     if(gettime() - VIPInfo[playerid][e_VIPBaseTeleportCoolDown] < 600) return SendClientMessage(playerid, VIPCOLOR_RED, "[ERROR]: You cannot use this command now, wait for 10 minutes!");
  1124.     VIPInfo[playerid][e_VIPBaseTeleportCoolDown] = gettime();
  1125.     TogglePlayerControllable(playerid, false);
  1126.     SetPlayerPos(playerid, 3024.9241, -692.5798, 3.3770);
  1127.     GameTextForPlayer(playerid, "~y~VIP Base", 2000, 1);
  1128.     SendClientMessage(playerid, VIPCOLOR_ORANGE, "[EO_VIP]: You have teleported to the VIP base!");
  1129.     SendClientMessage(playerid, VIPCOLOR_ORANGE, "[EO_VIP]: You have been temporarily frozen, please wait for the environment to lead!");
  1130.     defer VIPBaseTeleportTimer(playerid);
  1131.     return CMD_SUCCESS;
  1132. }
  1133. //VIP Level 3 Commands
  1134. CMD:vipgppreset(playerid)
  1135. {
  1136.     if(!isPlayerVIP(playerid)) return SendClientMessage(playerid, VIPCOLOR_RED, "[ERROR]: You are not a VIP, you cannot use this command!");
  1137.     if(getVIPLevel(playerid) < 3) return SendClientMessage(playerid, VIPCOLOR_RED, "[ERROR]: You need to have VIP level 3 or above to use this command!");
  1138.    
  1139.     if(!VIPInfo[playerid][e_VIPGunPackPreset])
  1140.         ShowPlayerDialog(playerid, DIALOG_VIPGPPRESETCREATE, DIALOG_STYLE_MSGBOX, "VIP GunPack Preset Option", "Here you can make a new Gunpack set to spawn via "VIPCOL_WHITE"/vipgppreset\n\n"VIPCOL_YELLOW"You Don't have a GunPack Preset yet, do you want to create one?", "Yes", "No");
  1141.    
  1142.     else
  1143.     {
  1144.         ShowPlayerDialog(playerid, DIALOG_VIPGPPRESETEDIT, DIALOG_STYLE_LIST, "VIP GunPack Preset Option",
  1145.         "Edit Gunpack Preset\n\
  1146.         Delete Gunpack Preset\n",
  1147.         "Select", "Cancel");
  1148.     }
  1149.     return CMD_SUCCESS;
  1150. }
  1151. CMD:vipskin(playerid)
  1152. {
  1153.     if(!isPlayerVIP(playerid)) return SendClientMessage(playerid, VIPCOLOR_RED, "[ERROR]: You are not a VIP, you cannot use this command!");
  1154.     if(getVIPLevel(playerid) < 3) return SendClientMessage(playerid, VIPCOLOR_RED, "[ERROR]: You need to have VIP level 3 or above to use this command!");
  1155.    
  1156.     switch(getVIPLevel(playerid))
  1157.     {
  1158.         case EOVIP_VIPLEVEL_3:
  1159.         {
  1160.             ShowPlayerDialog(playerid, DIALOG_VIPSKINS, DIALOG_STYLE_LIST, "VIP SKINS SELECTION "VIPCOL_YELLOW"["EOVIP_VIPNAME_3"]",
  1161.             "Maccer\n\
  1162.             Andre\n\
  1163.             Rich Woman\n\
  1164.             CJ\n\
  1165.             Stunner\n",
  1166.             "Select", "Cancel");
  1167.         }
  1168.         case EOVIP_VIPLEVEL_4:
  1169.         {
  1170.             ShowPlayerDialog(playerid, DIALOG_VIPSKINS, DIALOG_STYLE_LIST, "VIP SKINS SELECTION "VIPCOL_YELLOW"["EOVIP_VIPNAME_4"]",
  1171.             "Maccer\n\
  1172.             Andre\n\
  1173.             Rich Woman\n\
  1174.             CJ\n\
  1175.             Stunner\n\
  1176.             Ryder\n\
  1177.             Triad Boss\n\
  1178.             Big Smoke\n\
  1179.             Cluckin' bell worker\n\
  1180.             Michelle\n",
  1181.             "Select", "Cancel");
  1182.         }
  1183.     }
  1184.     return CMD_SUCCESS;
  1185. }
  1186. //VIP Level 4 Commands
  1187. //**Timers---------------------------------------------------------------------------------------------------------------------------------
  1188. timer VIPBaseTeleportTimer[2000](playerid)
  1189. {
  1190.     TogglePlayerControllable(playerid, true);
  1191.     SendClientMessage(playerid, VIPCOLOR_ORANGE, "[EO_VIP]: Thanks for your patience, you can now move!");
  1192. }
  1193. task VIPAdvertisementTimer[1800000]()
  1194. {
  1195.     foreach(new i : Player)
  1196.     {
  1197.         if(!isPlayerVIP(i))
  1198.             SendClientMessage(i, VIPCOLOR_GREEN, "[EO_VIP]: "VIPCOL_WHITE"Buy one of four different VIP Levels and gain countless awesome features!");
  1199.     }
  1200. }
  1201. //-VIP Messages
  1202. task VIPMessages[900000]()
  1203. {
  1204.     SendClientMessageToVIPs(VIPTips[random(sizeof(VIPTips))], -1);
  1205. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement