feat: læs på vej tælles med — flere traktorer til samme stald fordeler sig på varer og stalde (v1.14.1.0)

This commit is contained in:
2026-09-24 01:36:29 +02:00
parent 1b7b74ad2c
commit 8ec0853fae
7 changed files with 124 additions and 7 deletions
+15
View File
@@ -82,6 +82,7 @@ local function addMarker(index, name, group, x, z, fromX, fromZ)
end
local function resetWorld()
if ADSmartPickup ~= nil and ADSmartPickup.resetEnRoute ~= nil then ADSmartPickup.resetEnRoute() end
stations, unloadStations, markers, wayPoints, nodePositions, logLines = {}, {}, {}, {}, {}, {}
FS25_AutoDrive.ADMultipleTargetsManager.pickups = {}
end
@@ -1140,6 +1141,20 @@ 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)
-- 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()
local feederA = makeSupplyDriver(markerByIndex(1), markerByIndex(10), {HAY, GRASS, SILAGE})
feederA.trailers = {level = 0, capacity = 70000}
local feederB = makeSupplyDriver(markerByIndex(1), markerByIndex(10), {HAY, GRASS, SILAGE})
feederB.trailers = {level = 0, capacity = 70000}
check("V1 A henter græs (mangler mest)", manager:getNextPickup(feederA, false), 3)
check("V1 B henter ensilage (græs er på vej med A)", manager:getNextPickup(feederB, false), 4)
check("V1 A's læs registreret på vej", ADSmartPickup.getPending(10, feederB)[GRASS], 40000)
ADSmartPickup.clearEnRoute(feederA)
check("V2 A læsset af -> intet på vej", ADSmartPickup.getPending(10, feederB)[GRASS], nil)
check("V2 egne læs tæller ikke", ADSmartPickup.getPending(10, feederB)[SILAGE], nil)
-- X: udkørsel koblet på getNextPickup-wrap'en og Wait-logikken
resetWorld()
addMarker(1, "Suger Load", "Pickup points", 0, 0); table.insert(stations, makeStation(101, 0, 15, {[WHEAT] = 1000}))