212 lines
		
	
	
		
			No EOL
		
	
	
		
			8 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			212 lines
		
	
	
		
			No EOL
		
	
	
		
			8 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
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 |