Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local garages = {
- { ['x'] = -333.6833, ['y'] = -739.7866, ['z'] = 33.9657 }, -- Mutli Story
- { ['x'] = 46.4554, ['y'] = 6458.1826, ['z'] = 31.4252 }, -- Paleto Bay
- { ['x'] = 644.9803, ['y'] = 2792.7102, ['z'] = 41.9462 }, -- Route68
- }
- local menu = {
- {
- name = "Bicycles",
- vehicles = {
- {
- name = "BMX",
- price = 1000,
- model = "bmx",
- },
- {
- name = "Cruiser",
- price = 1000,
- model = "crusier",
- },
- {
- name = "Scorcher",
- price = 2000,
- model = "scorcher",
- },
- {
- name = "Race Bike Green",
- price = 5000,
- model = "tribike",
- },
- {
- name = "Race Bike Red",
- price = 5000,
- model = "tribike2",
- },
- {
- name = "Race Bike Blue",
- price = 5000,
- model = "tribike3",
- }
- }
- },
- {
- name = "Motorcycles",
- vehicles = {
- {
- name = "Faggio",
- price = 4000,
- model = "faggio",
- },
- {
- name = "Faggio Classic",
- price = 4500,
- model = "faggio2",
- },
- {
- name = "Bagger",
- price = 5000,
- model = "bagger",
- },
- {
- name = "Daemon",
- price = 5000,
- model = "daemon",
- },
- {
- name = "Sanchez",
- price = 7000,
- model = "sanchez",
- },
- {
- name = "Blazer",
- price = 8000,
- model = "blazer",
- },
- {
- name = "Akuma",
- price = 9000,
- model = "AKUMA",
- },
- {
- name = "Vader",
- price = 9000,
- model = "vader",
- },
- {
- name = "PCJ-600",
- price = 9000,
- model = "pcj",
- },
- {
- name = "Ruffian",
- price = 9000,
- model = "ruffian",
- },
- {
- name = "Nemesis",
- price = 12000,
- model = "nemesis",
- },
- {
- name = "Double T",
- price = 12000,
- model = "double",
- },
- {
- name = "Bati 801",
- price = 15000,
- model = "bati",
- },
- {
- name = "Bati 801RR",
- price = 15000,
- model = "bati2",
- },
- {
- name = "Hexer",
- price = 15000,
- model = "hexer",
- },
- {
- name = "HotRod Blazer",
- price = 20000,
- model = "blazer3",
- },
- {
- name = "Carbon RS",
- price = 40000,
- model = "carbonrs",
- },
- {
- name = "Enduro",
- price = 48000,
- model = "enduro",
- },
- {
- name = "Thrust",
- price = 75000,
- model = "thrust",
- },
- {
- name = "Hakuchou",
- price = 82000,
- model = "hakuchou",
- },
- {
- name = "Innovation",
- price = 90000,
- model = "innovation",
- },
- {
- name = "Sovereign",
- price = 90000,
- model = "sovereign",
- },
- {
- name = "BF400",
- price = 95000,
- model = "bf400",
- },
- {
- name = "Gargoyle",
- price = 120000,
- model = "gargoyle",
- },
- {
- name = "Cliffhanger",
- price = 225000,
- model = "cliffhanger",
- },
- {
- name = "Vindicator",
- price = 600000,
- model = "vindicator",
- },
- {
- name = "Lectro",
- price = 700000,
- model = "lectro",
- }
- }
- },
- {
- name = "Compacts",
- vehicles = {
- {
- name = "Blista",
- price = 15000,
- model = "blista",
- },
- {
- name = "Issi",
- price = 18000,
- model = "issi2",
- },
- {
- name = "Dilettante",
- price = 25000,
- model = "dilettante",
- },
- {
- name = "Asea",
- price = 25000,
- model = "asea",
- },
- {
- name = "Asterope",
- price = 30000,
- model = "asterope",
- },
- {
- name = "Prairie",
- price = 30000,
- model = "prairie",
- },
- {
- name = "Panto",
- price = 85000,
- model = "panto",
- },
- {
- name = "Rhapsody",
- price = 120000,
- model = "rhapsody",
- },
- {
- name = "Brioso",
- price = 155000,
- model = "brioso",
- }
- }
- },
- {
- name = "Sedans",
- vehicles = {
- {
- name = "Regina",
- price = 8000,
- model = "regina",
- },
- {
- name = "Ingot",
- price = 9000,
- model = "ingot",
- },
- {
- name = "Primo",
- price = 9000,
- model = "primo",
- },
- {
- name = "Primo Custom",
- price = 9500,
- model = "primo2",
- },
- {
- name = "Premier",
- price = 10000,
- model = "premier",
- },
- {
- name = "Stanier",
- price = 10000,
- model = "stanier",
- },
- {
- name = "Stratum",
- price = 10000,
- model = "stratum",
- },
- {
- name = "Washington",
- price = 15000,
- model = "washington",
- },
- {
- name = "Intruder",
- price = 16000,
- model = "intruder",
- },
- {
- name = "Surge",
- price = 38000,
- model = "surge",
- },
- {
- name = "Tailgater",
- price = 55000,
- model = "tailgater",
- },
- {
- name = "Schafter",
- price = 65000,
- model = "schafter2",
- },
- {
- name = "Warrener",
- price = 120000,
- model = "warrener",
- },
- {
- name = "Blade",
- price = 160000,
- model = "blade",
- },
- {
- name = "Glendale",
- price = 200000,
- model = "glendale",
- },
- {
- name = "Fugitive",
- price = 240000,
- model = "fugitive",
- }
- }
- },
- {
- name = "Coupes",
- vehicles = {
- {
- name = "Jackal",
- price = 60000,
- model = "jackal",
- },
- {
- name = "Zion",
- price = 60000,
- model = "zion",
- },
- {
- name = "Zion Cabrio",
- price = 65000,
- model = "zion2",
- },
- {
- name = "F620",
- price = 80000,
- model = "f620",
- },
- {
- name = "Oracle",
- price = 80000,
- model = "oracle",
- },
- {
- name = "Oracle XS",
- price = 82000,
- model = "oracle2",
- },
- {
- name = "Felon",
- price = 90000,
- model = "felon",
- },
- {
- name = "Sentinel",
- price = 90000,
- model = "sentinel",
- },
- {
- name = "Sentinel XS",
- price = 92000,
- model = "sentinel2",
- },
- {
- name = "Felon GT",
- price = 95000,
- model = "felon2",
- },
- {
- name = "Cognoscenti Cabrio",
- price = 180000,
- model = "cogcabrio",
- },
- {
- name = "Exemplar",
- price = 200000,
- model = "exemplar",
- }
- }
- },
- {
- name = "Muscle",
- vehicles = {
- {
- name = "Picador",
- price = 9000,
- model = "picador",
- },
- --{
- --name = "Sabre Turbo", -- NOT WORKING
- --price = 15000,
- --model = "sabregt",
- --},
- {
- name = "Vigero",
- price = 21000,
- model = "vigero",
- },
- {
- name = "Stallion",
- price = 25000,
- model = "stalion",
- },
- {
- name = "Buccaneer",
- price = 29000,
- model = "buccaneer",
- },
- {
- name = "Gauntlet",
- price = 32000,
- model = "gauntlet",
- },
- {
- name = "Buffalo",
- price = 35000,
- model = "buffalo",
- },
- {
- name = "Dominator",
- price = 35000,
- model = "dominator",
- },
- {
- name = "Faction",
- price = 36000,
- model = "faction",
- },
- {
- name = "BurgerShot Stallion",
- price = 40000,
- model = "stalion2",
- },
- {
- name = "Redwood Gauntlet",
- price = 40000,
- model = "gauntlet2",
- },
- {
- name = "Pisswasser Dominator",
- price = 40000,
- model = "dominator2",
- },
- {
- name = "Sprunk Buffalo",
- price = 40000,
- model = "buffalo3",
- },
- {
- name = "Dukes",
- price = 62000,
- model = "dukes",
- },
- {
- name = "Duke o'Death",
- price = 85000,
- model = "dukes2",
- },
- {
- name = "Hotknife",
- price = 90000,
- model = "hotknife",
- },
- {
- name = "Buffalo S",
- price = 96000,
- model = "buffalo2",
- },
- {
- name = "Virgo",
- price = 195000,
- model = "virgo",
- },
- {
- name = "Chino",
- price = 225000,
- model = "chino",
- },
- {
- name = "Tampa",
- price = 375000,
- model = "tampa",
- },
- {
- name = "Nightshade",
- price = 585000,
- model = "nightshade",
- }
- }
- },
- {
- name = "Vans",
- vehicles = {
- {
- name = "Surfer",
- price = 11000,
- model = "surfer",
- },
- {
- name = "Rumpo",
- price = 13000,
- model = "rumpo",
- },
- {
- name = "Journey",
- price = 15000,
- model = "journey",
- },
- {
- name = "Youga",
- price = 16000,
- model = "youga",
- },
- {
- name = "Bobcat XL",
- price = 23000,
- model = "bobcatxl",
- },
- {
- name = "Paradise",
- price = 25000,
- model = "paradise",
- },
- {
- name = "Minivan",
- price = 30000,
- model = "minivan",
- },
- {
- name = "Seminole",
- price = 30000,
- model = "seminole",
- },
- {
- name = "Bison",
- price = 30000,
- model = "bison",
- },
- {
- name = "Gang Slam Van",
- price = 35000,
- model = "slamvan2",
- },
- {
- name = "Gang Burrito",
- price = 65000,
- model = "gburrito",
- }
- }
- },
- {
- name = "Off-Road",
- vehicles = {
- {
- name = "Blazer",
- price = 8000,
- model = "blazer",
- },
- {
- name = "Dune Buggy",
- price = 20000,
- model = "dune",
- },
- {
- name = "Rebel",
- price = 22000,
- model = "rebel2",
- },
- {
- name = "Sandking",
- price = 38000,
- model = "sandking",
- },
- {
- name = "Bifta",
- price = 75000,
- model = "bifta",
- },
- {
- name = "Bubsta 6x6",
- price = 249000,
- model = "dubsta3",
- },
- {
- name = "Contender",
- price = 400000,
- model = "contender",
- },
- {
- name = "Guardian",
- price = 450000,
- model = "guardian",
- },
- {
- name = "Brawler",
- price = 715000,
- model = "brawler",
- },
- {
- name = "Marshall",
- price = 500000,
- model = "marshall",
- },
- {
- name = "The Liberator",
- price = 550000,
- model = "monster",
- },
- {
- name = "Trophy Truck",
- price = 550000,
- model = "trophytruck",
- }
- }
- },
- {
- name = "SUV",
- vehicles = {
- {
- name = "Radius",
- price = 32000,
- model = "radi",
- },
- {
- name = "Landstalker",
- price = 35000,
- model = "landstalker",
- },
- {
- name = "Granger",
- price = 50000,
- model = "granger",
- },
- {
- name = "Cavalcade",
- price = 60000,
- model = "cavalcade",
- },
- {
- name = "Rocoto",
- price = 85000,
- model = "rocoto",
- },
- {
- name = "Dubsta",
- price = 85000,
- model = "dubsta",
- },
- {
- name = "Baller",
- price = 90000,
- model = "baller",
- },
- {
- name = "XLS",
- price = 100000,
- model = "xls",
- },
- {
- name = "Baller SE",
- price = 110000,
- model = "baller2",
- },
- {
- name = "Dubsta Carbon",
- price = 150000,
- model = "dubsta2",
- },
- {
- name = "Baller LE",
- price = 180000,
- model = "baller3",
- },
- {
- name = "Huntley S",
- price = 195000,
- model = "huntley",
- }
- }
- },
- {
- name = "Sports",
- vehicles = {
- {
- name = "Sultan",
- price = 12000,
- model = "sultan",
- },
- {
- name = "Futo",
- price = 15000,
- model = "futo",
- },
- {
- name = "Penumbra",
- price = 24000,
- model = "penumbra",
- },
- {
- name = "Elegy RH8",
- price = 30000,
- model = "elegy2",
- },
- {
- name = "Fusilade",
- price = 36000,
- model = "fusilade",
- },
- {
- name = "Khamelion",
- price = 85000,
- model = "khamelion",
- },
- {
- name = "Voltic",
- price = 90000,
- model = "voltic",
- },
- {
- name = "Kuruma",
- price = 95000,
- model = "kuruma",
- },
- {
- name = "Comet",
- price = 100000,
- model = "comet2",
- },
- {
- name = "Banshee",
- price = 105000,
- model = "banshee",
- },
- {
- name = "Surano",
- price = 110000,
- model = "surano",
- },
- {
- name = "9F",
- price = 120000,
- model = "ninef",
- },
- {
- name = "Feltzer",
- price = 130000,
- model = "feltzer2",
- },
- {
- name = "9F Cabrio",
- price = 130000,
- model = "ninef2",
- },
- {
- name = "Coquette",
- price = 138000,
- model = "coquette",
- },
- {
- name = "Schafter V12",
- price = 140000,
- model = "schafter3",
- },
- {
- name = "Rapid GT",
- price = 140000,
- model = "rapidgt",
- },
- {
- name = "Rapid GT Convertible",
- price = 150000,
- model = "rapidgt2",
- },
- {
- name = "Alpha",
- price = 150000,
- model = "alpha",
- },
- {
- name = "Carbonizzare",
- price = 195000,
- model = "carbonizzare",
- },
- {
- name = "ETR1",
- price = 199500,
- model = "sheava",
- },
- {
- name = "Jester",
- price = 240000,
- model = "jester",
- },
- {
- name = "Massacro",
- price = 275000,
- model = "massacro",
- },
- {
- name = "Jester(Racecar)",
- price = 350000,
- model = "jester2",
- },
- {
- name = "Massacro(Racecar)",
- price = 385000,
- model = "massacro2",
- },
- {
- name = "Furore GT",
- price = 448000,
- model = "furoregt",
- },
- {
- name = "Bestia GTS",
- price = 610000,
- model = "bestiagts",
- },
- {
- name = "Omnis",
- price = 701000,
- model = "omnis",
- },
- {
- name = "Tropos",
- price = 816000,
- model = "tropos",
- },
- {
- name = "Drift Tampa",
- price = 995000,
- model = "tampa2",
- },
- {
- name = "Lynx",
- price = 1735000,
- model = "lynx",
- }
- }
- },
- {
- name = "Super",
- vehicles = {
- {
- name = "Bullet",
- price = 155000,
- model = "bullet",
- },
- {
- name = "Vacca",
- price = 240000,
- model = "vacca",
- },
- {
- name = "811",
- price = 400000,
- model = "pfister811",
- },
- {
- name = "Infurnus",
- price = 440000,
- model = "infurnus",
- },
- {
- name = "Turismo R",
- price = 500000,
- model = "turismor",
- },
- {
- name = "Banshee 900R",
- price = 565000,
- model = "banshee2",
- },
- {
- name = "Cheetah",
- price = 650000,
- model = "cheetah",
- },
- {
- name = "Seven 70",
- price = 675000,
- model = "seven70",
- },
- {
- name = "Zentorno",
- price = 725000,
- model = "zentorno",
- },
- {
- name = "Sultan RS",
- price = 795000,
- model = "sultanrs",
- },
- {
- name = "Entity XF",
- price = 735000,
- model = "entityxf",
- },
- {
- name = "Adder",
- price = 1000000,
- model = "adder",
- },
- {
- name = "Reaper",
- price = 1595000,
- model = "reaper",
- },
- {
- name = "FMJ",
- price = 1750000,
- model = "fmj",
- },
- {
- name = "Osiris",
- price = 1950000,
- model = "osiris",
- },
- {
- name = "T20",
- price = 2200000,
- model = "t20",
- },
- {
- name = "RE-7B",
- price = 2475000,
- model = "le7b",
- },
- {
- name = "Tyrus",
- price = 2550000,
- model = "tyrus",
- },
- {
- name = "X80 Proto",
- price = 2700000,
- model = "prototipo",
- }
- }
- },
- {
- name = "Classics",
- vehicles = {
- {
- name = "Pigalle",
- price = 350000,
- model = "pigalle",
- },
- {
- name = "JB 700",
- price = 400000,
- model = "jb700",
- },
- {
- name = "Roosevelt",
- price = 575000,
- model = "btype",
- },
- {
- name = "Coquette Cabrio",
- price = 665000,
- model = "coquette2",
- },
- {
- name = "Casco",
- price = 680000,
- model = "casco",
- },
- {
- name = "Verlierer",
- price = 695000,
- model = "verlierer2",
- },
- {
- name = "Coquette BlackFin",
- price = 695000,
- model = "coquette3",
- },
- {
- name = "Stinger",
- price = 850000,
- model = "stinger",
- },
- {
- name = "Mamba",
- price = 850000,
- model = "mamba",
- },
- {
- name = "Stinger GT",
- price = 875000,
- model = "stingergt",
- },
- {
- name = "Monroe",
- price = 900000,
- model = "monroe",
- },
- {
- name = "Stirling GT",
- price = 950000,
- model = "feltzer3",
- },
- {
- name = "Z Type",
- price = 970000,
- model = "ztype",
- },
- {
- name = "Roosevelt custom",
- price = 1000000,
- model = "btype2",
- }
- }
- },
- {
- name = "Executive",
- vehicles = {
- {
- name = "Stretch",
- price = 100000,
- model = "stretch",
- },
- {
- name = "Super Diamond",
- price = 250000,
- model = "superd",
- },
- {
- name = "Windsor",
- price = 800000,
- model = "windsor",
- },
- {
- name = "Windsor Drop",
- price = 850000,
- model = "windsor2",
- },
- {
- name = "Cognoscenti",
- price = 900000,
- model = "cognoscenti",
- },
- {
- name = "Kuruma(Armoured)",
- price = 1000000,
- model = "kuruma2",
- },
- {
- name = "XLS(Armoured)",
- price = 1250000,
- model = "xls2",
- },
- {
- name = "Baller(Armoured)",
- price = 1300000,
- model = "baller6",
- },
- {
- name = "Cognoscenti(Armoured)",
- price = 1500000,
- model = "cognoscenti2",
- },
- {
- name = "Insurgent",
- price = 2000000,
- model = "insurgent2",
- }
- }
- }
- }
- local inGarage = false
- local currentMenu = "menu"
- local selected = 0
- local owned = {}
- function DisplayHelpText(str)
- BeginTextCommandDisplayHelp("STRING")
- AddTextComponentScaleform(str)
- EndTextCommandDisplayHelp(0, 0, 1, -1)
- end
- function drawText(top, left, size, str, color, font, center)
- SetTextFont(font or 0)
- SetTextScale(1, size)
- SetTextColour(color[1], color[2], color[3], color[4])
- if center then SetTextCentre(true) end
- BeginTextCommandDisplayText("STRING")
- AddTextComponentSubstringPlayerName(tostring(str))
- EndTextCommandDisplayText(left, top)
- end
- RegisterNetEvent('es_garages:notify')
- AddEventHandler('es_garages:notify', function(str)
- SetNotificationTextEntry("STRING")
- AddTextComponentSubstringPlayerName(str)
- DrawNotification(false, false)
- end)
- RegisterNetEvent('es_garages:owned')
- AddEventHandler('es_garages:owned', function(tab)
- for i in ipairs(tab) do
- owned[tab[i]] = true
- Citizen.Trace(tab[i] .. "\n")
- end
- end)
- RegisterNetEvent('es_garages:spawnVehicle')
- AddEventHandler('es_garages:spawnVehicle', function(carid)
- Citizen.CreateThread(function()
- local playerPed = GetPlayerPed(-1)
- FreezeEntityPosition(GetPlayerPed(-1), false)
- Citizen.Trace(carid .. " <- Spawn\n")
- RequestModel(GetHashKey(carid))
- while not HasModelLoaded(GetHashKey(carid)) do
- Citizen.Wait(0)
- end
- local playerCoords = GetEntityCoords(playerPed, false)
- inGarage = false
- currentMenu = "menu"
- selected = 0
- local veh = CreateVehicle(GetHashKey(carid), playerCoords.x, playerCoords.y, playerCoords.z - 1.0, 0.0, true, false)
- TaskWarpPedIntoVehicle(playerPed, veh, -1)
- SetVehicleDirtLevel(veh, 0)
- SetVehicleEngineOn(veh, true, true)
- return
- end)
- end)
- RegisterNetEvent('es_garages:newOwned')
- AddEventHandler('es_garages:newOwned', function(veh)
- owned[veh] = true
- end)
- Citizen.CreateThread(function()
- while true do
- local p = GetEntityCoords(GetPlayerPed(-1), true)
- for i in ipairs(garages) do
- local garage = garages[i]
- DrawMarker(1, garage.x, garage.y, garage.z - 1, 0, 0, 0, 0, 0, 0, 3.4001, 3.4001, 0.8001, 0, 75, 255, 165, 0,0, 0,0)
- if (Vdist(garage.x, garage.y, garage.z, p.x, p.y, p.z) < 2.4) then
- if not inGarage then
- if(IsPedInAnyVehicle(GetPlayerPed(-1), false))then
- DisplayHelpText("Please leave your vehicle first.")
- else
- DisplayHelpText("Press ~INPUT_CONTEXT~ to access the garage")
- if IsControlJustPressed(1, 51) then
- inGarage = true
- FreezeEntityPosition(GetPlayerPed(-1), true)
- end
- end
- else
- if currentMenu == "menu" then
- DrawRect(0.15, 0.15, 0.23, 0.05, 0, 0, 0, 255)
- drawText(0.13, 0.153, 0.5, "Garage", {255, 255, 255, 255}, 0, true)
- local cur = 0
- for i in ipairs(menu) do
- if cur == selected then DrawRect(0.15, 0.20 + (0.05 * cur), 0.23, 0.05, 40, 40, 40, 200) else DrawRect(0.15, 0.20 + (0.05 * cur), 0.23, 0.05, 100, 100, 100, 200) end
- drawText(0.18 + (0.05 * cur), 0.153, 0.5, "" .. menu[i].name, {255, 255, 255, 255}, 0, true)
- cur = cur + 1
- end
- else
- DrawRect(0.15, 0.15, 0.23, 0.05, 0, 0, 0, 255)
- drawText(0.13, 0.153, 0.5, "" .. menu[currentMenu + 1].name, {255, 255, 255, 255}, 0, true)
- local cur = 0
- for i in ipairs(menu[currentMenu + 1].vehicles) do
- if cur == selected then DrawRect(0.15, 0.20 + (0.05 * cur), 0.23, 0.05, 40, 40, 40, 200) else DrawRect(0.15, 0.20 + (0.05 * cur), 0.23, 0.05, 100, 100, 100, 200) end
- drawText(0.18 + (0.05 * cur), 0.042, 0.5, "" .. menu[currentMenu + 1].vehicles[i].name, {255, 255, 255, 255}, 0, false)
- if(owned[menu[currentMenu + 1].vehicles[i].model])then
- drawText(0.18 + (0.05 * cur), 0.182, 0.5, "owned", {255, 255, 255, 255}, 0, false)
- else
- drawText(0.18 + (0.05 * cur), 0.182, 0.5, "£" .. menu[currentMenu + 1].vehicles[i].price, {255, 255, 255, 255}, 0, false)
- end
- cur = cur + 1
- end
- end
- if IsControlJustReleased(1, 173) then
- if currentMenu == "menu" then
- if selected < (#menu - 1) then
- selected = selected + 1
- end
- else
- if selected < (#menu[currentMenu + 1].vehicles - 1) then
- selected = selected + 1
- end
- end
- end
- DisableControlAction(1, 27, true)
- if IsDisabledControlJustPressed(1, 172) then
- if selected ~= 0 then
- selected = selected - 1
- end
- end
- if IsControlJustReleased(1, 176) then
- if currentMenu == "menu" then
- currentMenu = selected
- selected = 0
- else
- TriggerServerEvent('es_garages:selectVehicle', menu[currentMenu + 1].vehicles[selected + 1].model)
- end
- end
- if IsControlJustReleased(1, 177) then
- if currentMenu ~= "menu" then
- currentMenu = "menu"
- selected = 0
- else
- inGarage = false
- FreezeEntityPosition(GetPlayerPed(-1), false)
- end
- end
- end
- end
- end
- Citizen.Wait(0)
- end
- end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement