1
0
Fork 0
forked from Simnation/Main
This commit is contained in:
Nordi98 2025-08-06 19:45:59 +02:00
parent 17e8dfe748
commit b2d3b24185
2 changed files with 86 additions and 247 deletions

View file

@ -119,6 +119,11 @@ local function SetVehicleMods(vehicle, mods)
-- Setze Modkit
SetVehicleModKit(vehicle, 0)
-- Rad Typ zuerst setzen
if mods.wheelType then
SetVehicleWheelType(vehicle, mods.wheelType)
end
-- Basis Mods
for i = 0, 49 do
if mods[tostring(i)] ~= nil then
@ -180,13 +185,9 @@ local function SetVehicleMods(vehicle, mods)
SetVehicleWindowTint(vehicle, mods.windowTint)
end
-- Rad Typ
if mods.wheelType then
SetVehicleWheelType(vehicle, mods.wheelType)
end
-- Rauch Farbe
if mods.tyreSmokeColor then
ToggleVehicleMod(vehicle, 20, true) -- Aktiviere Rauch
SetVehicleTyreSmokeColor(vehicle, mods.tyreSmokeColor.r, mods.tyreSmokeColor.g, mods.tyreSmokeColor.b)
end
@ -207,6 +208,15 @@ local function SetVehicleMods(vehicle, mods)
if mods.turbo ~= nil then
ToggleVehicleMod(vehicle, 18, mods.turbo)
end
-- Setze Felgen nochmal explizit
if mods["23"] ~= nil then -- Vorderräder
SetVehicleMod(vehicle, 23, mods["23"], false)
end
if mods["24"] ~= nil then -- Hinterräder
SetVehicleMod(vehicle, 24, mods["24"], false)
end
end
-- Extrem starke Anti-Despawn Funktion
@ -341,19 +351,34 @@ end)
-- Lade Fahrzeuge beim Spawn
RegisterNetEvent('QBCore:Client:OnPlayerLoaded', function()
Debug("Spieler geladen, lade Fahrzeuge...")
Wait(10000) -- Warte bis alles geladen ist
Debug("Spieler geladen, warte vor dem Laden der Fahrzeuge...")
-- Längere Wartezeit, um sicherzustellen, dass alles geladen ist
Wait(15000)
TriggerServerEvent('antidespawn:server:loadVehicles')
end)
-- Lade Fahrzeuge auch beim Resource Start
-- Automatisches Laden beim Resource Start
CreateThread(function()
Wait(15000) -- Warte bis alles geladen ist
-- Längere Wartezeit beim Serverstart
Wait(20000)
-- Prüfe ob Spieler eingeloggt ist
local playerData = QBCore.Functions.GetPlayerData()
if playerData and playerData.citizenid then
Debug("Resource gestartet, lade Fahrzeuge...")
TriggerServerEvent('antidespawn:server:loadVehicles')
else
-- Warte auf Login, wenn Spieler noch nicht eingeloggt ist
Debug("Warte auf Spieler-Login...")
while true do
Wait(5000)
playerData = QBCore.Functions.GetPlayerData()
if playerData and playerData.citizenid then
Debug("Spieler jetzt eingeloggt, lade Fahrzeuge...")
TriggerServerEvent('antidespawn:server:loadVehicles')
break
end
end
end
end)
@ -457,38 +482,9 @@ RegisterNetEvent('antidespawn:client:spawnVehicle', function(data)
SetModelAsNoLongerNeeded(modelHash)
else
Debug("Modell konnte nicht geladen werden: " .. data.plate .. " (Hash: " .. tostring(modelHash) .. ")")
-- Versuche es mit einem Standard-Fahrzeug als Fallback
local fallbackModel = GetHashKey("adder")
RequestModel(fallbackModel)
timeout = 0
while not HasModelLoaded(fallbackModel) and timeout < 50 do
Wait(100)
timeout = timeout + 1
end
if HasModelLoaded(fallbackModel) then
Debug("Verwende Fallback-Modell")
local vehicle = CreateVehicle(fallbackModel, data.coords.x, data.coords.y, data.coords.z, data.heading, true, false)
if DoesEntityExist(vehicle) then
SetVehicleNumberPlateText(vehicle, data.plate)
PreventDespawn(vehicle)
trackedVehicles[data.plate] = vehicle
lastKnownCoords[data.plate] = GetEntityCoords(vehicle)
Debug("Fahrzeug mit Fallback-Modell gespawnt: " .. data.plate)
end
SetModelAsNoLongerNeeded(fallbackModel)
else
Debug("Auch Fallback-Modell konnte nicht geladen werden!")
end
end
end)
-- Hilfsfunktion um Fahrzeug anhand Kennzeichen zu finden
function GetVehicleByPlate(plate)
local vehicles = GetGamePool('CVehicle')
@ -531,10 +527,12 @@ RegisterNetEvent('jg-advancedgarages:client:vehicle-stored', function(data)
if trackedVehicles[data.plate] then
trackedVehicles[data.plate] = nil
lastKnownCoords[data.plate] = nil
TriggerServerEvent('antidespawn:server:removeVehicle', data.plate)
end
Debug("Fahrzeug in Garage gespeichert: " .. data.plate)
-- Entferne aus Datenbank
TriggerServerEvent('antidespawn:server:removeVehicle', data.plate)
Debug("Fahrzeug in Garage gespeichert, aus DB entfernt: " .. data.plate)
end
end)
@ -585,6 +583,12 @@ RegisterNetEvent('jg-advancedgarages:client:open-garage', function(garageId, veh
end
end)
-- Manuelle Lade-Funktion
RegisterCommand('loadvehicles', function()
Debug("Manuelles Laden der Fahrzeuge...")
TriggerServerEvent('antidespawn:server:loadVehicles')
end, false)
-- Debug Command
RegisterCommand('fixvehicle', function()
local playerPed = PlayerPedId()