function openVehicleMenu(type)
if isDoctor() then
local menu = {}
for _, vehicle in ipairs(Izzy.Vehicles[type]) do
table.insert(menu, {
title = vehicle.name,
description = "Spawn this vehicle",
event = "ox:spawnVehicle",
args = {
model = vehicle.model,
type = type
}
})
end
table.insert(menu, {
title = "Close Menu",
event = "ox:closeMenu"
})
lib.registerContext({
id = 'vehicle_menu',
title = 'Vehicle Menu',
options = menu
})
lib.showContext('vehicle_menu')
end
end
RegisterNetEvent('ox:spawnVehicle', function(data)
local model = data.model
RequestModel(model)
while not HasModelLoaded(model) do
Citizen.Wait(0)
end
local playerPed = PlayerPedId()
local pos = Izzy.VehicleSpawnPoints[data.type][math.random(1, #Izzy.VehicleSpawnPoints[data.type])]
local heading = GetEntityHeading(playerPed)
local vehicle = CreateVehicle(model, pos.x, pos.y, pos.z, pos.w, true, false)
SetPedIntoVehicle(playerPed, vehicle, -1)
local plate = GetVehicleNumberPlateText(vehicle)
giveKey(vehicle, plate)
end)
drawMarker = function(type, x, y, z, r, g, b)
if r == nil then r = 255 end
if g == nil then g = 255 end
if b == nil then b = 255 end
local size = 0.4 -- Marker Size
local a = 200 -- Alpha (Transparency)
local bobUpAndDown = false
local faceCamera = true
local rotate = false
DrawMarker(type, x, y, z, 0, 0, 0, 0, 0, 0, size, size, size, r, g, b, a, bobUpAndDown, faceCamera, 2, rotate, nil, nil, false)
end
local inside = false
CreateThread(function()
while true do
local sleep = 1000
local pPed = PlayerPedId()
local playerCoords = GetEntityCoords(pPed)
local inVehicle = IsPedInAnyVehicle(pPed, false)
for k,v in pairs(Izzy.VehicleSpawn) do
for key, value in pairs(v) do
local dist = #(playerCoords - value)
if dist <= 5 then
sleep = 0
drawMarker(2, value.x, value.y, value.z)
end
end
end
if inVehicle then
for k,v in pairs(Izzy.GarageCoords) do
local dist = #(playerCoords - v.coords)
if dist <= 5 then
sleep = 0
drawMarker(2, v.coords.x, v.coords.y, v.coords.z)
inside = true
lib.showTextUI(getMessage("park_vehicle"))
if IsControlJustPressed(0, 38) and isDoctor() then
if canPark(v.type) then
local vehicle = GetVehiclePedIsIn(pPed, false)
local model = GetEntityModel(vehicle)
SetEntityAsMissionEntity(vehicle, false, true)
DeleteVehicle(vehicle)
end
end
else
inside = false
end
end
else
inside = false
end
--if not inside then
--lib.hideTextUI()
--end
Wait(sleep)
end
end)
function canPark(key)
local pPed = PlayerPedId()
local vehicle = GetVehiclePedIsIn(pPed, false)
local model = GetEntityModel(vehicle)
local displayName = GetDisplayNameFromVehicleModel(model) -- Araç model adını alıyoruz
local p = promise.new()
for k, v in pairs(Izzy.Vehicles[key]) do
if v.hash == model then
p:resolve(true)
end
end
return Citizen.Await(p)
end
RegisterNetEvent('ox:closeMenu', function()
lib.hideContext()
end)