1
0
Fork 0
forked from Simnation/Main

resources/[jobs]/[civ]/mh_jobgarage/client/chiefsettings.lua aktualisiert

This commit is contained in:
Miho 2025-06-23 20:14:50 +02:00
parent 94e5ce7ac3
commit bb8090d08c

View file

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