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()) local Player = QBCore.Functions.GetPlayerData() 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