This commit is contained in:
Nordi98 2025-08-06 13:29:54 +02:00
parent ab111fdebf
commit c50fb7209c
4 changed files with 136 additions and 19 deletions

View file

@ -49,12 +49,6 @@ local AdminConfig = {
-- Versuche, die Garagen aus dem externen Config zu laden
local ExternalGarages = {}
if _G.Config and _G.Config.Zonen then
ExternalGarages = _G.Config.Zonen
print("[Fahrzeugadmin] Garagen aus dem Hauptsystem geladen: " .. #ExternalGarages .. " Garagen gefunden.")
else
print("[Fahrzeugadmin] Konnte keine Garagen aus dem Hauptsystem laden, verwende Standard-Garagen.")
end
-- Job Permission Check
local function HasPermission(source)
@ -98,6 +92,49 @@ QBCore.Functions.CreateCallback('vehicleadmin:getPlayers', function(source, cb)
end)
end)
-- Funktion zum Abrufen des Fahrzeugnamens
local function GetVehicleDisplayName(model)
-- Versuche zuerst, den Namen aus QBCore zu bekommen
local vehicleData = QBCore.Shared.Vehicles[model]
if vehicleData and vehicleData.name then
return vehicleData.name
end
-- Fallback: Versuche, den Namen aus der Fahrzeugklasse zu bekommen
local vehicleClass = GetVehicleClassFromName(model)
if vehicleClass then
local classes = {
[0] = "Kompakt",
[1] = "Limousine",
[2] = "SUV",
[3] = "Coupé",
[4] = "Muscle",
[5] = "Sport Classic",
[6] = "Sport",
[7] = "Super",
[8] = "Motorrad",
[9] = "Geländewagen",
[10] = "Industrie",
[11] = "Nutzfahrzeug",
[12] = "Van",
[13] = "Fahrrad",
[14] = "Boot",
[15] = "Hubschrauber",
[16] = "Flugzeug",
[17] = "Service",
[18] = "Notdienst",
[19] = "Militär",
[20] = "Kommerziell",
[21] = "Zug",
[22] = "Öffentlich"
}
return model .. " (" .. (classes[vehicleClass] or "Unbekannt") .. ")"
end
-- Wenn alles fehlschlägt, gib einfach den Modellnamen zurück
return model
end
-- Get vehicles for specific player
QBCore.Functions.CreateCallback('vehicleadmin:getPlayerVehicles', function(source, cb, citizenid)
if not HasPermission(source) then
@ -114,6 +151,12 @@ QBCore.Functions.CreateCallback('vehicleadmin:getPlayerVehicles', function(sourc
local vehicles = {}
for i = 1, #result do
local vehicle = result[i]
local displayName = vehicle.name
-- Wenn kein Name gesetzt ist, versuche den Namen aus dem Modell zu bekommen
if not displayName or displayName == "" then
displayName = GetVehicleDisplayName(vehicle.vehicle)
end
table.insert(vehicles, {
plate = vehicle.plate or 'UNKNOWN',
@ -124,7 +167,7 @@ QBCore.Functions.CreateCallback('vehicleadmin:getPlayerVehicles', function(sourc
engine = vehicle.engine or 1000,
body = vehicle.body or 1000,
citizenid = vehicle.citizenid,
name = vehicle.name or "Unbekanntes Fahrzeug",
name = displayName,
mods = vehicle.mods or "{}"
})
end
@ -141,7 +184,7 @@ QBCore.Functions.CreateCallback('vehicleadmin:getGarages', function(source, cb)
local garages = {}
-- Verwende die externen Garagen, wenn verfügbar
-- Verwende die externen Garagen aus dem Garagensystem
if next(ExternalGarages) ~= nil then
for k, v in pairs(ExternalGarages) do
table.insert(garages, {
@ -512,13 +555,29 @@ QBCore.Commands.Add('dealeradmin', 'Öffne Autohändler Fahrzeug Menu', {}, fals
TriggerClientEvent('vehicleadmin:openMenu', src)
end)
-- Versuche, die Garagen aus dem externen Config zu laden (erneut)
-- Lade die Garagen aus dem Garagensystem
Citizen.CreateThread(function()
Wait(5000) -- Warte länger, damit das Hauptsystem sicher geladen ist
Wait(1000) -- Warte kurz, damit das Hauptsystem geladen ist
-- Versuche, die Garagen aus dem Hauptsystem zu laden
if _G.Config and _G.Config.Zonen then
ExternalGarages = _G.Config.Zonen
for k, v in pairs(_G.Config.Zonen) do
table.insert(ExternalGarages, v)
end
print("[Fahrzeugadmin] Garagen aus dem Hauptsystem geladen: " .. #ExternalGarages .. " Garagen gefunden.")
else
print("[Fahrzeugadmin] Konnte keine Garagen aus dem Hauptsystem laden, versuche es später erneut.")
end
end)
-- Versuche erneut, die Garagen zu laden, falls sie beim ersten Mal nicht verfügbar waren
Citizen.CreateThread(function()
Wait(5000) -- Warte länger, damit das Hauptsystem sicher geladen ist
if #ExternalGarages == 0 and _G.Config and _G.Config.Zonen then
for k, v in pairs(_G.Config.Zonen) do
table.insert(ExternalGarages, v)
end
print("[Fahrzeugadmin] Garagen aus dem Hauptsystem nachgeladen: " .. #ExternalGarages .. " Garagen gefunden.")
end
end)