Guest User

Untitled

a guest
Jan 21st, 2018
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 25.70 KB | None | 0 0
  1. //==============================================================================
  2. //                 Vehicle Selection Menu v1.3 by [03]Garsino!
  3. //==============================================================================
  4. // - Credits to DracoBlue for dcmd.
  5. // - Credits to Zeex for ZCMD.
  6. //==============================================================================
  7. //                              Changelog v1.3
  8. //==============================================================================
  9. // - [Script] Rewrote script. It is now much shorter and uses structured switch() statements.
  10. // - [Fixed] Fixed a minor bug with destroying a player's currently spawned vehicle.
  11. // - [Script] Added configuration macros to the script. You can now easily toggle between ZCMD, DCMD and STRCMP.
  12. // - [Script] Re-scripted CreateVehicleEx.
  13. // - [Fixed] You can no longer spawn vehicles while being dead or in spectate mode.
  14. //==============================================================================
  15. #define FILTERSCRIPT
  16. #define VERSION             1.3
  17. //------------------------------------------------------------------------------
  18. #include <a_samp>
  19. #include <ZCMD>                 0 // command type: ZCMD (by Zeex - fastest command processor of these three).
  20. #define DCMD                1 // command type: DCMD (by DracoBlue).
  21. #define STRCMP              2 // command type: STRCMP (string comperisation)
  22. #define COMMAND_TYPE        ZCMD // What command processor should the script use? Available modes: ZCMD, DCMD and STRCMP (WARNING: case sensetive!)
  23. #define DIALOGID            1600 // The dialog ID the script uses. Change if you encounter any conflicts.
  24. #define ADMIN_ONLY          true // true = only RCON admins will be able to use the /carmenu command | false = everyone will be able to use the /carmenu command
  25. #define ADMIN_ONLY_VEHICLES true // true = only RCON admins will be able to use vehicles such as the hydra, hunter and seasparrow | false = all vehicles are available for everyone
  26. //------------------------------------------------------------------------------
  27. //                          EDIT BELOW AT OWN RISK!
  28. //------------------------------------------------------------------------------
  29. #define _ShowDialog(%0) ShowPlayerDialog(%0, DIALOGID, DIALOG_STYLE_LIST, "Vehicle Selection Menu v"#VERSION" by [03]Garsino", "Bikes\nCars 1 [A-E]\nCars 2 [F-P]\nCars 3 [P-S]\nCars 4 [S-Z]\nHelicopters\nPlanes\nBoats\nTrains\nTrailers\nRC Vehicles + Vortex", "Select", "Cancel")
  30. #if COMMAND_TYPE == ZCMD // Credits to Zeex for zcmd.
  31.     #include <zcmd>
  32. #endif
  33. #if COMMAND_TYPE == DCMD // Credits to DracoBlue for dcmd.
  34.     #define dcmd(%1,%2,%3) if (!strcmp((%3)[1], #%1, true, (%2)) && ((((%3)[(%2) + 1] == '\0') && (dcmd_%1(playerid, ""))) || (((%3)[(%2) + 1] == ' ') && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
  35. #endif
  36. //==============================================================================
  37. new cVeh[MAX_PLAYERS] = INVALID_VEHICLE_ID;
  38. //==============================================================================
  39. public OnFilterScriptInit()
  40. {
  41.     print("Vehicle Selection Menu v"#VERSION" by [03]Garsino has been loaded.");
  42.     return 1;
  43. }
  44. public OnFilterScriptExit()
  45. {
  46.     print("Vehicle Selection Menu v"#VERSION" by [03]Garsino has been unloaded.");
  47.     return 1;
  48. }
  49. public OnPlayerConnect(playerid)
  50. {
  51.     cVeh[playerid] = INVALID_VEHICLE_ID;
  52.     return 1;
  53. }
  54. public OnPlayerDisconnect(playerid, reason)
  55. {
  56.     VehicleDestroy(playerid);
  57.     return 1;
  58. }
  59. stock VehicleDestroy(playerid, bool:always_destroy = false)
  60. {
  61.     if(cVeh[playerid] == INVALID_VEHICLE_ID) return 0;
  62.     if(always_destroy == true)
  63.     {
  64.         DestroyVehicle(cVeh[playerid]);
  65.     }
  66.     else
  67.     {
  68.         if(!IsVehicleOccupied(cVeh[playerid]))
  69.         {
  70.             DestroyVehicle(cVeh[playerid]);
  71.         }
  72.         else return 0;
  73.     }
  74.     cVeh[playerid] = INVALID_VEHICLE_ID;
  75.     return 1;
  76. }
  77. #if COMMAND_TYPE == ZCMD
  78. CMD:cm(playerid, params[])
  79. {
  80.     #if ADMIN_ONLY == false
  81.         if(!IsPlayerAdmin(playerid)) return 0;
  82.     #endif
  83.     _ShowDialog(playerid);
  84.     return 1;
  85. }
  86. #endif
  87. #if COMMAND_TYPE == DCMD
  88. dcmd_cm(playerid, params[])
  89. {
  90.     #pragma unused params
  91.     #if ADMIN_ONLY == false
  92.         if(!IsPlayerAdmin(playerid)) return 0;
  93.     #endif
  94.     _ShowDialog(playerid);
  95.     return 1;
  96. }
  97. #endif
  98. #if COMMAND_TYPE != ZCMD
  99. public OnPlayerCommandText(playerid, cmdtext[])
  100. {
  101.     #if COMMAND_TYPE == DCMD
  102.     dcmd(carmenu, 7, cmdtext);
  103.     #else
  104.     if(!strcmp(cmdtext, "/cm"))
  105.     {
  106.         #if ADMIN_ONLY == true
  107.             if(!IsPlayerAdmin(playerid)) return 0;
  108.         #endif
  109.         _ShowDialog(playerid);
  110.     }
  111.     #endif
  112.     return 0;
  113. }
  114. #endif
  115. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  116. {
  117.     new cMenuString[408];
  118.     cMenuString = "";
  119. //==============================================================================
  120. //                                  Carmenu
  121. //==============================================================================
  122.     if(dialogid == DIALOGID && response)
  123.     {
  124.         switch(listitem)
  125.         {
  126.             case 0: ShowPlayerDialog(playerid, (DIALOGID + 1), DIALOG_STYLE_LIST, "Bikes", "BF-400\nBike\nBMX\nHPV1000\nFaggio\nFCR-900\nFreeway\nMountain Bike\nNRG-500\nPCJ-600\nPizzaboy\nSanchez\nWayfarer\nQuad\nBack", "Select", "Cancel");
  127.             case 1: // Cars [A-E]
  128.             {
  129.                 strcat(cMenuString, "Admiral\nAlpha\nAmbulance\nBaggage\nBandito\nBanshee\nBarracks\nBenson\nBerkley's RC Van\nBF Injection\nBlade\nBlista Compact\nBloodring Banger\nBobcat\nBoxville 1\nBoxville 2\nBravura\nBroadway\nBuccaneer\nBuffalo\nBullet\nBurrito\nBus\nCabbie\n");
  130.                 strcat(cMenuString, "Caddy\nCadrona\nCamper\nCement Truck\nCheetah\nClover\nClub\nCoach\nCombine Harvester\nComet\nDFT-30\nDozer\nDumper\nDune(ride)\nElegant\nElegy\nEmperor\nEsperanto\nEuros\nBack");
  131.                 ShowPlayerDialog(playerid, (DIALOGID + 2), DIALOG_STYLE_LIST, "Cars 1 [A-E]", cMenuString, "Select", "Cancel");
  132.             }
  133.             case 2: // Cars 2 [F-P]
  134.             {
  135.                 strcat(cMenuString, "FBI Rancher\nFBI Truck\nFeltzer\nFiretruck 1\nFiretruck 2\nFlash\nFlatbed\nForklift\nFortune\nGlendale 1\nGlendale 2\nGreenwood\nHermes\nHotdog\nHotknife\nHotring Racer 1\nHotring Racer 2\nHotring Racer 3\nHuntley\nHustler\nInfernus\nIntruder\nJester\nJourney\nKart\nLandstalker\nLinerunner\nMajestic\nManana\nMerit\nMesa\nMonster\nMonster A\nMonster B\nMoonbeam\nMower\nMr Whoopee\nMule\nNebula\n");
  136.                 strcat(cMenuString, "Newsvan\nOceanic\nPacker\nBack");
  137.                 ShowPlayerDialog(playerid, (DIALOGID + 3), DIALOG_STYLE_LIST, "Cars 2 [F-P]", cMenuString, "Select", "Cancel");
  138.             }
  139.             case 3:
  140.             {
  141.                 strcat(cMenuString, "Patriot\nPerenniel\nPetrol Tanker\nPhoenix\nPicador\nPolice Car (LSPD)\nPolice Car (SFPD)\nPolice Car (LVPD)\nPolice Ranger\nPolice Truck (Enforcer)\nPolice Truck (SWAT)\nPony\nPremier\nPrevion\nPrimo\nRancher\nRegina\nRemington\n");
  142.                 strcat(cMenuString, "Rhino\nRoadtrain\nRomero\nRumpo\nSabre\nSadler 1\nSadler 2\nSandking\nSavanna\nSecuricar\nSentinel\nSlamvan\nSolair\nStafford\nStallion\nStratum\nStretch\nSultan\nSunrise\nBack");
  143.                 ShowPlayerDialog(playerid, (DIALOGID + 4), DIALOG_STYLE_LIST, "Cars 3 [P-S]", cMenuString, "Select", "Cancel");
  144.             }
  145.             case 4: ShowPlayerDialog(playerid, (DIALOGID + 5), DIALOG_STYLE_LIST, "Cars 4 [S-Z]", "Super GT\nSweeper\nTahoma\nTampa\nTaxi\nTornado\nTowtruck\nTractor\nTrashmaster\nTug\nTurismo\nUranus\nUtility Van\nVincent\nVirgo\nVoodoo\nWalton\nWashington\nWilliard\nWindsor\nYankee\nYosemite\nZR-350\nBack", "Select", "Cancel");
  146.             case 5: ShowPlayerDialog(playerid, (DIALOGID + 6), DIALOG_STYLE_LIST, "Helicopters", "Cargobob\nHunter\nLeviathan\nMaverick\nPolice Maverick\nNews Chopper\nRaindance\nSparrow\nSea Sparrow\nBack", "Select", "Cancel");
  147.             case 6: ShowPlayerDialog(playerid, (DIALOGID + 7), DIALOG_STYLE_LIST, "Planes", "Andromada\nAT-400\nBeagle\nCropduster\nDodo\nHydra\nNevada\nRustler\nShamal\nSkimmer\nStuntplane\nBack", "Select", "Cancel");
  148.             case 7: ShowPlayerDialog(playerid, (DIALOGID + 8), DIALOG_STYLE_LIST, "Boats", "Coastguard\nDinghy\nJetmax\nLaunch\nMarquis\nPredator\nReefer\nSpeeder\nSquallo\nTropic\nBack", "Select", "Cancel");
  149.             case 8: ShowPlayerDialog(playerid, (DIALOGID + 9), DIALOG_STYLE_LIST, "Trains", "Brown Streak\nFreight Box Trailer\nFreight Flat Trailer\nFreight\nStreak Trailer\nTram\nBack", "Select", "Cancel");
  150.             case 9: ShowPlayerDialog(playerid, (DIALOGID + 10), DIALOG_STYLE_LIST, "Trailers", "Article Trailer 1\nArticle Trailer 2\nArticle Trailer 3\nBaggage Trailer (A)\nBaggage Trailer (B)\nFarm Trailer\nPetrol Trailer\nTug Stairs Trailer\nUtility Trailer\nBack", "Select", "Cancel");
  151.             case 10: ShowPlayerDialog(playerid, (DIALOGID + 11), DIALOG_STYLE_LIST, "RC Vehicles + Vortex", "RC Bandit\nRC Cam\nRC Tiger\nRC Baron\nRC Goblin\nRC Raider\nVortex\nBack", "Select", "Cancel");
  152.         }
  153.         return 1;
  154.     }
  155. //==============================================================================
  156. //                                   Bikes
  157. //==============================================================================
  158.     if(dialogid == (DIALOGID + 1) && response) // Bikes
  159.     {
  160.         switch(listitem)
  161.         {
  162.             case 0: CreateVehicleEx(playerid, 581); // BF-400
  163.             case 1: CreateVehicleEx(playerid, 509); // Bike
  164.             case 2: CreateVehicleEx(playerid, 481);//  BMX
  165.             case 3: CreateVehicleEx(playerid, 523); //  HPV1000
  166.             case 4: CreateVehicleEx(playerid, 462); //  Faggio
  167.             case 5: CreateVehicleEx(playerid, 521); // FCR-900
  168.             case 6: CreateVehicleEx(playerid, 463); // Freeway
  169.             case 7: CreateVehicleEx(playerid, 510); // Mountain Bike
  170.             case 8: CreateVehicleEx(playerid, 522); // NRG-500
  171.             case 9: CreateVehicleEx(playerid, 461); // PCJ-600
  172.             case 10: CreateVehicleEx(playerid, 448); // Pizzaboy
  173.             case 11: CreateVehicleEx(playerid, 468); // Sanchez
  174.             case 12: CreateVehicleEx(playerid, 586); // Wayfarer
  175.             case 13: CreateVehicleEx(playerid, 471); // Quad
  176.             case 14: _ShowDialog(playerid);
  177.         }
  178.         return 1;
  179.     }
  180. //==============================================================================
  181. //                                   Cars 1
  182. //==============================================================================
  183.     if(dialogid == (DIALOGID + 2) && response) // Cars 1
  184.     {
  185.         switch(listitem)
  186.         {
  187.             case 0: CreateVehicleEx(playerid, 445); // Admiral
  188.             case 1: CreateVehicleEx(playerid, 602); // Alpha
  189.             case 2: CreateVehicleEx(playerid, 416); // Ambulance
  190.             case 3: CreateVehicleEx(playerid, 485); // Baggage
  191.             case 4: CreateVehicleEx(playerid, 568); // Bandito
  192.             case 5: CreateVehicleEx(playerid, 429); // Banshee
  193.             case 6: CreateVehicleEx(playerid, 433); // Barracks
  194.             case 7: CreateVehicleEx(playerid, 499); // Benson
  195.             case 8: CreateVehicleEx(playerid, 459); // Berkley's RC Van
  196.             case 9: CreateVehicleEx(playerid, 424);  //BF Injection
  197.             case 10: CreateVehicleEx(playerid, 536); // Blade
  198.             case 11: CreateVehicleEx(playerid, 496); // Blista Compact
  199.             case 12: CreateVehicleEx(playerid, 504); // Bloodring Banger
  200.             case 13: CreateVehicleEx(playerid, 422); // Bobcat
  201.             case 14: CreateVehicleEx(playerid, 609); // Boxville 1
  202.             case 15: CreateVehicleEx(playerid, 498); // Boxville 2
  203.             case 16: CreateVehicleEx(playerid, 401); // Bravura
  204.             case 17: CreateVehicleEx(playerid, 575); // Broadway
  205.             case 18: CreateVehicleEx(playerid, 518); // Buccaneer
  206.             case 19: CreateVehicleEx(playerid, 402); // Buffalo
  207.             case 20: CreateVehicleEx(playerid, 541);  // Bullet
  208.             case 21: CreateVehicleEx(playerid, 482);  // Burrito
  209.             case 22: CreateVehicleEx(playerid, 431); // Bus
  210.             case 23: CreateVehicleEx(playerid, 438); // Cabbie
  211.             case 24: CreateVehicleEx(playerid, 457); // Caddy
  212.             case 25: CreateVehicleEx(playerid, 527); // Cadrona
  213.             case 26: CreateVehicleEx(playerid, 483); // Camper
  214.             case 27: CreateVehicleEx(playerid, 524); // Cement Truck
  215.             case 28: CreateVehicleEx(playerid, 415); // Cheetah
  216.             case 29: CreateVehicleEx(playerid, 542); // Clover
  217.             case 30: CreateVehicleEx(playerid, 589); // Club
  218.             case 31: CreateVehicleEx(playerid, 437); // Coach
  219.             case 32: CreateVehicleEx(playerid, 532); // Combine Harvester
  220.             case 33: CreateVehicleEx(playerid, 480); // Comet
  221.             case 34: CreateVehicleEx(playerid, 578); // DFT-30
  222.             case 35: CreateVehicleEx(playerid, 486); // Dozer
  223.             case 36: CreateVehicleEx(playerid, 406); // Dumper
  224.             case 37: CreateVehicleEx(playerid, 573); // Dune(ride)
  225.             case 38: CreateVehicleEx(playerid, 507); // Elegant
  226.             case 39: CreateVehicleEx(playerid, 562); // Elegy
  227.             case 40: CreateVehicleEx(playerid, 585); // Emperor
  228.             case 41: CreateVehicleEx(playerid, 419); // Esperanto
  229.             case 42: CreateVehicleEx(playerid, 587); // Euros
  230.             case 43: _ShowDialog(playerid);
  231.         }
  232.         return 1;
  233.     }
  234.  
  235. //==============================================================================
  236. //                                   Cars 2
  237. //==============================================================================
  238.     if(dialogid == (DIALOGID + 3) && response) // Cars 2
  239.     {
  240.         switch(listitem)
  241.         {
  242.             case 0: CreateVehicleEx(playerid, 490); // FBI Rancher
  243.             case 1: CreateVehicleEx(playerid, 528); // FBI Truck
  244.             case 2: CreateVehicleEx(playerid, 533); // Feltzer
  245.             case 3: CreateVehicleEx(playerid, 544); // Firetruck 1
  246.             case 4: CreateVehicleEx(playerid, 407); // Firetruck 2
  247.             case 5: CreateVehicleEx(playerid, 565); // Flash
  248.             case 6: CreateVehicleEx(playerid, 455); // Flatbed
  249.             case 7: CreateVehicleEx(playerid, 530); // Forklift
  250.             case 8: CreateVehicleEx(playerid, 526); // Fortune
  251.             case 9: CreateVehicleEx(playerid, 466); // Glendale 1
  252.             case 10: CreateVehicleEx(playerid, 604); // Glendale 2
  253.             case 11: CreateVehicleEx(playerid, 492); // Greenwood
  254.             case 12: CreateVehicleEx(playerid, 474); // Hermes
  255.             case 13: CreateVehicleEx(playerid, 588); // Hotdog
  256.             case 14: CreateVehicleEx(playerid, 434); // Hotknife
  257.             case 15: CreateVehicleEx(playerid, 502); // Hotring Racer 1
  258.             case 16: CreateVehicleEx(playerid, 503); // Hotring Racer 2
  259.             case 17: CreateVehicleEx(playerid, 494); // Hotring Racer 3
  260.             case 18: CreateVehicleEx(playerid, 579); // Huntley
  261.             case 19: CreateVehicleEx(playerid, 545); // Hustler
  262.             case 20: CreateVehicleEx(playerid, 411); // Infernus
  263.             case 21: CreateVehicleEx(playerid, 546); // Intruder
  264.             case 22: CreateVehicleEx(playerid, 559); // Jester
  265.             case 23: CreateVehicleEx(playerid, 508); // Journey
  266.             case 24: CreateVehicleEx(playerid, 571); // Kart
  267.             case 25: CreateVehicleEx(playerid, 400); // Landstalker
  268.             case 26: CreateVehicleEx(playerid, 403); // Linerunner
  269.             case 27: CreateVehicleEx(playerid, 517); // Majestic
  270.             case 28: CreateVehicleEx(playerid, 410); // Manana
  271.             case 29: CreateVehicleEx(playerid, 551); // Merit
  272.             case 30: CreateVehicleEx(playerid, 500); // Mesa
  273.             case 31: CreateVehicleEx(playerid, 444); // Monster
  274.             case 32: CreateVehicleEx(playerid, 556); // Monster A
  275.             case 33: CreateVehicleEx(playerid, 557); // Monster B
  276.             case 34: CreateVehicleEx(playerid, 418); // Moonbeam
  277.             case 35: CreateVehicleEx(playerid, 572); // Mower
  278.             case 36: CreateVehicleEx(playerid, 423); // Mr Whoopee
  279.             case 37: CreateVehicleEx(playerid, 414); // Mule
  280.             case 38: CreateVehicleEx(playerid, 516); // Nebula
  281.             case 39: CreateVehicleEx(playerid, 582); // Newsvan
  282.             case 40: CreateVehicleEx(playerid, 467); // Oceanic
  283.             case 41: CreateVehicleEx(playerid, 443); // Packer
  284.             case 42: _ShowDialog(playerid);
  285.  
  286.         }
  287.         return 1;
  288.     }
  289.  
  290. //==============================================================================
  291. //                                      Cars 3
  292. //==============================================================================
  293.     if(dialogid == (DIALOGID + 4) && response) // Cars 3
  294.     {
  295.         switch(listitem)
  296.         {
  297.             case 0: CreateVehicleEx(playerid, 470); // Patriot
  298.             case 1: CreateVehicleEx(playerid, 404); // Perenniel
  299.             case 2: CreateVehicleEx(playerid, 514); // Petrol Tanker
  300.             case 3: CreateVehicleEx(playerid, 603); // Phoenix
  301.             case 4: CreateVehicleEx(playerid, 600); // Picador
  302.             case 5: CreateVehicleEx(playerid, 596); // Police Car LSPD
  303.             case 6: CreateVehicleEx(playerid, 597); // Police Car SFPD
  304.             case 7: CreateVehicleEx(playerid, 598); // Police Car LVPD
  305.             case 8: CreateVehicleEx(playerid, 599); // Police Ranger
  306.             case 9: CreateVehicleEx(playerid, 427); // Police Truck (Enforcer)
  307.             case 10: CreateVehicleEx(playerid, 601); // Police Truck (SWAT)
  308.             case 11: CreateVehicleEx(playerid, 413); // Pony
  309.             case 12: CreateVehicleEx(playerid, 426); // Premier
  310.             case 13: CreateVehicleEx(playerid, 436); // Previon
  311.             case 14: CreateVehicleEx(playerid, 547); // Primo
  312.             case 15: CreateVehicleEx(playerid, 489); // Rancher
  313.             case 16: CreateVehicleEx(playerid, 479); // Regina
  314.             case 17: CreateVehicleEx(playerid, 534); // Remington
  315.             case 18: CreateVehicleEx(playerid, 432); // Rhino
  316.             case 19: CreateVehicleEx(playerid, 515); // Roadtrain
  317.             case 20: CreateVehicleEx(playerid, 442); // Romero
  318.             case 21: CreateVehicleEx(playerid, 440); // Rumpo
  319.             case 22: CreateVehicleEx(playerid, 475); // Sabre
  320.             case 23: CreateVehicleEx(playerid, 543); // Sadler 1
  321.             case 24: CreateVehicleEx(playerid, 605); // Sadler 2
  322.             case 25: CreateVehicleEx(playerid, 495); // Sandking
  323.             case 26: CreateVehicleEx(playerid, 567); // Savanna
  324.             case 27: CreateVehicleEx(playerid, 428); // Securicar
  325.             case 28: CreateVehicleEx(playerid, 405); // Sentinel
  326.             case 29: CreateVehicleEx(playerid, 535); // Slamvan
  327.             case 30: CreateVehicleEx(playerid, 458); // Solair
  328.             case 31: CreateVehicleEx(playerid, 580); // Stafford
  329.             case 32: CreateVehicleEx(playerid, 439); // Stallion
  330.             case 33: CreateVehicleEx(playerid, 561); // Stratum
  331.             case 34: CreateVehicleEx(playerid, 409); // Stretch
  332.             case 35: CreateVehicleEx(playerid, 560);// Sultan
  333.             case 36: CreateVehicleEx(playerid, 550); // Sunrise
  334.             case 37: _ShowDialog(playerid);
  335.         }
  336.         return 1;
  337.     }
  338.  
  339. //==============================================================================
  340. //                                   Cars 4
  341. //==============================================================================
  342.     if(dialogid == (DIALOGID + 5) && response) // Cars 4
  343.     {
  344.         switch(listitem)
  345.         {
  346.             case 0: CreateVehicleEx(playerid, 506); // Super GT
  347.             case 1: CreateVehicleEx(playerid, 574); // Sweeper
  348.             case 2: CreateVehicleEx(playerid, 566); // Tahoma
  349.             case 3: CreateVehicleEx(playerid, 549); // Tampa
  350.             case 4: CreateVehicleEx(playerid, 420); // Taxi
  351.             case 5: CreateVehicleEx(playerid, 576); // Tornado
  352.             case 6: CreateVehicleEx(playerid, 525); // Towtruck
  353.             case 7: CreateVehicleEx(playerid, 531); // Tractor
  354.             case 8: CreateVehicleEx(playerid, 408); // Trashmaster
  355.             case 9: CreateVehicleEx(playerid, 583); // Tug
  356.             case 10: CreateVehicleEx(playerid, 451); // Turismo
  357.             case 11: CreateVehicleEx(playerid, 558); // Uranus
  358.             case 12: CreateVehicleEx(playerid, 552); // Utility Van
  359.             case 13: CreateVehicleEx(playerid, 540); // Vincent
  360.             case 14: CreateVehicleEx(playerid, 491); // Virgo
  361.             case 15: CreateVehicleEx(playerid, 412); // Voodoo
  362.             case 16: CreateVehicleEx(playerid, 478); // Walton
  363.             case 17: CreateVehicleEx(playerid, 421); // Washington
  364.             case 18: CreateVehicleEx(playerid, 529); // Williard
  365.             case 19: CreateVehicleEx(playerid, 555); // Windsor
  366.             case 20: CreateVehicleEx(playerid, 456); // Yankee
  367.             case 21: CreateVehicleEx(playerid, 554); // Yosemite
  368.             case 22: CreateVehicleEx(playerid, 477); // ZR-350
  369.             case 23: _ShowDialog(playerid);
  370.         }
  371.         return 1;
  372.     }
  373. //==============================================================================
  374. //                                   Helicopters
  375. //==============================================================================
  376.     if(dialogid == (DIALOGID + 6) && response) // Helicopters
  377.     {
  378.         switch(listitem)
  379.         {
  380.             case 0: CreateVehicleEx(playerid, 548); // Cargobob
  381.             case 1: CreateVehicleEx(playerid, 425); // Hunter
  382.             case 2: CreateVehicleEx(playerid, 417); // Leviathan
  383.             case 3: CreateVehicleEx(playerid, 487); // Maverick
  384.             case 4: CreateVehicleEx(playerid, 497); // Police Maverick
  385.             case 5: CreateVehicleEx(playerid, 488); // News Chopper
  386.             case 6: CreateVehicleEx(playerid, 563); // Raindance
  387.             case 7: CreateVehicleEx(playerid, 469); // Sparrow
  388.             case 8: CreateVehicleEx(playerid, 447); // Sea Sparrow
  389.             case 9:  _ShowDialog(playerid);
  390.         }
  391.         return 1;
  392.     }
  393. //==============================================================================
  394. //                                  Planes
  395. //==============================================================================
  396.     if(dialogid == (DIALOGID + 7) && response) // Planes
  397.     {
  398.         switch(listitem)
  399.         {
  400.             case 0: CreateVehicleEx(playerid, 592); // Andromada
  401.             case 1: CreateVehicleEx(playerid, 577); // At-400
  402.             case 2: CreateVehicleEx(playerid, 511); // Beagle
  403.             case 3: CreateVehicleEx(playerid, 512); // Cropduster
  404.             case 4: CreateVehicleEx(playerid, 593); // Dodo
  405.             case 5: CreateVehicleEx(playerid, 520); // Hydra
  406.             case 6: CreateVehicleEx(playerid, 553); // Nevada
  407.             case 7: CreateVehicleEx(playerid, 476); // Rustler
  408.             case 8: CreateVehicleEx(playerid, 519); // Shamal
  409.             case 9: CreateVehicleEx(playerid, 460); // Skimmer
  410.             case 10: CreateVehicleEx(playerid, 513); // Stuntplane
  411.             case 11: _ShowDialog(playerid);
  412.         }
  413.         return 1;
  414.     }
  415. //==============================================================================
  416. //                                  Boats
  417. //==============================================================================
  418.     if(dialogid == (DIALOGID + 8) && response) // Boats
  419.     {
  420.         switch(listitem)
  421.         {
  422.             case 0: CreateVehicleEx(playerid, 472); // Coastguard
  423.             case 1: CreateVehicleEx(playerid, 473); // Dinghy
  424.             case 2: CreateVehicleEx(playerid, 493); // Jetmax
  425.             case 3: CreateVehicleEx(playerid, 595); // Launch
  426.             case 4: CreateVehicleEx(playerid, 484); // Marquis
  427.             case 5: CreateVehicleEx(playerid, 430); // Predator
  428.             case 6: CreateVehicleEx(playerid, 453); // Reefer
  429.             case 7: CreateVehicleEx(playerid, 452); // Speeder
  430.             case 8: CreateVehicleEx(playerid, 446); // Squallo
  431.             case 9: CreateVehicleEx(playerid, 454); // Tropic
  432.             case 10: _ShowDialog(playerid);
  433.         }
  434.         return 1;
  435.     }
  436. //==============================================================================
  437. //                                   Trains
  438. //==============================================================================
  439.     if(dialogid == (DIALOGID + 9) && response) // Trains
  440.     {
  441.         switch(listitem)
  442.         {
  443.             case 0: CreateVehicleEx(playerid, 537); // Brown Streak
  444.             case 1: CreateVehicleEx(playerid, 590); // Freight Box Trailer
  445.             case 2: CreateVehicleEx(playerid, 569); // Freight Flat Trailer
  446.             case 3: CreateVehicleEx(playerid, 538); // Freight
  447.             case 4: CreateVehicleEx(playerid, 570); // Streak Trailer
  448.             case 5: CreateVehicleEx(playerid, 449); // Tram
  449.             case 6: _ShowDialog(playerid);
  450.         }
  451.         return 1;
  452.     }
  453. //==============================================================================
  454. //                                   Trailers
  455. //==============================================================================
  456.     if(dialogid == (DIALOGID + 10) && response) // Trailers
  457.     {
  458.         switch(listitem)
  459.         {
  460.             case 0: CreateVehicleEx(playerid, 435); // Article Trailer 1
  461.             case 1: CreateVehicleEx(playerid, 450); // Article Trailer 2
  462.             case 2: CreateVehicleEx(playerid, 591); // Article Trailer 3
  463.             case 3: CreateVehicleEx(playerid, 606); // Baggage Trailer (A)
  464.             case 4: CreateVehicleEx(playerid, 607); // Baggage Trailer (B)
  465.             case 5: CreateVehicleEx(playerid, 610); // Farm Trailer
  466.             case 6: CreateVehicleEx(playerid, 584); // Petrol Trailer
  467.             case 7: CreateVehicleEx(playerid, 608); // Tug Stairs Trailer
  468.             case 8: CreateVehicleEx(playerid, 611); // Utility Trailer
  469.             case 9: _ShowDialog(playerid);
  470.         }
  471.         return 1;
  472.     }
  473. //==============================================================================
  474. //                          RC Vehicles + Vortex
  475. //==============================================================================
  476.     if(dialogid == (DIALOGID + 11) && response) // RC Vehicles + Vortex
  477.     {
  478.         switch(listitem)
  479.         {
  480.             case 0: CreateVehicleEx(playerid, 441); // RC Bandit
  481.             case 1: CreateVehicleEx(playerid, 594); // RC Cam
  482.             case 2: CreateVehicleEx(playerid, 564); // RC Tiger
  483.             case 3: CreateVehicleEx(playerid, 464); // RC Baron
  484.             case 4: CreateVehicleEx(playerid, 501); // RC Goblin
  485.             case 5: CreateVehicleEx(playerid, 465); // RC Raider
  486.             case 6: CreateVehicleEx(playerid, 539); // Vortex
  487.             case 7: _ShowDialog(playerid);
  488.         }
  489.         return 1;
  490.     }
  491.     return 0;
  492. }
  493. //==============================================================================
  494. stock IsVehicleOccupied(vehicleid)
  495. {
  496.     for(new i; i < MAX_PLAYERS; i++)
  497.     {
  498.         if(IsPlayerInVehicle(i, vehicleid)) return 1;
  499.     }
  500.     return 0;
  501. }
  502. //==============================================================================
  503. stock CreateVehicleEx(playerid, modelid)
  504. {
  505.     new pState = GetPlayerState(playerid);
  506.     if(pState != PLAYER_STATE_DRIVER && pState != PLAYER_STATE_ONFOOT) return 0;
  507.     #if ADMIN_ONLY_VEHICLES == true
  508.     switch(modelid)
  509.     {
  510.         case 464, 449, 570, 537, 538, 569, 590, 430, 220, 476, 577, 592, 447, 425, 432:
  511.         {
  512.             if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFFFFFFFF, "Only RCON admins may spawn this vehicle.");
  513.         }
  514.     }
  515.     #endif
  516.     new world = GetPlayerVirtualWorld(playerid), interior = GetPlayerInterior(playerid), Float:Pos[4], Float:Velocity[3], vehicleid = GetPlayerVehicleID(playerid);
  517.     GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]), GetPlayerFacingAngle(playerid, Pos[3]);
  518.     VehicleDestroy(playerid);
  519.     if(vehicleid != 0)
  520.     {
  521.         GetVehicleVelocity(vehicleid, Velocity[0], Velocity[1], Velocity[2]);
  522.         DestroyVehicle(vehicleid);
  523.     }
  524.     cVeh[playerid] = CreateVehicle(modelid, Pos[0], Pos[1], Pos[2], Pos[3], -1, -1, -1);
  525.     LinkVehicleToInterior(cVeh[playerid], interior), SetVehicleVirtualWorld(cVeh[playerid], world), SetVehiclePos(cVeh[playerid], Pos[0], Pos[1], (Pos[2] + 1.5));
  526.     SetVehicleZAngle(cVeh[playerid], Pos[3]), PutPlayerInVehicle(playerid, cVeh[playerid], 0), SetVehicleVelocity(cVeh[playerid], Velocity[0], Velocity[1], Velocity[2]);
  527.     return 1;
  528. }
  529. //==============================================================================
Add Comment
Please, Sign In to add comment