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:
@@ -134,7 +134,17 @@ local function startWaiting(adEnv, task)
|
|||||||
return
|
return
|
||||||
end
|
end
|
||||||
local fillType, rest = getRestLoad(adEnv, vehicle)
|
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
|
return
|
||||||
end
|
end
|
||||||
local free, capacity = ADSmartPickup.getTargetFreeCapacity(adEnv, vehicle, fillType)
|
local free, capacity = ADSmartPickup.getTargetFreeCapacity(adEnv, vehicle, fillType)
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
||||||
<modDesc descVersion="107">
|
<modDesc descVersion="107">
|
||||||
<author>masterdraco</author>
|
<author>masterdraco</author>
|
||||||
<version>1.14.2.0</version>
|
<version>1.14.3.0</version>
|
||||||
<title>
|
<title>
|
||||||
<en>AD Smart Pickup</en>
|
<en>AD Smart Pickup</en>
|
||||||
</title>
|
</title>
|
||||||
|
|||||||
@@ -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 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)
|
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
|
-- 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).
|
-- hentede det samme). Græs mangler mest (20000/100000), ensilage næst (50000/100000).
|
||||||
buildFeedWorld()
|
buildFeedWorld()
|
||||||
|
|||||||
Reference in New Issue
Block a user