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)
 | 
			
		||||
CreateThread(function()
 | 
			
		||||
    local lastVehicle = 0
 | 
			
		||||
    
 | 
			
		||||
    while true do
 | 
			
		||||
        Wait(1000)
 | 
			
		||||
        
 | 
			
		||||
| 
						 | 
				
			
			@ -261,7 +259,7 @@ CreateThread(function()
 | 
			
		|||
        local currentVehicle = GetVehiclePedIsIn(playerPed, false)
 | 
			
		||||
        
 | 
			
		||||
        -- 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
 | 
			
		||||
            local driver = GetPedInVehicleSeat(currentVehicle, -1)
 | 
			
		||||
            
 | 
			
		||||
| 
						 | 
				
			
			@ -269,8 +267,8 @@ CreateThread(function()
 | 
			
		|||
            if driver == playerPed and IsVehicleClassAllowed(currentVehicle) then
 | 
			
		||||
                local plate = QBCore.Functions.GetPlate(currentVehicle)
 | 
			
		||||
                
 | 
			
		||||
                -- Prüfe ob Fahrzeug gerade in die Garage gestellt wird
 | 
			
		||||
                if not garagePending[plate] then
 | 
			
		||||
                -- Check if this vehicle is already being tracked
 | 
			
		||||
                if not trackedVehicles[plate] and not garagePending[plate] then
 | 
			
		||||
                    trackedVehicles[plate] = currentVehicle
 | 
			
		||||
                    
 | 
			
		||||
                    -- Speichere letzte bekannte Position
 | 
			
		||||
| 
						 | 
				
			
			@ -290,16 +288,13 @@ CreateThread(function()
 | 
			
		|||
                    local vehicleModel = GetEntityModel(currentVehicle)
 | 
			
		||||
                    
 | 
			
		||||
                    TriggerServerEvent('antidespawn:server:registerVehicle', plate, vehicleModel, vehicleCoords, vehicleHeading, vehicleMods)
 | 
			
		||||
                else
 | 
			
		||||
                    Debug("Fahrzeug wird gerade in Garage gestellt, nicht tracken: " .. plate)
 | 
			
		||||
                end
 | 
			
		||||
            end
 | 
			
		||||
        end
 | 
			
		||||
        
 | 
			
		||||
        lastVehicle = currentVehicle
 | 
			
		||||
    end
 | 
			
		||||
end)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
-- Kontinuierliche Despawn-Verhinderung für alle getrackten Fahrzeuge
 | 
			
		||||
CreateThread(function()
 | 
			
		||||
    while true do
 | 
			
		||||
| 
						 | 
				
			
			@ -613,6 +608,35 @@ RegisterCommand('fixvehicle', function()
 | 
			
		|||
    end
 | 
			
		||||
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)
 | 
			
		||||
    if resourceName == GetCurrentResourceName() then
 | 
			
		||||
        Debug("Resource stopping, clearing all data")
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue