2025-06-07 08:51:21 +02:00
|
|
|
function OpenChiefMenu(vehicles)
|
|
|
|
local opt = {}
|
|
|
|
|
|
|
|
table.insert(opt,
|
|
|
|
{
|
|
|
|
title = "Fahrzeug Hinzufügen",
|
|
|
|
description = "Neues Fahrzeug Hinzufügen.",
|
|
|
|
icon = "plus",
|
|
|
|
onSelect = function()
|
|
|
|
lib.hideContext("ChiefSettingsMenu")
|
|
|
|
OpenChiefAddVehicleMenu()
|
|
|
|
end
|
|
|
|
}
|
|
|
|
)
|
|
|
|
|
|
|
|
if vehicles then
|
|
|
|
for k, v in pairs(vehicles) do
|
|
|
|
table.insert(opt, {
|
|
|
|
title = v.name,
|
|
|
|
description = "Dieses Fahrzeug bearbeiten...",
|
|
|
|
icon = "car",
|
|
|
|
onSelect = function()
|
|
|
|
lib.hideContext("ChiefSettingsMenu")
|
|
|
|
OpenChiefEditVehicleMenu(v)
|
|
|
|
end
|
|
|
|
})
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
lib.registerContext({
|
|
|
|
id = "ChiefSettingsMenu",
|
|
|
|
title = "Schlüsselkasten",
|
|
|
|
options = opt
|
|
|
|
})
|
|
|
|
|
|
|
|
lib.showContext("ChiefSettingsMenu")
|
|
|
|
end
|
|
|
|
|
|
|
|
function OpenChiefAddVehicleMenu()
|
|
|
|
local coords = GetEntityCoords(PlayerPedId())
|
2025-06-11 10:56:06 +02:00
|
|
|
local Player = QBCore.Functions.GetPlayerData()
|
2025-06-07 08:51:21 +02:00
|
|
|
local vehicles = GetGamePool('CVehicle')
|
|
|
|
local opt = {}
|
|
|
|
|
|
|
|
for i = 1, #vehicles, 1 do
|
|
|
|
local vehicleCoords = GetEntityCoords(vehicles[i])
|
|
|
|
local distance = #(vehicleCoords - coords)
|
|
|
|
|
|
|
|
if distance < 20.0 then
|
|
|
|
local mods = QBCore.Functions.GetVehicleProperties(vehicles[i])
|
|
|
|
print(json.encode(mods))
|
|
|
|
table.insert(opt, {
|
|
|
|
title = "Kennzeichen: "..mods.plate,
|
|
|
|
description = "Dieses Fahrzeug Hinzufügen?",
|
|
|
|
icon = "car",
|
|
|
|
onSelect = function()
|
|
|
|
local value = lib.inputDialog("Schlüsselkasten", {
|
|
|
|
{type = "input", label = "Anzeigename", description = "Anzeigename wie die anderen den sehen!"},
|
|
|
|
{type = "number", label = "Schlüsselanzahl", description = "Anzahl der Ersatzschlüssel."},
|
|
|
|
{type = "number", label = "Rang", description = "Ab welchen Rang darf man das Fahrzeug Fahren?"}
|
|
|
|
})
|
|
|
|
|
|
|
|
QBCore.Functions.TriggerCallback('mh_jobgarage:AddVehicleToJob', function(cb)
|
|
|
|
if cb.status then
|
|
|
|
Notification("Schlüsselkasten", cb.text, cb.type)
|
|
|
|
lib.hideContext('ChiefAddVehicleMenu')
|
|
|
|
QBCore.Functions.TriggerCallback('mh_jobgarage:CallVehiclesInfo', function(cb)
|
|
|
|
OpenMenu(cb)
|
|
|
|
end, Player.job.name)
|
|
|
|
else
|
|
|
|
Notification("Schlüsselkasten", cb.text, cb.type)
|
|
|
|
if cb.key then
|
|
|
|
SetNewWaypoint(Config.KeyMaker.x, Config.KeyMaker.y)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end, mods.plate, value)
|
|
|
|
end
|
|
|
|
})
|
|
|
|
|
|
|
|
lib.registerContext({
|
|
|
|
id = "ChiefAddVehicleMenu",
|
|
|
|
title = "Schlüsselkasten",
|
|
|
|
description = "Füge ein Fahrzeug hinzu.",
|
|
|
|
options = opt
|
|
|
|
})
|
|
|
|
|
|
|
|
lib.showContext("ChiefAddVehicleMenu")
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
function OpenChiefEditVehicleMenu(veh)
|
|
|
|
local veh = veh
|
|
|
|
local opt = {
|
|
|
|
{
|
|
|
|
title = "Anzeigename",
|
|
|
|
description = "Zum Bearbeiten Drücken",
|
|
|
|
icon = "hand",
|
|
|
|
onSelect = function()
|
|
|
|
local input = lib.inputDialog("Schlüsselkasten - Anzeigename Bearbeiten",{
|
|
|
|
{type = "input", label = "Neuer Anzeigename:", description = "Setz einen neuen Namen für das Fahrzeug."}
|
|
|
|
})
|
|
|
|
|
|
|
|
if input[1] == veh.name then
|
|
|
|
Notification("Schlüsselkasten", "Anzeigename nicht geändert, Name gleich geblieben", "error")
|
|
|
|
else
|
|
|
|
TriggerServerEvent('mh_jobgarage:ChangeName', veh.plate, input[1])
|
|
|
|
end
|
|
|
|
end,
|
|
|
|
metadata = {
|
|
|
|
{label = "Aktueller Name", value = veh.name}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
title = "--------------- Schlüssel Menu ---------------"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
title = "Schlüssel Hinzufügen",
|
|
|
|
description = "Fügt ein weiteren Ersatzschlüssel hinzu.",
|
|
|
|
icon = "plus",
|
|
|
|
onSelect = function()
|
|
|
|
local input = lib.inputDialog("Schlüsselkasten - Schlüssel Hinzufügen", {
|
|
|
|
{type = "number", label = "Anzahl der Fahrzeugschlüssel", description = "Wie viele Schlüssel willst du Hinzufügen?"}
|
|
|
|
})
|
|
|
|
TriggerServerEvent('mh_jobgarage:AddKeys', veh.plate, input[1])
|
|
|
|
end,
|
|
|
|
metadata = {
|
|
|
|
{label = "Aktuelle Schlüssel im Kasten", value = veh.key_value}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
title = "Schlüssel Entfernen",
|
|
|
|
description = "Entfernt die zu angegebenen Schlüssel!",
|
|
|
|
icon = "minus",
|
|
|
|
onSelect = function()
|
|
|
|
local input = lib.inputDialog("Schlüsselkasten - Schlüssel entfernen", {
|
|
|
|
{type = "number", label = "Anzahl der Fahrzeugschlüssel", description = "Wie viele Schlüssel willst du Entfernen?", min = 1, max = veh.key_value}
|
|
|
|
})
|
|
|
|
|
|
|
|
if input[1] > veh.key_value then
|
|
|
|
Notification("Schlüsselkasten", "So viele Schlüssel sind da nicht drin! Max: "..veh.key_value, "inform")
|
|
|
|
else
|
|
|
|
TriggerServerEvent('mh_jobgarage:RemoveKeys', veh.plate, input[1])
|
|
|
|
end
|
|
|
|
end,
|
|
|
|
metadata = {
|
|
|
|
{label = "Aktuelle Schlüssel im Kasten", value = veh.key_value}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
title = "--------------- Fahrzeug Menu ---------------"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
title = "Fahrzeug Sperren",
|
|
|
|
description = "Das Fahrzeug wird angezeigt, aber es werden keine Schlüssel raus gegeben.",
|
|
|
|
icon = "lock",
|
|
|
|
onSelect = function()
|
|
|
|
QBCore.Functions.TriggerCallback('mh_jobgarage:lockVehicle', function(cb)
|
|
|
|
if cb then
|
|
|
|
if veh.closed == "true" then
|
|
|
|
Notification("Schlüsselkasten", "Fahrzeug wurde entsperrt!", "success")
|
|
|
|
veh.closed = "false"
|
|
|
|
elseif veh.closed == "false" then
|
|
|
|
Notification("Schlüsselkasten", "Fahrzeug wurde gesperrt!", "success")
|
|
|
|
veh.closed = "true"
|
|
|
|
end
|
|
|
|
lib.hideContext("ChiefEditVehicleMenu")
|
|
|
|
Wait(300)
|
|
|
|
OpenChiefEditVehicleMenu(veh)
|
|
|
|
else
|
|
|
|
Notification("Schlüsselkasten", "Fehler beim Bearbeiten!", "warning")
|
|
|
|
end
|
|
|
|
end, veh.plate)
|
|
|
|
end
|
|
|
|
},
|
|
|
|
{
|
|
|
|
title = "Fahrzeug löschen...",
|
|
|
|
description = "Gibt dir das Fahrzeug als Inhaber...",
|
|
|
|
icon = "remove",
|
|
|
|
onSelect = function()
|
|
|
|
TriggerServerEvent('mh_jobgarage:DeleteFromList', veh.plate)
|
|
|
|
end
|
|
|
|
},
|
|
|
|
--[[ {
|
|
|
|
title = "--------------- Log Menu ---------------"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
title = "Logs einsehen!",
|
|
|
|
description = "Zeigt dir alle Änderungen an",
|
|
|
|
icon = "book",
|
|
|
|
disabled = true
|
|
|
|
} ]]
|
|
|
|
}
|
|
|
|
|
|
|
|
lib.registerContext({
|
|
|
|
id = "ChiefEditVehicleMenu",
|
|
|
|
title = "Schlüsselkasten",
|
|
|
|
options = opt
|
|
|
|
})
|
|
|
|
|
|
|
|
lib.showContext("ChiefEditVehicleMenu")
|
|
|
|
end
|