fix(pulje): efter indlæsning følges traktorer med puljeredskab uden ejer som forældreløse — sættes tilbage efter 2 min uden opgave (v1.60.5.0)

This commit is contained in:
2026-09-29 19:04:10 +02:00
parent 1c6cda3c10
commit 8b4df6b15e
2 changed files with 15 additions and 1 deletions
+14
View File
@@ -631,6 +631,18 @@ end
ADFlowWagons.AFTER_LOAD_MS = 120000
local sinceLoad, cleanedUp = 0, false
-- Efter indlæsning: traktorer uden for flows med et puljeredskab på (hentet før gemning, opgaven tabt) følges som
-- forældreløse — får de ingen opgave inden ORPHAN_MS, sættes redskabet tilbage (in-game 29/9: 3 læssevogne).
local function adoptOrphansAfterLoad(adEnv)
for _, vehicle in ipairs(ADRunsController.getFarmVehicles(adEnv)) do
local run = ADRunsController.getRunForVehicle(vehicle)
if (run == nil or run.stopped) and vehicle.spec_attacherJoints ~= nil and #ADHitch.poolParkIds(adEnv, vehicle) > 0
and not ADFlowWagons.isEmptying(vehicle) and not homing[vehicle] then
orphans[vehicle] = orphans[vehicle] or 0
end
end
end
local function cleanupAfterLoad(adEnv)
for _, run in ipairs(runs()) do
if run.stopped then
@@ -669,6 +681,8 @@ function ADFlowWagons.tick(adEnv, dt)
cleanedUp = true
local ok, err = pcall(cleanupAfterLoad, adEnv)
if not ok then Logging.warning(ADFlowWagons.LOG_PREFIX .. "oprydning efter indlæsning: %s", tostring(err)) end
local okAdopt, errAdopt = pcall(adoptOrphansAfterLoad, adEnv)
if not okAdopt then Logging.warning(ADFlowWagons.LOG_PREFIX .. "redskaber uden opgave efter indlæsning: %s", tostring(errAdopt)) end
local okPrune, errPrune = pcall(ADRunsController.pruneMissingVehicles, adEnv)
if not okPrune then Logging.warning(ADFlowWagons.LOG_PREFIX .. "oprydning af solgte traktorer: %s", tostring(errPrune)) end
end