Advertisement
jlalt

Vip System_V 1.0

Aug 23rd, 2015
422
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 74.39 KB | None | 0 0
  1. #include a_samp
  2. #include zcmd
  3. #include Ldudb
  4.  
  5. //==================================Colours===================================//
  6. #define yellow                  0xFFFF00AA
  7. #define green                   0x33FF33AA
  8. #define red                     0xFF0000AA
  9. #define white                   0xFFFFFFAA
  10. #define LIGHTBLUE2              0xF6BB0AA
  11. #define pink                    0xCCFF00FF
  12. #define blue                    0x00FFFFAA
  13. #define blue1                   0x00FFFFAA
  14. #define grey                    0xC0C0C0AA
  15. #define orange                  0xFF9900AA
  16. #define black                   0x2C2727AA
  17. #define COLOR_WHITE             0xFFFFFFAA
  18. #define COLOR_LIGHTBLUE         0x33CCFFAA
  19. #define COLOR_GREEN1            0x33AA33AA
  20. #define COLOR_BLUE              0x0000BBAA
  21. #define COLOR_PURPLE            0x330066AA
  22. #define COLOR_BROWN             0x8B4513AA
  23. #define COLOR_PINK              0xFF66FFAA
  24.  
  25. new BlipTimer[MAX_PLAYERS];
  26. //============================================================================//
  27. enum info
  28. {
  29. blip,
  30. pColour,
  31. blipS,
  32. vip
  33. }
  34.  
  35. new pInfo[MAX_PLAYERS][info];
  36.  
  37. enum vInfo
  38. {
  39.     Temp,
  40. };
  41.  
  42. new VehicleInfo[MAX_VEHICLES][vInfo];
  43. //=============================Vehicle name===================================//
  44. new VehicleName[212][0] = {
  45.    "Landstalker",
  46.    "Bravura",
  47.    "Buffalo",
  48.    "Linerunner",
  49.    "Pereniel",
  50.    "Sentinel",
  51.    "Dumper",
  52.    "Firetruck",
  53.    "Trashmaster",
  54.    "Stretch",
  55.    "Manana",
  56.    "Infernus",
  57.    "Voodoo",
  58.    "Pony",
  59.    "Mule",
  60.    "Cheetah",
  61.    "Ambulance",
  62.    "Leviathan",
  63.    "Moonbeam",
  64.    "Esperanto",
  65.    "Taxi",
  66.    "Washington",
  67.    "Bobcat",
  68.    "Mr Whoopee",
  69.    "BF Injection",
  70.    "Hunter",
  71.    "Premier",
  72.    "Enforcer",
  73.    "Securicar",
  74.    "Banshee",
  75.    "Predator",
  76.    "Bus",
  77.    "Rhino",
  78.    "Barracks",
  79.    "Hotknife",
  80.    "Trailer", //artict1
  81.    "Previon",
  82.    "Coach",
  83.    "Cabbie",
  84.    "Stallion",
  85.    "Rumpo",
  86.    "RC Bandit",
  87.    "Romero",
  88.    "Packer",
  89.    "Monster Truck",
  90.    "Admiral",
  91.    "Squalo",
  92.    "Seasparrow",
  93.    "Pizzaboy",
  94.    "Tram",
  95.    "Trailer", //artict2
  96.    "Turismo",
  97.    "Speeder",
  98.    "Reefer",
  99.    "Tropic",
  100.    "Flatbed",
  101.    "Yankee",
  102.    "Caddy",
  103.    "Solair",
  104.    "Berkley's RC Van",
  105.    "Skimmer",
  106.    "PCJ-600",
  107.    "Faggio",
  108.    "Freeway",
  109.    "RC Baron",
  110.    "RC Raider",
  111.    "Glendale",
  112.    "Oceanic",
  113.    "Sanchez",
  114.    "Sparrow",
  115.    "Patriot",
  116.    "Quad",
  117.    "Coastguard",
  118.    "Dinghy",
  119.    "Hermes",
  120.    "Sabre",
  121.    "Rustler",
  122.    "ZR-350",
  123.    "Walton",
  124.    "Regina",
  125.    "Comet",
  126.    "BMX",
  127.    "Burrito",
  128.    "Camper",
  129.    "Marquis",
  130.    "Baggage",
  131.    "Dozer",
  132.    "Maverick",
  133.    "News Chopper",
  134.    "Rancher",
  135.    "FBI Rancher",
  136.    "Virgo",
  137.    "Greenwood",
  138.    "Jetmax",
  139.    "Hotring",
  140.    "Sandking",
  141.    "Blista Compact",
  142.    "Police Maverick",
  143.    "Boxville",
  144.    "Benson",
  145.    "Mesa",
  146.    "RC Goblin",
  147.    "Hotring Racer", //hotrina
  148.    "Hotring Racer", //hotrinb
  149.    "Bloodring Banger",
  150.    "Rancher",
  151.    "Super GT",
  152.    "Elegant",
  153.    "Journey",
  154.    "Bike",
  155.    "Mountain Bike",
  156.    "Beagle",
  157.    "Cropdust",
  158.    "Stunt",
  159.    "Tanker", //petro
  160.    "RoadTrain",
  161.    "Nebula",
  162.    "Majestic",
  163.    "Buccaneer",
  164.    "Shamal",
  165.    "Hydra",
  166.    "FCR-900",
  167.    "NRG-500",
  168.    "HPV1000",
  169.    "Cement Truck",
  170.    "Tow Truck",
  171.    "Fortune",
  172.    "Cadrona",
  173.    "FBI Truck",
  174.    "Willard",
  175.    "Forklift",
  176.    "Tractor",
  177.    "Combine",
  178.    "Feltzer",
  179.    "Remington",
  180.    "Slamvan",
  181.    "Blade",
  182.    "Freight",
  183.    "Streak",
  184.    "Vortex",
  185.    "Vincent",
  186.    "Bullet",
  187.    "Clover",
  188.    "Sadler",
  189.    "Firetruck", //firela
  190.    "Hustler",
  191.    "Intruder",
  192.    "Primo",
  193.    "Cargobob",
  194.    "Tampa",
  195.    "Sunrise",
  196.    "Merit",
  197.    "Utility",
  198.    "Nevada",
  199.    "Yosemite",
  200.    "Windsor",
  201.    "Monster Truck", //monstera
  202.    "Monster Truck", //monsterb
  203.    "Uranus",
  204.    "Jester",
  205.    "Sultan",
  206.    "Stratum",
  207.    "Elegy",
  208.    "Raindance",
  209.    "RC Tiger",
  210.    "Flash",
  211.    "Tahoma",
  212.    "Savanna",
  213.    "Bandito",
  214.    "Freight", //freiflat
  215.    "Trailer", //streakc
  216.    "Kart",
  217.    "Mower",
  218.    "Duneride",
  219.    "Sweeper",
  220.    "Broadway",
  221.    "Tornado",
  222.    "AT-400",
  223.    "DFT-30",
  224.    "Huntley",
  225.    "Stafford",
  226.    "BF-400",
  227.    "Newsvan",
  228.    "Tug",
  229.    "Trailer", //petrotr
  230.    "Emperor",
  231.    "Wayfarer",
  232.    "Euros",
  233.    "Hotdog",
  234.    "Club",
  235.    "Trailer", //freibox
  236.    "Trailer", //artict3
  237.    "Andromada",
  238.    "Dodo",
  239.    "RC Cam",
  240.    "Launch",
  241.    "Police Car (LSPD)",
  242.    "Police Car (SFPD)",
  243.    "Police Car (LVPD)",
  244.    "Police Ranger",
  245.    "Picador",
  246.    "S.W.A.T. Van",
  247.    "Alpha",
  248.    "Phoenix",
  249.    "Glendale",
  250.    "Sadler",
  251.    "Luggage Trailer", //bagboxa
  252.    "Luggage Trailer", //bagboxb
  253.    "Stair Trailer", //tugstair
  254.    "Boxville",
  255.    "Farm Plow", //farmtr1
  256.    "Utility Trailer" //utiltr1
  257. };
  258. //============================================================================//
  259. public OnPlayerConnect(playerid)
  260. {
  261. pInfo[playerid][vip] = 0;
  262.  
  263. new rname[MAX_PLAYER_NAME];
  264. GetPlayerName(playerid,rname,sizeof(rname));
  265. if (udb_Exists(PlayerName2(playerid))) return pInfo[playerid][vip] = (dUserINT(PlayerName2(playerid)).("vip"));
  266. GetPlayerName(playerid,rname,sizeof(rname));
  267. if(!udb_Exists(PlayerName2(playerid))) udb_Create(PlayerName2(playerid), "");
  268. {
  269. dUserSetINT(PlayerName2(playerid)).("vip",0);
  270. }
  271. return 1;
  272. }
  273. public OnPlayerExitVehicle(playerid, vehicleid)
  274. {
  275. if(VehicleInfo[vehicleid][Temp] == 1) SetTimerEx("EraseVehicle", 5000,0,"i",vehicleid);
  276. return 1;
  277. }
  278. forward EraseVehicle(vehicleid);
  279. public EraseVehicle(vehicleid)
  280. {
  281.  if(VehicleInfo[vehicleid][Temp] == 1) {
  282.  DestroyVehicle(vehicleid);
  283.  VehicleInfo[vehicleid][Temp] = 0;
  284.  }
  285.  return 1;
  286. }
  287. //================================Set Vip Command=============================//
  288. CMD:setvip(playerid,params[]) {
  289.     if(pInfo[playerid][vip] >= 3 || IsPlayerAdmin(playerid)) {
  290.             new tmp[128], tmp2[128], Index;     tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  291.             if(isnull(params)) return SendClientMessage(playerid, blue1, "USAGE: /setvip [playerid] [level]");
  292.             new player1, level, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128];
  293.             player1 = strval(tmp);
  294.             if(isnull(tmp2)) return SendClientMessage(playerid, blue1, "USAGE: /setvip [playerid] [level]");
  295.             level = strval(tmp2);
  296.             if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  297.                     if(level > 3) return SendClientMessage(playerid,red,"ERROR: Incorrect Level");
  298.                     if(level == pInfo[player1][vip]) return SendClientMessage(playerid,red,"ERROR: Player is already this level");
  299.                     CMDMessageToVip(playerid,"SETVIP");
  300.                     GetPlayerName(player1, playername, sizeof(playername)); GetPlayerName(playerid, adminname, sizeof(adminname));
  301.                     new year,month,day;   getdate(year, month, day); new hour,minute,second; gettime(hour,minute,second);
  302.  
  303.                     if(level > 0) format(string,sizeof(string),"|- Administrator %s has set you to VIP Status | Level: %d - %s -|",adminname, level);
  304.                     else format(string,sizeof(string),"|- Administrator %s has set you to Player Status | Level: %d -|",adminname, level);
  305.                     SendClientMessage(player1,blue1,string);
  306.                     if(level > pInfo[player1][vip]) GameTextForPlayer(player1,"Promoted", 2000, 3);
  307.                     else GameTextForPlayer(player1,"Demoted", 2000, 3);
  308.  
  309.                     format(string,sizeof(string),"You have made %s Vip Level %d on %d/%d/%d at %d:%d:%d", playername, level, day, month, year, hour, minute, second); SendClientMessage(playerid,blue1,string);
  310.                     format(string,sizeof(string),"Administrator %s has made %s Level %d on %d/%d/%d at %d:%d:%d",adminname, playername, level, day, month, year, hour, minute, second);
  311.                     dUserSetINT(PlayerName2(player1)).("vip",(level));
  312.                     pInfo[player1][vip] = level;
  313.                     return PlayerPlaySound(player1,1057,0.0,0.0,0.0);
  314.             } else return SendClientMessage(playerid, red, "Player is not connected");
  315.         } else return ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"{FF0000}ERROR","{FF0000}You must be vip 3  or rcon admin use this command.","Exit","");
  316. }
  317. //================================Online Vips===================================
  318. CMD:vips(playerid,params[])
  319. {
  320.     #pragma unused params
  321.     new count = 0;
  322.     new string[128];
  323.     new content[150];
  324.     new AdmRank[128];
  325.     for(new i = 0; i < MAX_PLAYERS; i++)
  326.     {
  327.         if (IsPlayerConnected(i))
  328.         {
  329.           if(pInfo[i][vip] >= 1)
  330.             {
  331.               {
  332.                 switch(pInfo[i][vip])
  333.                     {
  334.                         case 1: {
  335.                             AdmRank = "{FF9900}Basic VIP";
  336.                         }
  337.                         case 2: {
  338.                             AdmRank = "{00FFFF}Master VIP";
  339.                         }
  340.                         case 3: {
  341.                             AdmRank = "{FF0000}Professional VIP";
  342.                         }
  343.                     }
  344.                 }
  345.               format(string, 128, "{33FF33}Rank: %d - %s (Id:%i) | %s | %s",pInfo[i][vip], PlayerName2(i),i,AdmRank);
  346.               strcat(content, string, sizeof(content));
  347.               ShowPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX, "{00FFFF}Online VIPS", content, "Exit","");
  348.               count++;
  349.           }
  350.         }
  351.       }
  352.     if (count == 0)
  353.     ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"No Vip Online","{FF0000}No VIP online in the list","Exit","");
  354.     return 1;
  355. }
  356. //=======================================Vip 1 Commands=========================
  357. CMD:setmytime(playerid,params[]) {
  358.     if(pInfo[playerid][vip] >= 1) {
  359.         if(isnull(params)) return SendClientMessage(playerid, red, "USAGE: /setmytime [hour]");
  360.         new time = strval(params), string[128];
  361.         CMDMessageToVip(playerid,"SETMYTIME");
  362.         format(string,sizeof(string),"You have set your time to %d:00", time); SendClientMessage(playerid,blue,string);
  363.         return SetPlayerTime(playerid, time, 0);
  364.     } else return ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"{FF0000}ERROR","{FF0000}You must be vip 1 to use this command.","Exit","");
  365. }
  366.  
  367. CMD:fix(playerid,params[])
  368. {
  369.     #pragma unused params
  370.     if(pInfo[playerid][vip] >= 1) {
  371.         if (IsPlayerInAnyVehicle(playerid)) {
  372.             RepairVehicle(GetPlayerVehicleID(playerid));
  373.             SetVehicleHealth(GetPlayerVehicleID(playerid),1250.0);
  374.             return SendClientMessage(playerid,blue,"Vehicle Fixed");
  375.         } else return SendClientMessage(playerid,red,"Error: You are not in a vehicle");
  376.     } else return ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"{FF0000}ERROR","{FF0000}You must be vip 1 to use this command.","Exit","");
  377. }
  378.  
  379. CMD:vweaps(playerid,params[]) {
  380.     if(pInfo[playerid][vip] >= 1) {
  381.         GivePlayerWeapon(playerid,28,1000); GivePlayerWeapon(playerid,31,1000); GivePlayerWeapon(playerid,34,1000);
  382.         GivePlayerWeapon(playerid,1,1000); GivePlayerWeapon(playerid,16,1000)GivePlayerWeapon(playerid,42,1000);
  383.         GivePlayerWeapon(playerid,14,1000); GivePlayerWeapon(playerid,46,1000); GivePlayerWeapon(playerid,9,1);
  384.         GivePlayerWeapon(playerid,24,1000); GivePlayerWeapon(playerid,26,1000); return 1;
  385.     } else return ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"{FF0000}ERROR","{FF0000}You must be vip 1 to use this command.","Exit","");
  386. }
  387. CMD:ip(playerid,params[]) {
  388.     if(pInfo[playerid][vip] >= 1) {
  389.         if(isnull(params)) return SendClientMessage(playerid, red, "USAGE: /ip [playerid]");
  390.         new player1 = strval(params), string[128];
  391.         if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  392.             CMDMessageToVip(playerid,"IP");
  393.             new tmp3[50]; GetPlayerIp(player1,tmp3,50);
  394.             format(string,sizeof(string),"\"%s's\" ip is '%s'", pName(player1), tmp3);
  395.             return SendClientMessage(playerid,blue,string);
  396.         } else return SendClientMessage(playerid,red,"ERROR: Player is not connected");
  397.     } else return ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"{FF0000}ERROR","{FF0000}You must be vip 1 to use this command.","Exit","");
  398. }
  399.  
  400. CMD:weaps(playerid,params[]) {
  401.     if(pInfo[playerid][vip] >= 1) {
  402.         if(isnull(params)) return SendClientMessage(playerid, red, "USAGE: /weaps [playerid]");
  403.         new player1, string[128], string2[64], WeapName[24], slot, weap, ammo, Count, x;
  404.         player1 = strval(params);
  405.  
  406.         if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  407.             format(string2,sizeof(string2),"[>> %s Weapons (id:%d) <<]", PlayerName2(player1), player1); SendClientMessage(playerid,blue,string2);
  408.             for (slot = 0; slot < 14; slot++) { GetPlayerWeaponData(player1, slot, weap, ammo); if( ammo != 0 && weap != 0) Count++; }
  409.             if(Count < 1) return SendClientMessage(playerid,blue,"Player has no weapons");
  410.  
  411.             if(Count >= 1)
  412.             {
  413.                 for (slot = 0; slot < 14; slot++)
  414.                 {
  415.                     GetPlayerWeaponData(player1, slot, weap, ammo);
  416.                     if( ammo != 0 && weap != 0)
  417.                     {
  418.                         GetWeaponName(weap, WeapName, sizeof(WeapName) );
  419.                         if(ammo == 65535 || ammo == 1) format(string,sizeof(string),"%s%s (1)",string, WeapName );
  420.                         else format(string,sizeof(string),"%s%s (%d)",string, WeapName, ammo );
  421.                         x++;
  422.                         if(x >= 5)
  423.                         {
  424.                             SendClientMessage(playerid, blue, string);
  425.                             x = 0;
  426.                             format(string, sizeof(string), "");
  427.                         }
  428.                         else format(string, sizeof(string), "%s,  ", string);
  429.                     }
  430.                 }
  431.                 if(x <= 4 && x > 0) {
  432.                     string[strlen(string)-3] = '.';
  433.                     SendClientMessage(playerid, blue, string);
  434.                 }
  435.             }
  436.             return 1;
  437.         } else return SendClientMessage(playerid, red, "Player is not connected");
  438.     } else return ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"{FF0000}ERROR","{FF0000}You must be vip 1 to use this command.","Exit","");
  439. }
  440.  
  441. CMD:write(playerid,params[]) {
  442.     new Colour,string[128];
  443.     if(pInfo[playerid][vip] >= 1) {
  444.         if (sscanf(params, "is", Colour,string)) {
  445.             SendClientMessage(playerid, COLOR_LIGHTBLUE, "USAGE: /write <Colour> <Text>");
  446.             SendClientMessage(playerid, red, "Colours: 0=black 1=white 2=red 3=orange 4=yellow 5=green 6=blue 7=purple 8=brown 9=pink");
  447.             return 1;
  448.         }
  449.         CMDMessageToVip(playerid,"WRITE");
  450.         if(Colour == 0) {SendClientMessageToAll(black,string); return 1;    }
  451.         else if(Colour == 1) {SendClientMessageToAll(COLOR_WHITE,string); return 1; }
  452.         else if(Colour == 2) {SendClientMessageToAll(red,string); return 1; }
  453.         else if(Colour == 3) {SendClientMessageToAll(orange,string); return 1}
  454.         else if(Colour == 4) {SendClientMessageToAll(yellow,string); return 1}
  455.         else if(Colour == 5) {SendClientMessageToAll(COLOR_GREEN1,string); return 1;    }
  456.         else if(Colour == 6) {SendClientMessageToAll(COLOR_BLUE,string); return 1}
  457.         else if(Colour == 7) {SendClientMessageToAll(COLOR_PURPLE,string); return 1;    }
  458.         else if(Colour == 8) {SendClientMessageToAll(COLOR_BROWN,string); return 1; }
  459.         else if(Colour == 9) {SendClientMessageToAll(COLOR_PINK,string); return 1}
  460.         return 1;
  461.     } else return ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"{FF0000}ERROR","{FF0000}You must be vip 1 to use this command.","Exit","");
  462. }
  463.  
  464. CMD:miniguns(playerid,params[]) {
  465.     #pragma unused params
  466.     if(pInfo[playerid][vip] >= 1) {
  467.         new bool:First2 = false, Count, string[128], i, slot, weap, ammo;
  468.         for(i = 0; i < MAX_PLAYERS; i++) {
  469.             if(IsPlayerConnected(i)) {
  470.                 for(slot = 0; slot < 14; slot++) {
  471.                     GetPlayerWeaponData(i, slot, weap, ammo);
  472.                     if(ammo != 0 && weap == 38) {
  473.                         Count++;
  474.                         if(!First2) { format(string, sizeof(string), "Minigun: (%d)%s(ammo%d)", i, PlayerName2(i), ammo); First2 = true; }
  475.                         else format(string,sizeof(string),"%s, (%d)%s(ammo%d) ",string, i, PlayerName2(i), ammo);
  476.                     }
  477.                 }
  478.             }
  479.         }
  480.         if(Count == 0) return SendClientMessage(playerid,-1,"No players have a minigun"); else return SendClientMessage(playerid,-1,string);
  481.     } else return ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"{FF0000}ERROR","{FF0000}You must be vip 1 to use this command.","Exit","");
  482. }
  483.  
  484. CMD:vsay(playerid,params[]) {
  485.     #pragma unused params
  486.     if(isnull(params)) return SendClientMessage(playerid, red, "USAGE: /vsay [text]");
  487.     if(pInfo[playerid][vip] == 1) {
  488.         new string[128]; format(string, sizeof(string), "**Basic VIP %s: %s", PlayerName2(playerid), params[0] );
  489.         return SendClientMessageToAll(orange,string);
  490.         }else if(pInfo[playerid][vip] == 2) {
  491.         new string[128]; format(string, sizeof(string), "**Master VIP %s: %s", PlayerName2(playerid), params[0] );
  492.         return SendClientMessageToAll(blue1,string);
  493.         }else if(pInfo[playerid][vip] == 3) {
  494.         new string[128]; format(string, sizeof(string), "**Professional VIP %s: %s", PlayerName2(playerid), params[0] );
  495.         return SendClientMessageToAll(red,string);
  496.         } else return ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"{FF0000}ERROR","{FF0000}You must be vip 1 to use this command.","Exit","");
  497. }
  498.  
  499. CMD:v(playerid,params[]) {
  500.     #pragma unused params
  501.     if(isnull(params)) return SendClientMessage(playerid, red, "USAGE: /v [text]");
  502.     if(pInfo[playerid][vip] == 1) {
  503.     new string[128]; format(string, sizeof(string), "[Basic VIP] {00FFFF}%s: {33FF33}%s", PlayerName2(playerid), params[0] );
  504.     return MessageToVip(LIGHTBLUE2,string);
  505.     } else if(pInfo[playerid][vip] == 2) {
  506.     new string[128]; format(string, sizeof(string), "[Master VIP] {00FFFF}%s: {33FF33}%s", PlayerName2(playerid), params[0] );
  507.     return MessageToVip(LIGHTBLUE2,string);
  508.     } else if(pInfo[playerid][vip] == 3) {
  509.     new string[128]; format(string, sizeof(string), "[Professional VIP] {00FFFF}%s: {33FF33}%s", PlayerName2(playerid), params[0] );
  510.     return MessageToVip(LIGHTBLUE2 ,string);
  511.     } else return ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"{FF0000}ERROR","{FF0000}You must be vip 1 to use this command.","Exit","");
  512. }
  513. CMD:vipsking(playerid,params[]) {
  514.     #pragma unused params
  515.     if(pInfo[playerid][vip] >= 1) {
  516.     CMDMessageToVip(playerid,"VIPSKING");
  517.     SetPlayerSkin(playerid,211);
  518.     return 1;
  519.     } else return ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"{FF0000}ERROR","{FF0000}You must be vip 1 to use this command.","Exit","");
  520. }
  521. CMD:vipskinb(playerid,params[]) {
  522.     #pragma unused params
  523.     if(pInfo[playerid][vip] >= 1) {
  524.     CMDMessageToVip(playerid,"VIPSKINB");
  525.     SetPlayerSkin(playerid,217);
  526.     return 1;
  527.     } else return ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"{FF0000}ERROR","{FF0000}You must be vip 1 to use this command.","Exit","");
  528. }
  529. CMD:lhy(playerid,params[]) {
  530.     #pragma unused params
  531.     if(pInfo[playerid][vip] >= 1) {
  532.         if(IsPlayerInAnyVehicle(playerid)) {
  533.         new vVehicleID = GetPlayerVehicleID(playerid), vModel = GetVehicleModel(vVehicleID);
  534.         switch(vModel)
  535.         {
  536.             case 448,461,462,463,468,471,509,510,521,522,523,581,586,449:
  537.             return SendClientMessage(playerid,red,"ERROR: You can not tune this vehicle!");
  538.         }
  539.         RepairVehicle(GetPlayerVehicleID(playerid));
  540.         AddVehicleComponent(vVehicleID, 1087);
  541.         return PlayerPlaySound(playerid,1133,0.0,0.0,0.0);
  542.         } else return SendClientMessage(playerid,red,"Error: You are not in a vehicle");
  543.     } else return ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"{FF0000}ERROR","{FF0000}You must be vip 1 to use this command.","Exit","");
  544. }
  545. CMD:vcar(playerid,params[]) {
  546.     #pragma unused params
  547.     if(pInfo[playerid][vip] >= 1) {
  548.         if(IsPlayerInAnyVehicle(playerid)) {
  549.             SendClientMessage(playerid,red,"Error: You already have a vehicle");
  550.         } else  {
  551.  
  552.             new Float:X,Float:Y,Float:Z,Float:Angle,vVehicleIDt;    GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
  553.             vVehicleIDt = CreateVehicle(560,X,Y,Z,Angle,-1,-1,10000);
  554.             PutPlayerInVehicle(playerid,vVehicleIDt,0); CMDMessageToVip(playerid,"VCAR");
  555.             AddVehicleComponent(vVehicleIDt, 1028); AddVehicleComponent(vVehicleIDt, 1027);
  556.             AddVehicleComponent(vVehicleIDt, 1026); AddVehicleComponent(vVehicleIDt, 1138);
  557.             AddVehicleComponent(vVehicleIDt, 1141); AddVehicleComponent(vVehicleIDt, 1169);
  558.             AddVehicleComponent(vVehicleIDt, 1028); AddVehicleComponent(vVehicleIDt, 1027);
  559.             AddVehicleComponent(vVehicleIDt, 1026); AddVehicleComponent(vVehicleIDt, 1138);
  560.             AddVehicleComponent(vVehicleIDt, 1141); AddVehicleComponent(vVehicleIDt, 1169);
  561.             AddVehicleComponent(vVehicleIDt, 1080); AddVehicleComponent(vVehicleIDt, 1086);
  562.             AddVehicleComponent(vVehicleIDt, 1010); AddVehicleComponent(vVehicleIDt, 1032);
  563.             PlayerPlaySound(playerid,1133,0.0,0.0,0.0); ChangeVehiclePaintjob(vVehicleIDt,1);
  564.             SetVehicleVirtualWorld(vVehicleIDt, GetPlayerVirtualWorld(playerid)); LinkVehicleToInterior(vVehicleIDt, GetPlayerInterior(playerid));
  565.             VehicleInfo[vVehicleIDt][Temp] = 1;
  566.         }
  567.     } else return ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"{FF0000}ERROR","{FF0000}You must be vip 1 to use this command.","Exit","");
  568.     return 1;
  569. }
  570. CMD:vbike(playerid,params[]) {
  571.     #pragma unused params
  572.     if(pInfo[playerid][vip] >= 1) {
  573.         if (!IsPlayerInAnyVehicle(playerid)) {
  574.             CarSpawner(playerid,522);
  575.             CMDMessageToVip(playerid,"VBIKE");
  576.             return SendClientMessage(playerid,red,"Enjoy your new bike");
  577.         } else return SendClientMessage(playerid,red,"Error: You already have a vehicle");
  578.     } else return ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"{FF0000}ERROR","{FF0000}You must be vip 1 to use this command.","Exit","");
  579. }
  580. CMD:nos(playerid,params[]) {
  581.     #pragma unused params
  582.     if(pInfo[playerid][vip] >= 1) {
  583.         if(IsPlayerInAnyVehicle(playerid)) {
  584.             switch(GetVehicleModel( GetPlayerVehicleID(playerid) )) {
  585.                 case 448,461,462,463,468,471,509,510,521,522,523,581,586,449:
  586.                 return SendClientMessage(playerid,red,"ERROR: You can not tune this vehicle!");
  587.             }
  588.             AddVehicleComponent(GetPlayerVehicleID(playerid), 1010);
  589.             return PlayerPlaySound(playerid,1133,0.0,0.0,0.0);
  590.         } else return SendClientMessage(playerid,red,"ERROR: You must be in a vehicle.");
  591.     } else return ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"{FF0000}ERROR","{FF0000}You must be vip 1 to use this command.","Exit","");
  592. }
  593. CMD:vtc(playerid,params[]) {
  594.     if(pInfo[playerid][vip] >= 1)
  595.     {
  596.         if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,red,"Error: You already have a vehicle");
  597.         else
  598.         {
  599.             new Float:X,Float:Y,Float:Z,Float:Angle,vVehicleIDt; GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
  600.             vVehicleIDt = CreateVehicle(560,X,Y,Z,Angle,-1,-1,10000);
  601.             PutPlayerInVehicle(playerid,vVehicleIDt,0);
  602.             CMDMessageToVip(playerid,"vTunedCar");
  603.             AddVehicleComponent(vVehicleIDt, 1028); AddVehicleComponent(vVehicleIDt, 1030);
  604.             AddVehicleComponent(vVehicleIDt, 1031); AddVehicleComponent(vVehicleIDt, 1138);
  605.             AddVehicleComponent(vVehicleIDt, 1140); AddVehicleComponent(vVehicleIDt, 1170);
  606.             AddVehicleComponent(vVehicleIDt, 1028); AddVehicleComponent(vVehicleIDt, 1030);
  607.             AddVehicleComponent(vVehicleIDt, 1031); AddVehicleComponent(vVehicleIDt, 1138);
  608.             AddVehicleComponent(vVehicleIDt, 1140); AddVehicleComponent(vVehicleIDt, 1170);
  609.             AddVehicleComponent(vVehicleIDt, 1080); AddVehicleComponent(vVehicleIDt, 1086);
  610.             AddVehicleComponent(vVehicleIDt, 1087); AddVehicleComponent(vVehicleIDt, 1010);
  611.             PlayerPlaySound(playerid,1133,0.0,0.0,0.0); ChangeVehiclePaintjob(vVehicleIDt,0);
  612.             SetVehicleVirtualWorld(vVehicleIDt, GetPlayerVirtualWorld(playerid));
  613.             LinkVehicleToInterior(vVehicleIDt, GetPlayerInterior(playerid));
  614.             VehicleInfo[vVehicleIDt][Temp] = 1;
  615.         }
  616.     } else return SendClientMessage(playerid,red,"ERROR: You need to be level 1 to use this command");
  617.     return 1;
  618. }
  619. //============================================================================//
  620. CMD:vtc2(playerid,params[]) {
  621.     if(pInfo[playerid][vip] >= 1) {
  622.         if(IsPlayerInAnyVehicle(playerid)) {
  623.             SendClientMessage(playerid,red,"Error: You already have a vehicle");
  624.         } else  {
  625.  
  626.             new Float:X,Float:Y,Float:Z,Float:Angle,LVehicleIDt;    GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
  627.             LVehicleIDt = CreateVehicle(560,X,Y,Z,Angle,-1,-1,10000);
  628.             PutPlayerInVehicle(playerid,LVehicleIDt,0); CMDMessageToVip(playerid,"vTunedCar");
  629.             AddVehicleComponent(LVehicleIDt, 1028); AddVehicleComponent(LVehicleIDt, 1030);
  630.             AddVehicleComponent(LVehicleIDt, 1031); AddVehicleComponent(LVehicleIDt, 1138);
  631.             AddVehicleComponent(LVehicleIDt, 1140);  AddVehicleComponent(LVehicleIDt, 1170);
  632.             AddVehicleComponent(LVehicleIDt, 1028); AddVehicleComponent(LVehicleIDt, 1030);
  633.             AddVehicleComponent(LVehicleIDt, 1031); AddVehicleComponent(LVehicleIDt, 1138);
  634.             AddVehicleComponent(LVehicleIDt, 1140);  AddVehicleComponent(LVehicleIDt, 1170);
  635.             AddVehicleComponent(LVehicleIDt, 1080); AddVehicleComponent(LVehicleIDt, 1086);
  636.             AddVehicleComponent(LVehicleIDt, 1087); AddVehicleComponent(LVehicleIDt, 1010);
  637.             PlayerPlaySound(playerid,1133,0.0,0.0,0.0); ChangeVehiclePaintjob(LVehicleIDt,1);
  638.             SetVehicleVirtualWorld(LVehicleIDt, GetPlayerVirtualWorld(playerid)); LinkVehicleToInterior(LVehicleIDt, GetPlayerInterior(playerid));
  639.             VehicleInfo[LVehicleIDt][Temp] = 1;
  640.         }
  641.     } else SendClientMessage(playerid,red,"ERROR: You need to be level 1 to use this command");
  642.     return 1;
  643. }
  644. //------------------------------------------------------------------------------
  645. CMD:vtc3(playerid,params[]) {
  646.     if(pInfo[playerid][vip] >= 1) {
  647.         if(IsPlayerInAnyVehicle(playerid)) {
  648.             SendClientMessage(playerid,red,"Error: You already have a vehicle");
  649.         } else  {
  650.             new Float:X,Float:Y,Float:Z,Float:Angle,LVehicleIDt; GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
  651.             LVehicleIDt = CreateVehicle(560,X,Y,Z,Angle,-1,-1,10000);
  652.             PutPlayerInVehicle(playerid,LVehicleIDt,0); CMDMessageToVip(playerid,"vTunedCar");
  653.             AddVehicleComponent(LVehicleIDt, 1028); AddVehicleComponent(LVehicleIDt, 1030);
  654.             AddVehicleComponent(LVehicleIDt, 1031); AddVehicleComponent(LVehicleIDt, 1138);
  655.             AddVehicleComponent(LVehicleIDt, 1140);  AddVehicleComponent(LVehicleIDt, 1170);
  656.             AddVehicleComponent(LVehicleIDt, 1080); AddVehicleComponent(LVehicleIDt, 1086);
  657.             AddVehicleComponent(LVehicleIDt, 1087); AddVehicleComponent(LVehicleIDt, 1010);
  658.             PlayerPlaySound(playerid,1133,0.0,0.0,0.0); ChangeVehiclePaintjob(LVehicleIDt,2);
  659.             SetVehicleVirtualWorld(LVehicleIDt, GetPlayerVirtualWorld(playerid));
  660.             LinkVehicleToInterior(LVehicleIDt, GetPlayerInterior(playerid));
  661.             VehicleInfo[LVehicleIDt][Temp] = 1;
  662.         }
  663.     } else SendClientMessage(playerid,red,"ERROR: You need to be level 1 to use this command");
  664.     return 1;
  665. }
  666. //------------------------------------------------------------------------------
  667. CMD:vtc4(playerid,params[]) {
  668.     if(pInfo[playerid][vip] >= 1) {
  669.         if(IsPlayerInAnyVehicle(playerid)) {
  670.             SendClientMessage(playerid,red,"Error: You already have a vehicle");
  671.         } else  {
  672.             new Float:X,Float:Y,Float:Z,Float:Angle,carid;  GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
  673.             carid = CreateVehicle(559,X,Y,Z,Angle,-1,-1,10000); PutPlayerInVehicle(playerid,carid,0);
  674.             CMDMessageToVip(playerid,"vTunedCar");
  675.             AddVehicleComponent(carid,1065); AddVehicleComponent(carid,1067);
  676.             AddVehicleComponent(carid,1162); AddVehicleComponent(carid,1010);
  677.             AddVehicleComponent(carid,1073); ChangeVehiclePaintjob(carid,1);
  678.             SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid));
  679.             LinkVehicleToInterior(carid, GetPlayerInterior(playerid));
  680.             VehicleInfo[carid][Temp] = 1;
  681.         }
  682.     } else SendClientMessage(playerid,red,"ERROR: You need to be level 1 to use this command");
  683.     return 1;
  684. }
  685. //------------------------------------------------------------------------------
  686. CMD:vtc5(playerid,params[]) {
  687.     if(pInfo[playerid][vip] >= 1) {
  688.         if(IsPlayerInAnyVehicle(playerid)) {
  689.             SendClientMessage(playerid,red,"Error: You already have a vehicle");
  690.         } else  {
  691.             new Float:X,Float:Y,Float:Z,Float:Angle,carid;  GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
  692.             carid = CreateVehicle(565,X,Y,Z,Angle,-1,-1,10000); PutPlayerInVehicle(playerid,carid,0); CMDMessageToVip(playerid,"vTunedCar");
  693.             AddVehicleComponent(carid,1046); AddVehicleComponent(carid,1049);
  694.             AddVehicleComponent(carid,1053); AddVehicleComponent(carid,1010);
  695.             AddVehicleComponent(carid,1073); ChangeVehiclePaintjob(carid,1);
  696.             SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid));
  697.             LinkVehicleToInterior(carid, GetPlayerInterior(playerid));
  698.             VehicleInfo[carid][Temp] = 1;
  699.         }
  700.     } else SendClientMessage(playerid,red,"ERROR: You need to be level 1 to use this command");
  701.     return 1;
  702. }
  703. //------------------------------------------------------------------------------
  704. CMD:vtc6(playerid,params[]) {
  705.     if(pInfo[playerid][vip] >= 1) {
  706.         if(IsPlayerInAnyVehicle(playerid)) {
  707.             SendClientMessage(playerid,red,"Error: You already have a vehicle");
  708.         } else  {
  709.             new Float:X,Float:Y,Float:Z,Float:Angle,carid;  GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
  710.             carid = CreateVehicle(558,X,Y,Z,Angle,-1,-1,10000); PutPlayerInVehicle(playerid,carid,0);
  711.             CMDMessageToVip(playerid,"vTunedCar");
  712.             AddVehicleComponent(carid,1088); AddVehicleComponent(carid,1092);
  713.             AddVehicleComponent(carid,1139); AddVehicleComponent(carid,1010);
  714.             AddVehicleComponent(carid,1073); ChangeVehiclePaintjob(carid,1);
  715.             SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid));
  716.             LinkVehicleToInterior(carid, GetPlayerInterior(playerid));
  717.             VehicleInfo[carid][Temp] = 1;
  718.         }
  719.     } else SendClientMessage(playerid,red,"ERROR: You need to be level 1 to use this command");
  720.     return 1;
  721. }
  722. //------------------------------------------------------------------------------
  723. CMD:vtc7(playerid,params[]) {
  724.     if(pInfo[playerid][vip] >= 1) {
  725.         if(IsPlayerInAnyVehicle(playerid)) {
  726.             SendClientMessage(playerid,red,"Error: You already have a vehicle");
  727.         } else  {
  728.             new Float:X,Float:Y,Float:Z,Float:Angle,carid;  GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
  729.             carid = CreateVehicle(561,X,Y,Z,Angle,-1,-1,10000); PutPlayerInVehicle(playerid,carid,0); CMDMessageToVip(playerid,"vTunedCar");
  730.             AddVehicleComponent(carid,1055); AddVehicleComponent(carid,1058);
  731.             AddVehicleComponent(carid,1064); AddVehicleComponent(carid,1010);
  732.             AddVehicleComponent(carid,1073); ChangeVehiclePaintjob(carid,1);
  733.             SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid));
  734.             LinkVehicleToInterior(carid, GetPlayerInterior(playerid));
  735.             VehicleInfo[carid][Temp] = 1;
  736.         }
  737.     } else SendClientMessage(playerid,red,"ERROR: You need to be level 1 to use this command");
  738.     return 1;
  739. }
  740. //------------------------------------------------------------------------------
  741. CMD:vtc8(playerid,params[]) {
  742.     if(pInfo[playerid][vip] >= 1) {
  743.         if(IsPlayerInAnyVehicle(playerid)) {
  744.             SendClientMessage(playerid,red,"Error: You already have a vehicle");
  745.         } else  {
  746.             new Float:X,Float:Y,Float:Z,Float:Angle,carid;  GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
  747.             carid = CreateVehicle(562,X,Y,Z,Angle,-1,-1,10000);
  748.             PutPlayerInVehicle(playerid,carid,0); CMDMessageToVip(playerid,"vTunedCar");
  749.             AddVehicleComponent(carid,1034); AddVehicleComponent(carid,1038);
  750.             AddVehicleComponent(carid,1147); AddVehicleComponent(carid,1010);
  751.             AddVehicleComponent(carid,1073); ChangeVehiclePaintjob(carid,1);
  752.             SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid));
  753.             LinkVehicleToInterior(carid, GetPlayerInterior(playerid));
  754.             VehicleInfo[carid][Temp] = 1;
  755.         }
  756.     } else SendClientMessage(playerid,red,"ERROR: You need to be level 1 to use this command");
  757.     return 1;
  758. }
  759. //------------------------------------------------------------------------------
  760. CMD:vtc9(playerid,params[]) {
  761.     if(pInfo[playerid][vip] >= 1) {
  762.         if(IsPlayerInAnyVehicle(playerid)) {
  763.             SendClientMessage(playerid,red,"Error: You already have a vehicle");
  764.         } else  {
  765.             new Float:X,Float:Y,Float:Z,Float:Angle,carid;  GetPlayerPos(playerid,X,Y,Z);
  766.             GetPlayerFacingAngle(playerid,Angle);
  767.             carid = CreateVehicle(567,X,Y,Z,Angle,-1,-1,10000);
  768.             PutPlayerInVehicle(playerid,carid,0);
  769.             CMDMessageToVip(playerid,"vTunedCar");
  770.             AddVehicleComponent(carid,1102); AddVehicleComponent(carid,1129);
  771.             AddVehicleComponent(carid,1133); AddVehicleComponent(carid,1186);
  772.             AddVehicleComponent(carid,1188); ChangeVehiclePaintjob(carid,1);
  773.             AddVehicleComponent(carid,1010); AddVehicleComponent(carid,1085);
  774.             AddVehicleComponent(carid,1087); AddVehicleComponent(carid,1086);
  775.             SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid));
  776.             LinkVehicleToInterior(carid, GetPlayerInterior(playerid));
  777.             VehicleInfo[carid][Temp] = 1;
  778.         }
  779.     } else SendClientMessage(playerid,red,"ERROR: You need to be level 1 to use this command");
  780.     return 1;
  781. }
  782. //------------------------------------------------------------------------------
  783. CMD:vtc10(playerid,params[]) {
  784.     if(pInfo[playerid][vip] >= 1) {
  785.         if(IsPlayerInAnyVehicle(playerid)) {
  786.             SendClientMessage(playerid,red,"Error: You already have a vehicle");
  787.         } else  {
  788.             new Float:X,Float:Y,Float:Z,Float:Angle,carid;  GetPlayerPos(playerid,X,Y,Z);
  789.             GetPlayerFacingAngle(playerid,Angle);
  790.             carid = CreateVehicle(558,X,Y,Z,Angle,-1,-1,10000);
  791.             PutPlayerInVehicle(playerid,carid,0);
  792.             CMDMessageToVip(playerid,"vTunedCar");
  793.             AddVehicleComponent(carid,1092); AddVehicleComponent(carid,1166);
  794.             AddVehicleComponent(carid,1165); AddVehicleComponent(carid,1090);
  795.             AddVehicleComponent(carid,1094); AddVehicleComponent(carid,1010);
  796.             AddVehicleComponent(carid,1087); AddVehicleComponent(carid,1163);//SPOILER
  797.             AddVehicleComponent(carid,1091); ChangeVehiclePaintjob(carid,2);
  798.             SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid));
  799.             LinkVehicleToInterior(carid, GetPlayerInterior(playerid));
  800.             VehicleInfo[carid][Temp] = 1;
  801.         }
  802.     } else SendClientMessage(playerid,red,"ERROR: You need to be level 1 to use this command");
  803.     return 1;
  804. }
  805. //------------------------------------------------------------------------------
  806. CMD:vtc11(playerid,params[]) {
  807.     if(pInfo[playerid][vip] >= 1) {
  808.         if(IsPlayerInAnyVehicle(playerid)) {
  809.         SendClientMessage(playerid,red,"Error: You already have a vehicle");
  810.         } else {
  811.             new Float:X,Float:Y,Float:Z,Float:Angle,carid;
  812.             GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
  813.             carid = CreateVehicle(557,X,Y,Z,Angle,1,-1,10000);
  814.             PutPlayerInVehicle(playerid,carid,0);
  815.             CMDMessageToVip(playerid,"vTunedCar");
  816.             AddVehicleComponent(carid,1010); AddVehicleComponent(carid,1081);
  817.             SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid));
  818.             LinkVehicleToInterior(carid, GetPlayerInterior(playerid));
  819.             VehicleInfo[carid][Temp] = 1;
  820.         }
  821.     } else SendClientMessage(playerid,red,"ERROR: You need to be level 1 to use this command");
  822.     return 1;
  823. }
  824. //------------------------------------------------------------------------------
  825. CMD:vtc12(playerid,params[]) {
  826.     if(pInfo[playerid][vip] >= 1) {
  827.         if(IsPlayerInAnyVehicle(playerid)) {
  828.             SendClientMessage(playerid,red,"Error: You already have a vehicle");
  829.         } else  {
  830.             new Float:X,Float:Y,Float:Z,Float:Angle,carid;  GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
  831.             carid = CreateVehicle(535,X,Y,Z,Angle,-1,-1,10000);
  832.             PutPlayerInVehicle(playerid,carid,0);
  833.             CMDMessageToVip(playerid,"vTunedCar");
  834.             ChangeVehiclePaintjob(carid,1);
  835.             AddVehicleComponent(carid,1109); AddVehicleComponent(carid,1121);
  836.             AddVehicleComponent(carid,1115); AddVehicleComponent(carid,1117);
  837.             AddVehicleComponent(carid,1073); AddVehicleComponent(carid,1010);
  838.             AddVehicleComponent(carid,1087); AddVehicleComponent(carid,1114);
  839.             AddVehicleComponent(carid,1081); AddVehicleComponent(carid,1119);
  840.             SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid));
  841.             LinkVehicleToInterior(carid, GetPlayerInterior(playerid));
  842.             VehicleInfo[carid][Temp] = 1;
  843.         }
  844.     } else SendClientMessage(playerid,red,"ERROR: You need to be level 1 to use this command");
  845.     return 1;
  846. }
  847. //------------------------------------------------------------------------------
  848. CMD:vtc13(playerid,params[]) {
  849.     if(pInfo[playerid][vip] >= 1) {
  850.     if(IsPlayerInAnyVehicle(playerid)) SendClientMessage(playerid,red,"Error: You already have a vehicle");
  851.     else {
  852.         new Float:X,Float:Y,Float:Z,Float:Angle,carid;
  853.         GetPlayerPos(playerid,X,Y,Z);
  854.         GetPlayerFacingAngle(playerid,Angle);
  855.         carid = CreateVehicle(562,X,Y,Z,Angle,-1,-1,10000);
  856.         PutPlayerInVehicle(playerid,carid,0);
  857.         CMDMessageToVip(playerid,"vTunedCar");
  858.         AddVehicleComponent(carid,1034); AddVehicleComponent(carid,1038);
  859.         AddVehicleComponent(carid,1147); AddVehicleComponent(carid,1010);
  860.         AddVehicleComponent(carid,1073); ChangeVehiclePaintjob(carid,0);
  861.         SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid));
  862.         LinkVehicleToInterior(carid, GetPlayerInterior(playerid));
  863.         VehicleInfo[carid][Temp] = 1;
  864.       }
  865.     } else SendClientMessage(playerid,red,"ERROR: You need to be level 1 to use this command");
  866.     return 1;
  867. }
  868. //=======================================Vip 2 Commands=========================
  869. CMD:vgoto(playerid,params[]) {
  870.     if(pInfo[playerid][vip] >= 2) {
  871.         if(isnull(params)) return SendClientMessage(playerid,red,"USAGE: /vgoto [playerid]");
  872.         new player1, string[128];
  873.         if(!IsNumeric(params)) player1 = ReturnPlayerID(params);
  874.         else player1 = strval(params);
  875.         if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid) {
  876.             CMDMessageToVip(playerid,"VGOTO");
  877.             new Float:x, Float:y, Float:z;  GetPlayerPos(player1,x,y,z); SetPlayerInterior(playerid,GetPlayerInterior(player1));
  878.             SetPlayerVirtualWorld(playerid,GetPlayerVirtualWorld(player1));
  879.             if(GetPlayerState(playerid) == 2) {
  880.                 SetVehiclePos(GetPlayerVehicleID(playerid),x+3,y,z);    LinkVehicleToInterior(GetPlayerVehicleID(playerid),GetPlayerInterior(player1));
  881.                 SetVehicleVirtualWorld(GetPlayerVehicleID(playerid),GetPlayerVirtualWorld(player1));
  882.             } else SetPlayerPos(playerid,x+2,y,z);
  883.             format(string,sizeof(string),"You have teleported to \"%s\"", pName(player1));
  884.             return SendClientMessage(playerid,blue,string);
  885.         } else return SendClientMessage(playerid, red, "Player is not connected or is yourself");
  886.     } else return ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"{FF0000}ERROR","{FF0000}You must be vip 2 to use this command.","Exit","");
  887. }
  888.  
  889. CMD:vgiveweapon(playerid,params[]) {
  890.     if(pInfo[playerid][vip] >= 2) {
  891.         new tmp[128], tmp2[128], tmp3[128], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index), tmp3 = strtok(params,Index);
  892.         if(isnull(tmp) || isnull(tmp2)) return SendClientMessage(playerid, red, "USAGE: /vgiveweapon [playerid] [weapon id/weapon name] [ammo]");
  893.         new player1 = strval(tmp), weap, ammo, WeapName[32], string[128];
  894.         if(isnull(tmp3) || !IsNumeric(tmp3) || strval(tmp3) <= 0 || strval(tmp3) > 99999) ammo = 500; else ammo = strval(tmp3);
  895.         if(!IsNumeric(tmp2)) weap = GetWeaponIDFromName(tmp2); else weap = strval(tmp2);
  896.         if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  897.             if(!IsValidWeapon(weap)) return SendClientMessage(playerid,red,"ERROR: Invalid weapon ID");
  898.             CMDMessageToVip(playerid,"VGIVEWEAPON");
  899.             GetWeaponName(weap,WeapName,32);
  900.             format(string, sizeof(string), "|- You have given \"%s\" a %s (%d) with %d rounds of Ammo -|", PlayerName2(player1), WeapName, weap, ammo); SendClientMessage(playerid,blue,string);
  901.             if(player1 != playerid) { format(string,sizeof(string),"|- Vip \"%s\" has given you a %s (%d) with %d rounds of Ammo -|", PlayerName2(playerid), WeapName, weap, ammo); SendClientMessage(player1,blue,string); }
  902.             return GivePlayerWeapon(player1, weap, ammo);
  903.         } else return SendClientMessage(playerid,red,"ERROR: Player is not connected");
  904.     } else return ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"{FF0000}ERROR","{FF0000}You must be vip 2 to use this command.","Exit","");
  905. }
  906. CMD:vdisarm(playerid,params[]) {
  907.     if(pInfo[playerid][vip] >= 2) {
  908.         if(isnull(params)) return SendClientMessage(playerid, red, "USAGE: /vdisarm [playerid]");
  909.         new player1 = strval(params), string[128];
  910.         if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  911.             CMDMessageToVip(playerid,"VDISARM");  PlayerPlaySound(player1,1057,0.0,0.0,0.0);
  912.             format(string, sizeof(string), "|- You have disarmed \"%s\" -|", pName(player1)); SendClientMessage(playerid,blue,string);
  913.             if(player1 != playerid) { format(string,sizeof(string),"|- Vip \"%s\" has Disarmed you -|", pName(playerid)); SendClientMessage(player1,blue,string); }
  914.             ResetPlayerWeapons(player1);
  915.             return PlayerPlaySound(player1,1057,0.0,0.0,0.0);
  916.         } else return SendClientMessage(playerid,red,"ERROR: Player is not connected");
  917.     } else return ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"{FF0000}ERROR","{FF0000}You must be vip 2 to use this command.","Exit","");
  918. }
  919. CMD:vburn(playerid,params[]) {
  920.     if(pInfo[playerid][vip] >= 2) {
  921.         if(isnull(params)) return SendClientMessage(playerid, red, "USAGE: /vburn [playerid]");
  922.         new player1 = strval(params), string[128], Float:x, Float:y, Float:z;
  923.         if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  924.             CMDMessageToVip(playerid,"VBURN");
  925.             format(string, sizeof(string), "You have burnt \"%s\" ", pName(player1)); SendClientMessage(playerid,blue,string);
  926.             if(player1 != playerid) { format(string,sizeof(string),"Administrator \"%s\" has burnt you", pName(playerid)); SendClientMessage(player1,blue,string); }
  927.             GetPlayerPos(player1, x, y, z);
  928.             return CreateExplosion(x, y , z + 3, 1, 10);
  929.         } else return SendClientMessage(playerid,red,"ERROR: Player is not connected");
  930.     } else return ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"{FF0000}ERROR","{FF0000}You must be vip 2 to use this command.","Exit","");
  931. }
  932. CMD:vspawn(playerid,params[]) {
  933.     if(pInfo[playerid][vip] >= 2) {
  934.         if(isnull(params)) return SendClientMessage(playerid, red, "USAGE: /vspawn [playerid]");
  935.         new player1 = strval(params), string[128];
  936.         if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  937.             CMDMessageToVip(playerid,"VSPAWN");
  938.             format(string, sizeof(string), "You have spawned \"%s\" ", pName(player1)); SendClientMessage(playerid,blue,string);
  939.             if(player1 != playerid) { format(string,sizeof(string),"Vip \"%s\" has spawned you", pName(playerid)); SendClientMessage(player1,blue,string); }
  940.             SetPlayerPos(player1, 0.0, 0.0, 0.0);
  941.             return SpawnPlayer(player1);
  942.         } else return SendClientMessage(playerid,red,"ERROR: Player is not connected");
  943.     } else return ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"{FF0000}ERROR","{FF0000}You must be vip 2 to use this command.","Exit","");
  944. }
  945. CMD:vscreen(playerid,params[]) {
  946.     if(pInfo[playerid][vip] >= 2) {
  947.         new tmp[128], tmp2[128], Index;     tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  948.         if(isnull(params)) return SendClientMessage(playerid, red, "USAGE: /vscreen [playerid] [text]");
  949.         new player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128];
  950.         player1 = strval(params);
  951.  
  952.         if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid) {
  953.             GetPlayerName(player1, playername, sizeof(playername));     GetPlayerName(playerid, adminname, sizeof(adminname));
  954.             CMDMessageToVip(playerid,"VSCREEN");
  955.             format(string,sizeof(string),"Vip %s has sent you a screen message",adminname); SendClientMessage(player1,blue,string);
  956.             format(string,sizeof(string),"You have sent %s a screen message (%s)", playername, params[2]); SendClientMessage(playerid,blue,string);
  957.             return GameTextForPlayer(player1, params[2],4000,3);
  958.         } else return SendClientMessage(playerid, red, "Player is not connected or is yourself or is the highest level admin");
  959.     } else return ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"{FF0000}ERROR","{FF0000}You must be vip 2 to use this command.","Exit","");
  960. }
  961.  
  962. CMD:vhydra(playerid,params[]) {
  963.     #pragma unused params
  964.     if(pInfo[playerid][vip] >= 2) {
  965.         if (!IsPlayerInAnyVehicle(playerid)) {
  966.             CarSpawner(playerid,520);
  967.             CMDMessageToVip(playerid,"VHYDRA");
  968.             return SendClientMessage(playerid,red,"Enjoy your new hydra");
  969.         } else return SendClientMessage(playerid,red,"Error: You already have a vehicle");
  970.     } else return ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"{FF0000}ERROR","{FF0000}You must be vip 2 to use this command.","Exit","");
  971. }
  972.  
  973. CMD:vhunter(playerid,params[]) {
  974.     #pragma unused params
  975.     if(pInfo[playerid][vip] >= 2) {
  976.         if (!IsPlayerInAnyVehicle(playerid)) {
  977.             CarSpawner(playerid,425);
  978.             CMDMessageToVip(playerid,"VHUNTER");
  979.             return SendClientMessage(playerid,red,"Enjoy your new hunter");
  980.         } else return SendClientMessage(playerid,red,"Error: You already have a vehicle");
  981.     } else return ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"{FF0000}ERROR","{FF0000}You must be vip 2 to use this command.","Exit","");
  982. }
  983. CMD:vflip(playerid,params[]) {
  984.     if(pInfo[playerid][vip] >= 2) {
  985.         if(isnull(params)) {
  986.             if(IsPlayerInAnyVehicle(playerid)) {
  987.             new VehicleID, Float:X, Float:Y, Float:Z, Float:Angle; GetPlayerPos(playerid, X, Y, Z); VehicleID = GetPlayerVehicleID(playerid);
  988.             GetVehicleZAngle(VehicleID, Angle); SetVehiclePos(VehicleID, X, Y, Z); SetVehicleZAngle(VehicleID, Angle); SetVehicleHealth(VehicleID,1000.0);
  989.             CMDMessageToVip(playerid,"VFLIP"); return SendClientMessage(playerid, blue,"|- Vehicle Flipped! . You can also do /vflip [playerid] -|");
  990.             } else return SendClientMessage(playerid,red,"Error: You are not in a vehicle. You can also do /vflip [playerid]");
  991.         }
  992.         new player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128];
  993.         player1 = strval(params);
  994.  
  995.         if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid) {
  996.             if (IsPlayerInAnyVehicle(player1)) {
  997.                 new VehicleID, Float:X, Float:Y, Float:Z, Float:Angle; GetPlayerPos(player1, X, Y, Z); VehicleID = GetPlayerVehicleID(player1);
  998.                 GetVehicleZAngle(VehicleID, Angle); SetVehiclePos(VehicleID, X, Y, Z); SetVehicleZAngle(VehicleID, Angle); SetVehicleHealth(VehicleID,1000.0);
  999.                 RepairVehicle(VehicleID);
  1000.                 CMDMessageToVip(playerid,"VFLIP");
  1001.                 GetPlayerName(player1, playername, sizeof(playername));     GetPlayerName(playerid, adminname, sizeof(adminname));
  1002.                 format(string,sizeof(string),"Administrator %s flipped your vehicle",adminname); SendClientMessage(player1,blue,string);
  1003.                 format(string,sizeof(string),"You have flipped %s's vehicle", playername);
  1004.                 return SendClientMessage(playerid, blue,string);
  1005.             } else return SendClientMessage(playerid,red,"Error: This player isn't in a vehicle");
  1006.         } else return SendClientMessage(playerid, red, "Player is not connected or is yourself");
  1007.     } else return ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"{FF0000}ERROR","{FF0000}You must be vip 2 to use this command.","Exit","");
  1008. }
  1009. CMD:vannounce(playerid,params[]) {
  1010.     if(pInfo[playerid][vip] >= 2) {
  1011.         if(isnull(params)) return SendClientMessage(playerid,red,"USAGE: /vannounce2 <text>");
  1012.         CMDMessageToVip(playerid,"VANNOUNCE");
  1013.         return GameTextForAll(params,4000,3);
  1014.     } else return ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"{FF0000}ERROR","{FF0000}You must be vip 2 to use this command.","Exit","");
  1015. }
  1016.  
  1017. CMD:vannounce2(playerid,params[]) {
  1018.     if(pInfo[playerid][vip] >= 2) {
  1019.         new tmp[128], tmp2[128], tmp3[128], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index) ,tmp3 = strtok(params,Index);
  1020.         if(isnull(tmp)||isnull(tmp2)||isnull(tmp3)) return SendClientMessage(playerid,red,"USAGE: /vannounce2 <style> <time> <text>");
  1021.         if(!(strval(tmp) >= 0 && strval(tmp) <= 6) || strval(tmp) == 2) return SendClientMessage(playerid,red,"ERROR: Invalid gametext style. Range: 0 - 6");
  1022.         CMDMessageToVip(playerid,"VANNOUNCE2");
  1023.         return GameTextForAll(params[(strlen(tmp)+strlen(tmp2)+2)], strval(tmp2), strval(tmp));
  1024.     } else return ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"{FF0000}ERROR","{FF0000}You must be vip 2 to use this command.","Exit","");
  1025. }
  1026. CMD:vcc(playerid,params[]) {
  1027.     #pragma unused params
  1028.     if(pInfo[playerid][vip] >= 2) {
  1029.         CMDMessageToVip(playerid,"VIPClearChat");
  1030.         for(new i = 0; i < 11; i++) SendClientMessageToAll(green," "); return 1;
  1031.     } else return ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"{FF0000}ERROR","{FF0000}You must be vip 2 to use this command.","Exit","");
  1032. }
  1033. CMD:vhighlight(playerid,params[]) {
  1034.     if(pInfo[playerid][vip] >= 2) {
  1035.         if(isnull(params)) return SendClientMessage(playerid,red,"USAGE: /vhighlight [playerid]");
  1036.         new player1, playername[MAX_PLAYER_NAME], string[128];
  1037.         player1 = strval(params);
  1038.  
  1039.         if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1040.             GetPlayerName(player1, playername, sizeof(playername));
  1041.             if(pInfo[player1][blip] == 0) {
  1042.                 CMDMessageToVip(playerid,"VHIGHLIGHT");
  1043.                 pInfo[player1][pColour] = GetPlayerColor(player1);
  1044.                 pInfo[player1][blip] = 1;
  1045.                 BlipTimer[player1] = SetTimerEx("HighLight", 1000, 1, "i", player1);
  1046.                 format(string,sizeof(string),"You have highlighted %s's marker", playername);
  1047.             } else {
  1048.                 KillTimer( BlipTimer[player1] );
  1049.                 pInfo[player1][blip] = 0;
  1050.                 SetPlayerColor(player1, pInfo[player1][pColour] );
  1051.                 format(string,sizeof(string),"You have stopped highlighting %s's marker", playername);
  1052.             }
  1053.             return SendClientMessage(playerid,blue,string);
  1054.         } else return SendClientMessage(playerid, red, "Player is not connected");
  1055.     } else return ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"{FF0000}ERROR","{FF0000}You must be vip 2 to use this command.","Exit","");
  1056. }
  1057. CMD:vjetpack(playerid,params[]) {
  1058.     if(isnull(params))  {
  1059.         if(pInfo[playerid][vip] >= 2) {
  1060.             SendClientMessage(playerid,blue,"|- Jetpack Spawned! -|");
  1061.             CMDMessageToVip(playerid,"VJETPACK");
  1062.             return SetPlayerSpecialAction(playerid, 2);
  1063.         } else return ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"{FF0000}ERROR","{FF0000}You must be vip 2 to use this command.","Exit","");
  1064.     } else {
  1065.         new player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128];
  1066.         player1 = strval(params);
  1067.         if(pInfo[playerid][vip] >= 3) {
  1068.             if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid)   {
  1069.                 CMDMessageToVip(playerid,"VJETPACK ID");        SetPlayerSpecialAction(player1, 2);
  1070.                 GetPlayerName(player1, playername, sizeof(playername));     GetPlayerName(playerid, adminname, sizeof(adminname));
  1071.                 format(string,sizeof(string),"|- VIP \"%s\" has given you a Jetpack -|",adminname); SendClientMessage(player1,blue,string);
  1072.                 format(string,sizeof(string),"You have given %s a jetpack", playername);
  1073.                 return SendClientMessage(playerid,blue,string);
  1074.             } else return SendClientMessage(playerid, red, "Player is not connected or is yourself");
  1075.         } else return ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"{FF0000}ERROR","{FF0000}You must be vip 2 to use this command.","Exit","");
  1076.     }
  1077. }
  1078. //=================================Vip 3 Commands=============================//
  1079. CMD:vsethealth(playerid,params[]) {
  1080.     if(pInfo[playerid][vip] >= 3) {
  1081.      new tmp[128], tmp2[128], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  1082.      if(isnull(tmp) || isnull(tmp2) || !IsNumeric(tmp2)) return SendClientMessage(playerid, red, "USAGE: /vsethealth [playerid] [amount]");
  1083.      if(strval(tmp2) < 0 || strval(tmp2) > 100) return SendClientMessage(playerid, red, "ERROR: Invaild health amount");
  1084.      new player1 = strval(tmp), health = strval(tmp2), string[128];
  1085.      if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1086.             CMDMessageToVip(playerid,"VSETHEALTH");
  1087.             format(string, sizeof(string), "You have set \"%s's\" health to '%d", pName(player1), health); SendClientMessage(playerid,blue,string);
  1088.             if(player1 != playerid) { format(string,sizeof(string),"Vip \"%s\" has set your health to '%d'", pName(playerid), health); SendClientMessage(player1,blue,string); }
  1089.             return SetPlayerHealth(player1, health);
  1090.         } else return SendClientMessage(playerid,red,"ERROR: Player is not connected");
  1091.     } else return ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"{FF0000}ERROR","{FF0000}You must be vip 3 to use this command.","Exit","");
  1092. }
  1093.  
  1094. CMD:vsetarmour(playerid,params[]) {
  1095.     if(pInfo[playerid][vip] >= 3) {
  1096.         new tmp[128], tmp2[128], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  1097.         if(isnull(tmp) || isnull(tmp2) || !IsNumeric(tmp2)) return SendClientMessage(playerid, red, "USAGE: /vsetarmour [playerid] [amount]");
  1098.         if(strval(tmp2) < 0 || strval(tmp2) > 100) return SendClientMessage(playerid, red, "ERROR: Invaild health amount");
  1099.         new player1 = strval(tmp), armour = strval(tmp2), string[128];
  1100.         if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1101.             CMDMessageToVip(playerid,"VSETARMOUR");
  1102.             format(string, sizeof(string), "You have set \"%s's\" armour to '%d", pName(player1), armour); SendClientMessage(playerid,blue,string);
  1103.             if(player1 != playerid) { format(string,sizeof(string),"Vip \"%s\" has set your armour to '%d'", pName(playerid), armour); SendClientMessage(player1,blue,string); }
  1104.             return SetPlayerArmour(player1, armour);
  1105.         } else return SendClientMessage(playerid,red,"ERROR: Player is not connected");
  1106.     } else return ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"{FF0000}ERROR","{FF0000}You must be vip 3 to use this command.","Exit","");
  1107. }
  1108. CMD:vgivecash(playerid,params[]) {
  1109.     if(pInfo[playerid][vip] >= 3) {
  1110.         new tmp[128], tmp2[128], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  1111.         if(isnull(tmp) || isnull(tmp2) || !IsNumeric(tmp2)) return SendClientMessage(playerid, red, "USAGE: /vgivecash [playerid] [amount]");
  1112.         new player1 = strval(tmp), cash = strval(tmp2), string[128];
  1113.         if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1114.             CMDMessageToVip(playerid,"VGIVECASH");
  1115.             format(string, sizeof(string), "You have given '$%d to \"%s\", ", cash, pName(player1)); SendClientMessage(playerid,blue,string);
  1116.             if(player1 != playerid) { format(string,sizeof(string),"Vip \"%s\" has given you '$%d'", pName(playerid), cash); SendClientMessage(player1,blue,string); }
  1117.             return GivePlayerMoney(player1, cash);
  1118.         } else return SendClientMessage(playerid,red,"ERROR: Player is not connected");
  1119.     } else return ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"{FF0000}ERROR","{FF0000}You must be vip 3 to use this command.","Exit","");
  1120. }
  1121. CMD:vkick(playerid,params[]) {
  1122.           if(pInfo[playerid][vip] >= 3) {
  1123.             new tmp[256], tmp2[256], Index;     tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  1124.             if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /vkick [playerid] [reason]");
  1125.             new player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128];
  1126.             player1 = strval(tmp);
  1127.  
  1128.             if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid) {
  1129.                 GetPlayerName(player1, playername, sizeof(playername));     GetPlayerName(playerid, adminname, sizeof(adminname));
  1130.                 CMDMessageToVip(playerid,"VKICK");
  1131.                 if(!strlen(tmp2)) {
  1132.                     format(string,sizeof(string),"|- {FF0000}%s {FF0000}has been kicked by Vip {FF0000}%s{FF0000}[Reason:no reason given] -|",playername,adminname); SendClientMessageToAll(red,string);
  1133.                     print(string); return Kick(player1);
  1134.                 } else {
  1135.                     format(string,sizeof(string),"|- {FF0000}%s {FF0000}has been kicked by Vip {FF0000}%s{FF0000}[Reason: {FF0000}%s] -| ",playername,adminname,params[2]); SendClientMessageToAll(red,string);
  1136.                     print(string); return KickWithMessage(player1, string); }
  1137.             } else return SendClientMessage(playerid, red, "Player is not connected or is yourself or is the highest level admin");
  1138.             } else return ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"{FF0000}ERROR","{FF0000}You must be vip 3 to use this command.","Exit","");
  1139. }
  1140. CMD:vsetskin(playerid,params[]) {
  1141.     if(pInfo[playerid][vip] >= 3) {
  1142.         new tmp[128], tmp2[128], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  1143.         if(isnull(tmp) || isnull(tmp2) || !IsNumeric(tmp2)) return SendClientMessage(playerid, red, "USAGE: /vsetskin [playerid] [skin id]");
  1144.         new player1 = strval(tmp), skin = strval(tmp2), string[128];
  1145.         if(!IsValidSkin(skin)) return SendClientMessage(playerid, red, "ERROR: Invaild Skin ID");
  1146.         if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1147.             CMDMessageToVip(playerid,"VSETSKIN");
  1148.             format(string, sizeof(string), "You have set \"%s's\" skin to '%d", pName(player1), skin); SendClientMessage(playerid,blue,string);
  1149.             if(player1 != playerid) { format(string,sizeof(string),"Vip \"%s\" has set your skin to '%d'", pName(playerid), skin); SendClientMessage(player1,blue,string); }
  1150.             return SetPlayerSkin(player1, skin);
  1151.         } else return SendClientMessage(playerid,red,"ERROR: Player is not connected");
  1152.     } else return ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"{FF0000}ERROR","{FF0000}You must be vip 3 to use this command.","Exit","");
  1153. }
  1154. CMD:vsetname(playerid,params[]) {
  1155.     if(pInfo[playerid][vip] >= 3) {
  1156.         new tmp[128], tmp2[128], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  1157.         if(isnull(tmp) || isnull(tmp2)) return SendClientMessage(playerid, red, "USAGE: /vsetname [playerid] [new name]");
  1158.         new player1 = strval(tmp), length = strlen(tmp2), string[128];
  1159.         if(length < 3 || length > MAX_PLAYER_NAME) return SendClientMessage(playerid,red,"ERROR: Incorrect Name Length");
  1160.         if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1161.             CMDMessageToVip(playerid,"VSETNAME");
  1162.             format(string, sizeof(string), "You have set \"%s's\" name to \"%s\" ", pName(player1), tmp2); SendClientMessage(playerid,blue,string);
  1163.             if(player1 != playerid) { format(string,sizeof(string),"Vip \"%s\" has set your name to \"%s\" ", pName(playerid), tmp2); SendClientMessage(player1,blue,string); }
  1164.             SetPlayerHealth(player1, 100);
  1165.             SetPlayerName(player1, tmp2);
  1166.             return OnPlayerConnect(player1);
  1167.         } else return SendClientMessage(playerid,red,"ERROR: Player is not connected");
  1168.     } else return ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"{FF0000}ERROR","{FF0000}You must be vip 3 to use this command.","Exit","");
  1169. }
  1170. CMD:vcarhealth(playerid,params[]) {
  1171.     if(pInfo[playerid][vip] >= 3) {
  1172.         new tmp[256], tmp2[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  1173.         if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return SendClientMessage(playerid, red, "USAGE: /vcarhealth [playerid] [amount]");
  1174.         new player1 = strval(tmp), health = strval(tmp2), string[128];
  1175.         if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1176.             if(IsPlayerInAnyVehicle(player1)) {
  1177.                 CMDMessageToVip(playerid,"VCARHEALTH");
  1178.                 format(string, sizeof(string), "You have set \"%s's\" vehicle health to '%d", pName(player1), health); SendClientMessage(playerid,blue,string);
  1179.                 if(player1 != playerid) { format(string,sizeof(string),"Administrator \"%s\" has set your vehicle's health to '%d'", pName(playerid), health); SendClientMessage(player1,blue,string); }
  1180.                 return SetVehicleHealth(GetPlayerVehicleID(player1), health);
  1181.             } else return SendClientMessage(playerid,red,"ERROR: Player is not in a vehicle");
  1182.         } else return SendClientMessage(playerid,red,"ERROR: Player is not connected");
  1183.     } else return ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"{FF0000}ERROR","{FF0000}You must be vip 3 to use this command.","Exit","");
  1184. }
  1185. CMD:vcarcolour(playerid,params[]) {
  1186.     if(pInfo[playerid][vip] >= 3) {
  1187.         new tmp[128], tmp2[128], tmp3[128], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index); tmp3 = strtok(params,Index);
  1188.         if(isnull(tmp) || isnull(tmp2) || isnull(tmp3) || !IsNumeric(tmp2)) return SendClientMessage(playerid, red, "USAGE: /vcarcolour [playerid] [colour1] [colour2]");
  1189.         new player1 = strval(tmp), colour1, colour2, string[128];
  1190.         if(isnull(tmp2)) colour1 = random(126); else colour1 = strval(tmp2);
  1191.         if(isnull(tmp3)) colour2 = random(126); else colour2 = strval(tmp3);
  1192.         if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1193.             if(IsPlayerInAnyVehicle(player1)) {
  1194.                 CMDMessageToVip(playerid,"VCARCOLOUR");
  1195.                 format(string, sizeof(string), "You have changed the colour of \"%s's\" %s to '%d,%d'", pName(player1), VehicleName[GetVehicleModel(GetPlayerVehicleID(player1))-400], colour1, colour2 ); SendClientMessage(playerid,blue,string);
  1196.                 if(player1 != playerid) { format(string,sizeof(string),"Vip \"%s\" has changed the colour of your %s to '%d,%d''", pName(playerid), VehicleName[GetVehicleModel(GetPlayerVehicleID(player1))-400], colour1, colour2 ); SendClientMessage(player1,blue,string); }
  1197.                 return ChangeVehicleColor(GetPlayerVehicleID(player1), colour1, colour2);
  1198.             } else return SendClientMessage(playerid,red,"ERROR: Player is not in a vehicle");
  1199.         } else return SendClientMessage(playerid,red,"ERROR: Player is not connected");
  1200.     } else return ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"{FF0000}ERROR","{FF0000}You must be vip 3 to use this command.","Exit","");
  1201. }
  1202. CMD:vsettime(playerid,params[]) {
  1203.     if(pInfo[playerid][vip] >= 3) {
  1204.         new tmp[128], tmp2[128], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  1205.         if(isnull(tmp) || isnull(tmp2) || !IsNumeric(tmp2)) return SendClientMessage(playerid, red, "USAGE: /vsettime [playerid] [hour]");
  1206.         new player1 = strval(tmp), time = strval(tmp2), string[128];
  1207.         if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1208.             CMDMessageToVip(playerid,"VSETTIME");
  1209.             format(string, sizeof(string), "You have set \"%s's\" time to %d:00", pName(player1), time); SendClientMessage(playerid,blue,string);
  1210.             if(player1 != playerid) { format(string,sizeof(string),"Vip \"%s\" has set your time to %d:00", pName(playerid), time); SendClientMessage(player1,blue,string); }
  1211.             PlayerPlaySound(player1,1057,0.0,0.0,0.0);
  1212.             return SetPlayerTime(player1, time, 0);
  1213.         } else return SendClientMessage(playerid,red,"ERROR: Player is not connected");
  1214.     } else return ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"{FF0000}ERROR","{FF0000}You must be vip 3 to use this command.","Exit","");
  1215. }
  1216. CMD:vget(playerid,params[]) {
  1217.     if(pInfo[playerid][vip] >= 3) {
  1218.         if(isnull(params)) return SendClientMessage(playerid, red, "USAGE: /vget [playerid]");
  1219.         new player1, string[128];
  1220.         if(!IsNumeric(params)) player1 = ReturnPlayerID(params);
  1221.         else player1 = strval(params);
  1222.         if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid) {
  1223.             CMDMessageToVip(playerid,"VGET");
  1224.             new Float:x, Float:y, Float:z;  GetPlayerPos(playerid,x,y,z); SetPlayerInterior(player1,GetPlayerInterior(playerid));
  1225.             SetPlayerVirtualWorld(player1,GetPlayerVirtualWorld(playerid));
  1226.             if(GetPlayerState(player1) == 2)    {
  1227.                 new VehicleID = GetPlayerVehicleID(player1);
  1228.                 SetVehiclePos(VehicleID,x+3,y,z);   LinkVehicleToInterior(VehicleID,GetPlayerInterior(playerid));
  1229.                 SetVehicleVirtualWorld(GetPlayerVehicleID(player1),GetPlayerVirtualWorld(playerid));
  1230.             } else SetPlayerPos(player1,x+2,y,z);
  1231.             format(string,sizeof(string),"|- You have been teleported to Vip \"%s's\" location -|", pName(playerid) )SendClientMessage(player1,blue,string);
  1232.             format(string,sizeof(string),"You have teleported \"%s\" to your location", pName(player1) );
  1233.             return SendClientMessage(playerid,blue,string);
  1234.         } else return SendClientMessage(playerid, red, "Player is not connected or is yourself");
  1235.     } else return ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"{FF0000}ERROR","{FF0000}You must be vip 3 to use this command.","Exit","");
  1236. }
  1237. CMD:vsetworld(playerid,params[]) {
  1238.     if(pInfo[playerid][vip] >= 3) {
  1239.         new tmp[128], tmp2[128], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
  1240.         if(isnull(tmp) || isnull(tmp2) || !IsNumeric(tmp2)) return SendClientMessage(playerid, red, "USAGE: /vsetworld [playerid] [virtual world]");
  1241.         new player1 = strval(tmp), time = strval(tmp2), string[128];
  1242.         if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
  1243.             CMDMessageToVip(playerid,"VSETWORLD");
  1244.             format(string, sizeof(string), "|- You have set \"%s's\" Virtual World to '%d' -|", pName(player1), time); SendClientMessage(playerid,blue,string);
  1245.             if(player1 != playerid) { format(string,sizeof(string),"|- Vip \"%s\" has set your Virtual World to '%d' -|", pName(playerid), time); SendClientMessage(player1,blue,string); }
  1246.             PlayerPlaySound(player1,1057,0.0,0.0,0.0);
  1247.             return SetPlayerVirtualWorld(player1, time);
  1248.         } else return SendClientMessage(playerid,red,"ERROR: Player is not connected");
  1249.     } else return ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"{FF0000}ERROR","{FF0000}You must be vip 3 to use this command.","Exit","");
  1250. }
  1251. CMD:vammo(playerid,params[]) {
  1252.     #pragma unused params
  1253.     if(pInfo[playerid][vip] >= 3) {
  1254.         MaxAmmo(playerid);
  1255.         return CMDMessageToVip(playerid,"VAMMO");
  1256.     } else return ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"{FF0000}ERROR","{FF0000}You must be vip 3 to use this command.","Exit","");
  1257. }
  1258.  
  1259. //==================================Vip commands Helper=======================//
  1260. CMD:vip1(playerid,params[]) {
  1261.     #pragma unused params
  1262.     if(pInfo[playerid][vip] >= 1)
  1263.     {
  1264.         new vip1[1250];
  1265.         strcat(vip1,"{00FFFF}___________ |- VIP 1 -| ___________\n");
  1266.         strcat(vip1,"{00FFFF}Players Functions: setmytime, ip, vweaps, weaps, miniguns.\n");
  1267.         strcat(vip1,"{00FFFF}Chat Functions: write, vsay, /v(For vip chat).\n");
  1268.         strcat(vip1,"{00FFFF}Miscellaneous Functions: vipsking, vipskibn.\n");
  1269.         strcat(vip1,"{00FFFF}Vehicle Functions: lhy, fix, vcar, vbike, nos, vtc.\n");
  1270.         ShowPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX, "{FF0000}Welcome To VIP 1 Commands Help", vip1, "Exit", "");
  1271.     } else return ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"{FF0000}ERROR","{FF0000}You must be vip 1 to use this command.","Exit","");
  1272.     return 1;
  1273. }
  1274.  
  1275. CMD:vip2(playerid,params[]) {
  1276.     #pragma unused params
  1277.     if(pInfo[playerid][vip] >= 2)
  1278.     {
  1279.         new vip2[1250];
  1280.         strcat(vip2, "{33FF33} ___________ |- VIP 2 -| ___________\n");
  1281.         strcat(vip2, "{33FF33} Players Functions: vgoto, vgiveweapon, vdisarm, vburn, vspawn, vscreen\n");
  1282.         strcat(vip2, "{33FF33} Vehicle Functions: vhunter, vhydra, vflip\n");
  1283.         strcat(vip2, "{33FF33} Chat Functions: vannounce, vannounce2, vcc\n");
  1284.         strcat(vip2, "{33FF33} Funny Functions: vhighlight, vjetpack\n");
  1285.         ShowPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX, "{FF0000}Welcome To VIP 2 Commands Help", vip2, "Exit", "");
  1286.     }
  1287.     else {
  1288.         ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"{FF0000}ERROR","{FF0000}You must be vip 2 to use this command.","Exit","");
  1289.     }
  1290.     return 1;
  1291. }
  1292.  
  1293. CMD:vip3(playerid,params[]) {
  1294.     #pragma unused params
  1295.     if(pInfo[playerid][vip] >= 3)
  1296.     {
  1297.         new vip3[1250];
  1298.         strcat(vip3, "{FF0000}___________ |- VIP 3 -| ___________\n");
  1299.         strcat(vip3, "{FF0000}Players Functions: vsethealth, vsetarmour, vgivecash, vkick, vsetskin, vsetname\n");
  1300.         strcat(vip3, "{FF0000}Vehicle Functions: vcarhealth, vcarcolour\n");
  1301.         strcat(vip3, "{FF0000}Best Players Functions: vsettime, vget, vsetworld\n");
  1302.         strcat(vip3, "{FF0000}Miscellaneous Functions: vammo\n");
  1303.         ShowPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX, "{00FFFF}Welcome To VIP 3 Commands Help", vip3, "Exit", "");
  1304.     }
  1305.     else {
  1306.         ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"{FF0000}ERROR","{FF0000}You must be vip 3 to use this command.","Exit","");
  1307.     }
  1308.     return 1;
  1309. }
  1310. //=====================================Functions==============================//
  1311. PlayerName2(playerid) {
  1312. new plname[MAX_PLAYER_NAME];
  1313. GetPlayerName(playerid, plname, sizeof(plname));
  1314. return plname;
  1315. }
  1316.  
  1317. pName(playerid)
  1318. {
  1319.   new plname[MAX_PLAYER_NAME];
  1320.   GetPlayerName(playerid, plname, sizeof(plname));
  1321.   return plname;
  1322. }
  1323.  
  1324. IsNumeric(string[])
  1325. {
  1326.     for (new i = 0, j = strlen(string); i < j; i++)
  1327.     {
  1328.         if (string[i] > '9' || string[i] < '0') return 0;
  1329.     }
  1330.     return 1;
  1331. }
  1332.  
  1333. ReturnPlayerID(PlayerName[])
  1334. {
  1335.     for(new i = 0; i < MAX_PLAYERS; i++)
  1336.     {
  1337.         if(IsPlayerConnected(i))
  1338.         {
  1339.             if(strfind(pName(i),PlayerName,true)!=-1) return i;
  1340.         }
  1341.     }
  1342.     return INVALID_PLAYER_ID;
  1343. }
  1344. IsValidSkin(SkinID)
  1345. {
  1346.     if((SkinID == 0)||(SkinID == 7)||(SkinID >= 9 && SkinID <= 41)||(SkinID >= 43 && SkinID <= 64)||(SkinID >= 66 && SkinID <= 73)||(SkinID >= 75 && SkinID <= 85)||(SkinID >= 87 && SkinID <= 118)||(SkinID >= 120 && SkinID <= 148)||(SkinID >= 150 && SkinID <= 207)||(SkinID >= 209 && SkinID <= 264)||(SkinID >= 274 && SkinID <= 288)||(SkinID >= 290 && SkinID <= 299)) return true;
  1347.     else return false;
  1348. }
  1349. GetWeaponIDFromName(WeaponName[])
  1350. {
  1351.     if(strfind("molotov",WeaponName,true)!=-1) return 18;
  1352.     for(new i = 0; i <= 46; i++)
  1353.     {
  1354.         switch(i)
  1355.         {
  1356.             case 0,19,20,21,44,45: continue;
  1357.             default:
  1358.             {
  1359.                 new wpname[32]; GetWeaponName(i,wpname,32);
  1360.                 if(strfind(wpname,WeaponName,true) != -1) return i;
  1361.             }
  1362.         }
  1363.     }
  1364.     return -1;
  1365. }
  1366. IsValidWeapon(weaponid)
  1367. {
  1368.     if (weaponid > 0 && weaponid < 19 || weaponid > 21 && weaponid < 47) return 1;
  1369.     return 0;
  1370. }
  1371. MaxAmmo(playerid)
  1372. {
  1373.     new slot, weap, ammo;
  1374.     for (slot = 0; slot < 14; slot++)
  1375.     {
  1376.         GetPlayerWeaponData(playerid, slot, weap, ammo);
  1377.         if(IsValidWeapon(weap))
  1378.         {
  1379.             GivePlayerWeapon(playerid, weap, 99999);
  1380.         }
  1381.     }
  1382.     return 1;
  1383. }
  1384. forward KickPublic(playerid);
  1385. public KickPublic(playerid) { Kick(playerid); }
  1386.  
  1387. KickWithMessage(playerid, message[])
  1388. {
  1389.     SendClientMessage(playerid, red, message); // define this color at the top of your script
  1390.     SetTimerEx("KickPublic", 1000, 0, "d", playerid);
  1391.     return 1;
  1392. }
  1393. forward CarSpawner(playerid,cmodel);
  1394. public CarSpawner(playerid,cmodel)
  1395. {
  1396.     if(IsPlayerInAnyVehicle(playerid)) return 1;
  1397.     if((pInfo[playerid][vip] < 1) && ((cmodel == 425) || (cmodel == 520) || (cmodel == 447) || (cmodel == 464) || (cmodel == 476) || (cmodel == 432))) {
  1398.         SendClientMessage(playerid,red, "You must be admin to spawn this vehicle");
  1399.         return 1;
  1400.     }
  1401.     else
  1402.     {
  1403.         new Float:x, Float:y, Float:z, Float:angle;
  1404.         GetPlayerPos(playerid, x, y, z);
  1405.         GetPlayerFacingAngle(playerid, angle);
  1406.         new ctsvehicle=CreateVehicle(cmodel, x, y, z, angle, -1, -1, 10000);
  1407.         PutPlayerInVehicle(playerid, ctsvehicle, 0);
  1408.         SetVehicleVirtualWorld(ctsvehicle, GetPlayerVirtualWorld(playerid));
  1409.         LinkVehicleToInterior(ctsvehicle, GetPlayerInterior(playerid));
  1410.         VehicleInfo[ctsvehicle][Temp] = 1;
  1411.         //ChangeVehicleColor(ctsvehicle,0,7);
  1412.     }
  1413.     return 1;
  1414. }
  1415. forward HighLight(playerid);
  1416. public HighLight(playerid)
  1417. {
  1418.     if(pInfo[playerid][blipS] == 0) { SetPlayerColor(playerid, 0xFF0000AA); pInfo[playerid][blipS] = 1; }
  1419.     else { SetPlayerColor(playerid, 0x33FF33AA); pInfo[playerid][blipS] = 0; }
  1420.     return 0;
  1421. }
  1422. //==============================SSCANF Function===============================//
  1423. sscanf(string[], format[], {Float,_}:...)
  1424. {
  1425.     #if defined isnull
  1426.         if (isnull(string))
  1427.     #else
  1428.         if (string[0] == 0 || (string[0] == 1 && string[1] == 0))
  1429.     #endif
  1430.         {
  1431.             return format[0];
  1432.         }
  1433.     #pragma tabsize 4
  1434.     new
  1435.         formatPos = 0,
  1436.         stringPos = 0,
  1437.         paramPos = 2,
  1438.         paramCount = numargs(),
  1439.         delim = ' ';
  1440.     while (string[stringPos] && string[stringPos] <= ' ')
  1441.     {
  1442.         stringPos++;
  1443.     }
  1444.     while (paramPos < paramCount && string[stringPos])
  1445.     {
  1446.         switch (format[formatPos++])
  1447.         {
  1448.             case '\0':
  1449.             {
  1450.                 return 0;
  1451.             }
  1452.             case 'i', 'd':
  1453.             {
  1454.                 new
  1455.                     neg = 1,
  1456.                     num = 0,
  1457.                     ch = string[stringPos];
  1458.                 if (ch == '-')
  1459.                 {
  1460.                     neg = -1;
  1461.                     ch = string[++stringPos];
  1462.                 }
  1463.                 do
  1464.                 {
  1465.                     stringPos++;
  1466.                     if ('0' <= ch <= '9')
  1467.                     {
  1468.                         num = (num * 10) + (ch - '0');
  1469.                     }
  1470.                     else
  1471.                     {
  1472.                         return -1;
  1473.                     }
  1474.                 }
  1475.                 while ((ch = string[stringPos]) > ' ' && ch != delim);
  1476.                 setarg(paramPos, 0, num * neg);
  1477.             }
  1478.             case 'h', 'x':
  1479.             {
  1480.                 new
  1481.                     num = 0,
  1482.                     ch = string[stringPos];
  1483.                 do
  1484.                 {
  1485.                     stringPos++;
  1486.                     switch (ch)
  1487.                     {
  1488.                         case 'x', 'X':
  1489.                         {
  1490.                             num = 0;
  1491.                             continue;
  1492.                         }
  1493.                         case '0' .. '9':
  1494.                         {
  1495.                             num = (num << 4) | (ch - '0');
  1496.                         }
  1497.                         case 'a' .. 'f':
  1498.                         {
  1499.                             num = (num << 4) | (ch - ('a' - 10));
  1500.                         }
  1501.                         case 'A' .. 'F':
  1502.                         {
  1503.                             num = (num << 4) | (ch - ('A' - 10));
  1504.                         }
  1505.                         default:
  1506.                         {
  1507.                             return -1;
  1508.                         }
  1509.                     }
  1510.                 }
  1511.                 while ((ch = string[stringPos]) > ' ' && ch != delim);
  1512.                 setarg(paramPos, 0, num);
  1513.             }
  1514.             case 'c':
  1515.             {
  1516.                 setarg(paramPos, 0, string[stringPos++]);
  1517.             }
  1518.             case 'f':
  1519.             {
  1520.  
  1521.                 new changestr[16], changepos = 0, strpos = stringPos;
  1522.                 while(changepos < 16 && string[strpos] && string[strpos] != delim)
  1523.                 {
  1524.                     changestr[changepos++] = string[strpos++];
  1525.                     }
  1526.                 changestr[changepos] = '\0';
  1527.                 setarg(paramPos,0,_:floatstr(changestr));
  1528.             }
  1529.             case 'p':
  1530.             {
  1531.                 delim = format[formatPos++];
  1532.                 continue;
  1533.             }
  1534.             case '\'':
  1535.             {
  1536.                 new
  1537.                     end = formatPos - 1,
  1538.                     ch;
  1539.                 while ((ch = format[++end]) && ch != '\'') {}
  1540.                 if (!ch)
  1541.                 {
  1542.                     return -1;
  1543.                 }
  1544.                 format[end] = '\0';
  1545.                 if ((ch = strfind(string, format[formatPos], false, stringPos)) == -1)
  1546.                 {
  1547.                     if (format[end + 1])
  1548.                     {
  1549.                         return -1;
  1550.                     }
  1551.                     return 0;
  1552.                 }
  1553.                 format[end] = '\'';
  1554.                 stringPos = ch + (end - formatPos);
  1555.                 formatPos = end + 1;
  1556.             }
  1557.             case 'u':
  1558.             {
  1559.                 new
  1560.                     end = stringPos - 1,
  1561.                     id = 0,
  1562.                     bool:num = true,
  1563.                     ch;
  1564.                 while ((ch = string[++end]) && ch != delim)
  1565.                 {
  1566.                     if (num)
  1567.                     {
  1568.                         if ('0' <= ch <= '9')
  1569.                         {
  1570.                             id = (id * 10) + (ch - '0');
  1571.                         }
  1572.                         else
  1573.                         {
  1574.                             num = false;
  1575.                         }
  1576.                     }
  1577.                 }
  1578.                 if (num && IsPlayerConnected(id))
  1579.                 {
  1580.                     setarg(paramPos, 0, id);
  1581.                 }
  1582.                 else
  1583.                 {
  1584.                     #if !defined foreach
  1585.                         #define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2))
  1586.                         #define __SSCANF_FOREACH__
  1587.                     #endif
  1588.                     string[end] = '\0';
  1589.                     num = false;
  1590.                     new
  1591.                         ssname[MAX_PLAYER_NAME];
  1592.                     id = end - stringPos;
  1593.                     foreach (Player, playerid)
  1594.                     {
  1595.                         GetPlayerName(playerid, ssname, sizeof (ssname));
  1596.                         if (!strcmp(ssname, string[stringPos], true, id))
  1597.                         {
  1598.                             setarg(paramPos, 0, playerid);
  1599.                             num = true;
  1600.                             break;
  1601.                         }
  1602.                     }
  1603.                     if (!num)
  1604.                     {
  1605.                         setarg(paramPos, 0, INVALID_PLAYER_ID);
  1606.                     }
  1607.                     string[end] = ch;
  1608.                     #if defined __SSCANF_FOREACH__
  1609.                         #undef foreach
  1610.                         #undef __SSCANF_FOREACH__
  1611.                     #endif
  1612.                 }
  1613.                 stringPos = end;
  1614.             }
  1615.             case 's', 'z':
  1616.             {
  1617.                 new
  1618.                     i = 0,
  1619.                     ch;
  1620.                 if (format[formatPos])
  1621.                 {
  1622.                     while ((ch = string[stringPos++]) && ch != delim)
  1623.                     {
  1624.                         setarg(paramPos, i++, ch);
  1625.                     }
  1626.                     if (!i)
  1627.                     {
  1628.                         return -1;
  1629.                     }
  1630.                 }
  1631.                 else
  1632.                 {
  1633.                     while ((ch = string[stringPos++]))
  1634.                     {
  1635.                         setarg(paramPos, i++, ch);
  1636.                     }
  1637.                 }
  1638.                 stringPos--;
  1639.                 setarg(paramPos, i, '\0');
  1640.             }
  1641.             default:
  1642.             {
  1643.                 continue;
  1644.             }
  1645.         }
  1646.         while (string[stringPos] && string[stringPos] != delim && string[stringPos] > ' ')
  1647.         {
  1648.             stringPos++;
  1649.         }
  1650.         while (string[stringPos] && (string[stringPos] == delim || string[stringPos] <= ' '))
  1651.         {
  1652.             stringPos++;
  1653.         }
  1654.         paramPos++;
  1655.     }
  1656.     do
  1657.     {
  1658.         if ((delim = format[formatPos++]) > ' ')
  1659.         {
  1660.             if (delim == '\'')
  1661.             {
  1662.                 while ((delim = format[formatPos++]) && delim != '\'') {}
  1663.             }
  1664.             else if (delim != 'z')
  1665.             {
  1666.                 return delim;
  1667.             }
  1668.         }
  1669.     }
  1670.     while (delim > ' ');
  1671.     return 0;
  1672. }
  1673. //============================Vip Messages====================================//
  1674. forward MessageToVip(color,const string[]);
  1675. public MessageToVip(color,const string[])
  1676. {
  1677.     for(new i = 0; i < MAX_PLAYERS; i++)
  1678.     {
  1679.         if(IsPlayerConnected(i) == 1) if (pInfo[i][vip] >= 1) SendClientMessage(i, color, string);
  1680.     }
  1681.     return 1;
  1682. }
  1683. CMDMessageToVip(playerid,command[])
  1684. {
  1685.     new string[128];
  1686.     GetPlayerName(playerid,string,sizeof(string));
  1687.     format(string,sizeof(string),"[VIP] '%s' (Level: %d) | Command: %s",string,pInfo[playerid][vip],command);
  1688.     return MessageToVip(blue,string);
  1689. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement