ed
This commit is contained in:
parent
ab111fdebf
commit
c50fb7209c
4 changed files with 136 additions and 19 deletions
|
@ -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)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue