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 Player = QBCore.Functions.GetPlayerData() local opt = {} QBCore.Functions.TriggerCallback('mh_jobgarage:CallOwnerVehicles', function(vehicles) Wait(300) print(json.encode(vehicles)) if vehicles ~= false then local opt = {} for i = 1, #vehicles, 1 do local isSpawned = false local mods = {} local allVehicles = GetGamePool('CVehicle') for _, v in ipairs(allVehicles) do if DoesEntityExist(v) then isSpawned = true local vmods = QBCore.Functions.GetVehicleProperties(v) mods = json.encode(vmods) end end if isSpawned then print("Chiefsettings: "..mods) table.insert(opt, { title = "Kennzeichen: "..vehicles[i].plate, description = "Deine Ersatzschlüssel: "..vehicles[i].keys, 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.", min = 1, max = vehicles[i].keys}, {type = "number", label = "Rang", description = "Ab welchen Rang darf man das Fahrzeug Fahren?"} }) TriggerServerEvent('mh_jobgarage:AddVehicleToJob', vehicles[i].plate, value) QBCore.Functions.TriggerCallback('mh_jobgarage:CallVehiclesInfo', function(cb) OpenMenu(cb) end, Player.job.name) end }) lib.registerContext({ id = "ChiefAddVehicleMenu", title = "Schlüsselkasten", description = "Füge ein Fahrzeug hinzu.", options = opt }) lib.showContext("ChiefAddVehicleMenu") else Notification("Schlüsselkasten", "Kein Fahrzeug gefunden!", "warning") end end else Notification("Schlüsselkasten", "Keine Fahrzeuge von dir Gefunden!", "error") 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