Main/resources/[jobs]/[civ]/mh_jobgarage/client/chiefsettings.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