2025-06-07 08:51:21 +02:00
|
|
|
QBCore = exports['qb-core']:GetCoreObject()
|
|
|
|
isInZone = false
|
|
|
|
Zone = nil
|
|
|
|
|
|
|
|
-- SetPosition
|
|
|
|
Citizen.CreateThread(function()
|
|
|
|
while true do
|
|
|
|
local sleep = 1000
|
|
|
|
local ped = PlayerPedId()
|
|
|
|
local coords = GetEntityCoords(ped)
|
|
|
|
local isInMarker = false
|
2025-06-11 10:56:06 +02:00
|
|
|
local Player = QBCore.Functions.GetPlayerData()
|
2025-06-07 08:51:21 +02:00
|
|
|
|
|
|
|
|
2025-06-11 10:56:06 +02:00
|
|
|
if Player and Player.job then
|
2025-06-07 08:51:21 +02:00
|
|
|
for k, v in pairs(Config.Zonen) do
|
|
|
|
local dist = #(coords - v.Schluesselkasten)
|
|
|
|
if dist < Config.DrawDistance and Player.job.name == v.Job then
|
|
|
|
sleep = 0
|
|
|
|
DrawMarker(v.Marker.type, v.Schluesselkasten.x, v.Schluesselkasten.y, v.Schluesselkasten.z + 0.7, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, v.Marker.x, v.Marker.y, v.Marker.z, v.Marker.r, v.Marker.g, v.Marker.b, v.Marker.a, false, false, 2, v.Marker.rotate, nil, nil, false)
|
|
|
|
|
|
|
|
if dist < 2.0 then
|
|
|
|
if not isInZone then
|
|
|
|
Zone = v
|
|
|
|
isInZone = true
|
|
|
|
TextUI(true, "[E] - Schlüsselkasten öffnen.")
|
|
|
|
end
|
|
|
|
if IsControlJustReleased(0, 38) then
|
|
|
|
QBCore.Functions.TriggerCallback('mh_jobgarage:CallVehiclesInfo', function(cb)
|
|
|
|
OpenMenu(cb)
|
|
|
|
end, Player.job.name)
|
|
|
|
end
|
|
|
|
else
|
|
|
|
if isInZone then
|
|
|
|
Zone = nil
|
|
|
|
isInZone = false
|
|
|
|
TextUI(false)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
end
|
|
|
|
end
|
|
|
|
Citizen.Wait(sleep)
|
|
|
|
end
|
|
|
|
end)
|
|
|
|
|
|
|
|
function OpenMenu(vehicles)
|
|
|
|
local opt = {}
|
|
|
|
|
|
|
|
if QBCore.PlayerData.job.grade.level == Zone.Chiefrang then
|
|
|
|
table.insert(opt, {
|
|
|
|
title = "Fahrzeug Einstellungen",
|
|
|
|
description = "Fahrzeuge verwalten",
|
|
|
|
icon = "gears",
|
|
|
|
onSelect = function()
|
|
|
|
lib.hideContext("OpenMenu")
|
|
|
|
|
|
|
|
OpenChiefMenu(vehicles)
|
|
|
|
end
|
|
|
|
})
|
|
|
|
table.insert(opt, {
|
|
|
|
title = "",
|
|
|
|
disabled = true
|
|
|
|
})
|
|
|
|
end
|
|
|
|
|
|
|
|
table.insert(opt, {
|
|
|
|
title = "Alle Schlüssel zurück geben!",
|
|
|
|
description = "Gibt alle vorhandenen Schlüssel zurück!",
|
|
|
|
icon = "keys",
|
|
|
|
onSelect = function()
|
|
|
|
TriggerServerEvent('mh_jobgarage:GiveAllKeysBack', vehicles)
|
|
|
|
end
|
|
|
|
})
|
|
|
|
table.insert(opt, {
|
|
|
|
title = "",
|
|
|
|
disabled = true
|
|
|
|
})
|
|
|
|
|
|
|
|
if vehicles then
|
|
|
|
for k, v in pairs(vehicles) do
|
|
|
|
table.insert(opt, {
|
|
|
|
title = v.name,
|
|
|
|
description = v.key_value.."x Schlüssel vorhanden.",
|
|
|
|
icon = "car",
|
|
|
|
onSelect = function()
|
|
|
|
OpenKeyMenu(v)
|
|
|
|
end
|
|
|
|
})
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
lib.registerContext({
|
|
|
|
id = 'OpenMenu',
|
|
|
|
title = "Schlüsselkasten",
|
|
|
|
options = opt
|
|
|
|
})
|
|
|
|
|
|
|
|
lib.showContext('OpenMenu')
|
|
|
|
end
|
|
|
|
|
|
|
|
function OpenKeyMenu(veh)
|
|
|
|
local dis = false
|
|
|
|
local closedVeh = "Nein"
|
|
|
|
local meta = {{label = "Noch "..veh.key_value.." Schlüssel vorhanden!"}}
|
|
|
|
if veh.closed == "true" then
|
|
|
|
dis = true
|
|
|
|
closedVeh = "Dieses Fahrzeug ist gesperrt!!!"
|
|
|
|
meta = {{label = "Keine Schlüssel mehr im Kasten!"}}
|
|
|
|
end
|
|
|
|
lib.registerContext({
|
|
|
|
id = 'OpenKeyMenu',
|
|
|
|
title = "Schlüsselkasten",
|
|
|
|
description = "Fahrzeug:"..veh.name.."\nKennzeichen:"..veh.plate.."\nSchlüsselanzahl:"..veh.key_value.."\nGesperrt:"..closedVeh,
|
|
|
|
icon = "plus",
|
|
|
|
options = {
|
|
|
|
{
|
|
|
|
title = "Schlüssel nehmen",
|
|
|
|
description = "Gibt dir ein Schlüssel für den "..veh.name,
|
|
|
|
disabled = dis,
|
|
|
|
icon = "plus",
|
|
|
|
onSelect = function()
|
|
|
|
print("Trigger ADDVEHICLE KEY")
|
|
|
|
TriggerServerEvent('mh_jobgarage:AddVehicleKey', veh)
|
|
|
|
end,
|
|
|
|
metadata = meta
|
|
|
|
},
|
|
|
|
{
|
|
|
|
title = "",
|
|
|
|
disabled = true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
title = "Schlüssel geben",
|
|
|
|
description = "Nimmt dir ein Schlüssel für den "..veh.name.." ab.",
|
|
|
|
icon = "minus",
|
|
|
|
onSelect = function()
|
|
|
|
print("Trigger DELVEHICLE KEY")
|
|
|
|
TriggerServerEvent('mh_jobgarage:DelVehicleKey', veh)
|
|
|
|
end
|
|
|
|
}
|
|
|
|
}
|
|
|
|
})
|
|
|
|
|
|
|
|
lib.showContext('OpenKeyMenu')
|
|
|
|
end
|
|
|
|
|