1
0
Fork 0
forked from Simnation/Main
Main/resources/[jobs]/[civ]/mh_jobgarage/client/chiefsettings.lua
2025-06-11 10:56:06 +02:00

202 lines
No EOL
7.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 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