From 02bd9b8fd4667d5926b1cc13d445bd4e1a36bfe1 Mon Sep 17 00:00:00 2001 From: masterdraco Date: Tue, 29 Sep 2026 18:54:41 +0200 Subject: [PATCH] =?UTF-8?q?chore(diag):=20DEBUG-linje=20ogs=C3=A5=20n?= =?UTF-8?q?=C3=A5r=20vognen=20st=C3=A5r=20ved=20m=C3=A5let=20med=20plads?= =?UTF-8?q?=20og=20l=C3=A6sset=20ikke=20falder=20i=2030=20s=20(EDK=20650?= =?UTF-8?q?=20ved=20fabriks-afl=C3=A6sning)=20(v1.60.3.0)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FS25_ADSmartPickup/adUnloadWait.lua | 14 ++++++++++++-- FS25_ADSmartPickup/modDesc.xml | 2 +- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/FS25_ADSmartPickup/adUnloadWait.lua b/FS25_ADSmartPickup/adUnloadWait.lua index 4b50467..ce5a923 100644 --- a/FS25_ADSmartPickup/adUnloadWait.lua +++ b/FS25_ADSmartPickup/adUnloadWait.lua @@ -255,6 +255,9 @@ end -- AD ser — vognens indhold, målets fri plads, AD's aflæsningstilstand og vognens dischargeState. ADUnloadWait.DEBUG_INTERVAL_MS = 15000 local debugTimers = setmetatable({}, {__mode = "k"}) +local debugStuck = setmetatable({}, {__mode = "k"}) -- vehicle -> {level, since}: læsset uændret siden +ADUnloadWait.STUCK_WITH_ROOM_MS = 30000 + local function debugAtTarget(adEnv, task, dt) local vehicle = task.vehicle local targetReached = vehicle.ad.drivePathModule:isTargetReached() @@ -268,8 +271,15 @@ local function debugAtTarget(adEnv, task, dt) return end local free, capacity = ADSmartPickup.getTargetFreeCapacity(adEnv, vehicle, fillType) - -- kun den tilstand vi vil se: målet fuldt/afvist, og traktoren venter ikke ved et Wait-punkt - if waits[vehicle] ~= nil or (free ~= nil and free >= ADUnloadWait.MIN_FREE_TO_UNLOAD) then + -- ved målet MED plads, men læsset falder ikke (in-game 29/9: EDK 650 ved TMR Unload/Biogas Drop) — også det + -- vil vi se. Ellers kun: målet fuldt/afvist, og traktoren venter ikke ved et Wait-punkt. + local stuck = debugStuck[vehicle] + if stuck == nil or rest < stuck.level - 1 then + stuck = {level = rest, since = g_time or 0} + debugStuck[vehicle] = stuck + end + local stuckWithRoom = targetReached and (g_time or 0) - stuck.since >= ADUnloadWait.STUCK_WITH_ROOM_MS + if waits[vehicle] ~= nil or (free ~= nil and free >= ADUnloadWait.MIN_FREE_TO_UNLOAD and not stuckWithRoom) then return end local trailerModule = vehicle.ad.trailerModule diff --git a/FS25_ADSmartPickup/modDesc.xml b/FS25_ADSmartPickup/modDesc.xml index 66f9891..3acf30e 100644 --- a/FS25_ADSmartPickup/modDesc.xml +++ b/FS25_ADSmartPickup/modDesc.xml @@ -1,7 +1,7 @@ masterdraco - 1.60.2.0 + 1.60.3.0 <en>AD Smart Pickup</en>