forked from Simnation/Main
ed
This commit is contained in:
parent
69dd8ad480
commit
8a9036936a
1 changed files with 33 additions and 9 deletions
|
@ -252,8 +252,6 @@ end
|
||||||
|
|
||||||
-- Event Handler für Fahrzeug betreten (nur Fahrersitz)
|
-- Event Handler für Fahrzeug betreten (nur Fahrersitz)
|
||||||
CreateThread(function()
|
CreateThread(function()
|
||||||
local lastVehicle = 0
|
|
||||||
|
|
||||||
while true do
|
while true do
|
||||||
Wait(1000)
|
Wait(1000)
|
||||||
|
|
||||||
|
@ -261,7 +259,7 @@ CreateThread(function()
|
||||||
local currentVehicle = GetVehiclePedIsIn(playerPed, false)
|
local currentVehicle = GetVehiclePedIsIn(playerPed, false)
|
||||||
|
|
||||||
-- Spieler ist als Fahrer in ein Fahrzeug eingestiegen
|
-- Spieler ist als Fahrer in ein Fahrzeug eingestiegen
|
||||||
if currentVehicle ~= 0 and currentVehicle ~= lastVehicle then
|
if currentVehicle ~= 0 then
|
||||||
-- Prüfe ob Spieler auf Fahrersitz ist
|
-- Prüfe ob Spieler auf Fahrersitz ist
|
||||||
local driver = GetPedInVehicleSeat(currentVehicle, -1)
|
local driver = GetPedInVehicleSeat(currentVehicle, -1)
|
||||||
|
|
||||||
|
@ -269,8 +267,8 @@ CreateThread(function()
|
||||||
if driver == playerPed and IsVehicleClassAllowed(currentVehicle) then
|
if driver == playerPed and IsVehicleClassAllowed(currentVehicle) then
|
||||||
local plate = QBCore.Functions.GetPlate(currentVehicle)
|
local plate = QBCore.Functions.GetPlate(currentVehicle)
|
||||||
|
|
||||||
-- Prüfe ob Fahrzeug gerade in die Garage gestellt wird
|
-- Check if this vehicle is already being tracked
|
||||||
if not garagePending[plate] then
|
if not trackedVehicles[plate] and not garagePending[plate] then
|
||||||
trackedVehicles[plate] = currentVehicle
|
trackedVehicles[plate] = currentVehicle
|
||||||
|
|
||||||
-- Speichere letzte bekannte Position
|
-- Speichere letzte bekannte Position
|
||||||
|
@ -290,16 +288,13 @@ CreateThread(function()
|
||||||
local vehicleModel = GetEntityModel(currentVehicle)
|
local vehicleModel = GetEntityModel(currentVehicle)
|
||||||
|
|
||||||
TriggerServerEvent('antidespawn:server:registerVehicle', plate, vehicleModel, vehicleCoords, vehicleHeading, vehicleMods)
|
TriggerServerEvent('antidespawn:server:registerVehicle', plate, vehicleModel, vehicleCoords, vehicleHeading, vehicleMods)
|
||||||
else
|
|
||||||
Debug("Fahrzeug wird gerade in Garage gestellt, nicht tracken: " .. plate)
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
lastVehicle = currentVehicle
|
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
|
|
||||||
|
|
||||||
-- Kontinuierliche Despawn-Verhinderung für alle getrackten Fahrzeuge
|
-- Kontinuierliche Despawn-Verhinderung für alle getrackten Fahrzeuge
|
||||||
CreateThread(function()
|
CreateThread(function()
|
||||||
while true do
|
while true do
|
||||||
|
@ -613,6 +608,35 @@ RegisterCommand('fixvehicle', function()
|
||||||
end
|
end
|
||||||
end, false)
|
end, false)
|
||||||
|
|
||||||
|
local maxTrackedVehicles = 100 -- Adjust as needed
|
||||||
|
|
||||||
|
-- Add this check before adding a new vehicle
|
||||||
|
if tableLength(trackedVehicles) >= maxTrackedVehicles then
|
||||||
|
-- Either remove the oldest tracked vehicle or prevent adding new ones
|
||||||
|
Debug("Maximum number of tracked vehicles reached")
|
||||||
|
-- Optional: Remove oldest tracked vehicle
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Helper function to count table entries
|
||||||
|
function tableLength(T)
|
||||||
|
local count = 0
|
||||||
|
for _ in pairs(T) do count = count + 1 end
|
||||||
|
return count
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
-- Add to the continuous tracking thread
|
||||||
|
local playerPos = GetEntityCoords(PlayerPedId())
|
||||||
|
local distance = #(playerPos - GetEntityCoords(vehicle))
|
||||||
|
if distance > 500.0 then -- 500 units = about 500 meters
|
||||||
|
Debug("Fahrzeug zu weit entfernt, entferne aus Tracking: " .. plate)
|
||||||
|
trackedVehicles[plate] = nil
|
||||||
|
lastKnownCoords[plate] = nil
|
||||||
|
TriggerServerEvent('antidespawn:server:removeVehicle', plate)
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
AddEventHandler('onResourceStop', function(resourceName)
|
AddEventHandler('onResourceStop', function(resourceName)
|
||||||
if resourceName == GetCurrentResourceName() then
|
if resourceName == GetCurrentResourceName() then
|
||||||
Debug("Resource stopping, clearing all data")
|
Debug("Resource stopping, clearing all data")
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue