From 8b4df6b15efd284f2f521a79ae18297fc8c0216b Mon Sep 17 00:00:00 2001 From: masterdraco Date: Tue, 29 Sep 2026 19:04:10 +0200 Subject: [PATCH] =?UTF-8?q?fix(pulje):=20efter=20indl=C3=A6sning=20f=C3=B8?= =?UTF-8?q?lges=20traktorer=20med=20puljeredskab=20uden=20ejer=20som=20for?= =?UTF-8?q?=C3=A6ldrel=C3=B8se=20=E2=80=94=20s=C3=A6ttes=20tilbage=20efter?= =?UTF-8?q?=202=20min=20uden=20opgave=20(v1.60.5.0)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FS25_ADSmartPickup/adFlowWagons.lua | 14 ++++++++++++++ FS25_ADSmartPickup/modDesc.xml | 2 +- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/FS25_ADSmartPickup/adFlowWagons.lua b/FS25_ADSmartPickup/adFlowWagons.lua index 3a54fb2..41683f2 100644 --- a/FS25_ADSmartPickup/adFlowWagons.lua +++ b/FS25_ADSmartPickup/adFlowWagons.lua @@ -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 diff --git a/FS25_ADSmartPickup/modDesc.xml b/FS25_ADSmartPickup/modDesc.xml index 850e4ec..e216ffa 100644 --- a/FS25_ADSmartPickup/modDesc.xml +++ b/FS25_ADSmartPickup/modDesc.xml @@ -1,7 +1,7 @@ masterdraco - 1.60.4.0 + 1.60.5.0 <en>AD Smart Pickup</en>