fix: lille rest (< 100 l) som målet ikke kan tage regnes som tom — traktoren blokerer ikke længere staldens trigger (v1.14.3.0)

This commit is contained in:
2026-09-24 01:54:01 +02:00
parent 1dd2e8971d
commit eb053083c2
3 changed files with 27 additions and 2 deletions
+11 -1
View File
@@ -134,7 +134,17 @@ local function startWaiting(adEnv, task)
return
end
local fillType, rest = getRestLoad(adEnv, vehicle)
if fillType == nil or rest < ADUnloadWait.MIN_REST_LITERS then
if fillType == nil then
return
end
if rest < ADUnloadWait.MIN_REST_LITERS then
-- En lille rest som målet ikke kan tage: AutoDrive venter ellers for evigt i triggeren
-- ("til den er tømt") og spærrer for de næste. Regn vognen som tom og kør videre.
local smallFree = ADSmartPickup.getTargetFreeCapacity(adEnv, vehicle, fillType)
if rest > 0 and (smallFree == nil or smallFree < rest) and task.finished ~= nil then
Logging.info(ADUnloadWait.LOG_PREFIX .. "'%s': %.0f l %s rest kan ikke komme af — regnes som tom, kører videre", tostring(vehicle:getName()), rest, g_fillTypeManager ~= nil and tostring(g_fillTypeManager:getFillTypeNameByIndex(fillType)) or tostring(fillType))
task:finished()
end
return
end
local free, capacity = ADSmartPickup.getTargetFreeCapacity(adEnv, vehicle, fillType)
+1 -1
View File
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<modDesc descVersion="107">
<author>masterdraco</author>
<version>1.14.2.0</version>
<version>1.14.3.0</version>
<title>
<en>AD Smart Pickup</en>
</title>
+15
View File
@@ -1141,6 +1141,21 @@ check("N1 strengt opslag finder intet", ADSmartPickup.getLoadStationAtWayPointId
check("N1 løst opslag finder tanken", ADSmartPickup.getLoadStationNearWayPointId(FS25_AutoDrive, 1, 1, 40), stations[1])
check("N1 uden for afstanden -> nil", ADSmartPickup.getLoadStationNearWayPointId(FS25_AutoDrive, 1, 1, 20), nil)
-- W16: lille rest (< 100 l) som målet ikke kan tage -> aflæsningen afsluttes, traktoren kører videre
-- (in-game 24/9: "tom" vogn holdt i Cow 1 Food med en rest, to andre ventede bag den)
buildWaitWorld()
local vr, tr = makeUnloadingVehicle("Fastrac Rest", 601, 5000, 50)
setmetatable(tr, {__index = UnloadTask})
UnloadTask.update(tr, 16)
check("W16 lille rest + fuldt mål -> afsluttet", tr.isFinished, true)
check("W16 ikke sendt til Wait", tr.destinationID, 30)
buildWaitWorld()
waitBarnLevels[STRAW] = 0
local vr2, tr2 = makeUnloadingVehicle("Fastrac Rest2", 602, 5000, 50)
setmetatable(tr2, {__index = UnloadTask})
UnloadTask.update(tr2, 16)
check("W16 lille rest med plads -> AD læsser selv af", tr2.isFinished, nil)
-- V: flere traktorer til samme mål fordeler sig — læs på vej tælles med (in-game 24/9: alle 4 Fastrac'er
-- hentede det samme). Græs mangler mest (20000/100000), ensilage næst (50000/100000).
buildFeedWorld()