fix: forkert last midt i et run — pålæsning afsluttes straks, målet der ikke tager varen regnes som fuldt (Wait), og resten læsses af i silo fra Wait (v1.11.7.0)
This commit is contained in:
@@ -923,6 +923,41 @@ check("I6 næste tur: halm til stald 2", manager:getNextPickup(i6, false), 21)
|
||||
check("I6 mål skiftet til stald 2", i6.ad.stateModule.secondMarkerId, 31)
|
||||
ADRunsController.store = ADRuns.newStore()
|
||||
|
||||
-- ==== V: forkert last på vognen ====
|
||||
-- V1: pålæsning starter med anden vare på vognen -> opgaven afsluttes straks (AD leverer det den har)
|
||||
buildCowWorld()
|
||||
cowLevels[STRAW], cowLevels[TMR] = 90000, 0 -- TMR mangler
|
||||
local wv = makeSupplyDriver(markerByIndex(21), markerByIndex(30), {TMR, STRAW})
|
||||
wv.carriable = {TMR, STRAW}; wv.trailers = {level = 8000, capacity = 8000}
|
||||
wv.units = {{object = {getFillUnitFillLevel = function() return 8000 end, getFillUnitFillType = function() return STRAW end}, fillUnitIndex = 1}}
|
||||
withDrivePath(wv); wv.targetReached = false
|
||||
check("V1 TMR vælges som behov", manager:getNextPickup(wv, false), 20)
|
||||
local loadTask = {vehicle = wv, trailers = wv.trailers, finished = function(self) self.isFinished = true end}
|
||||
FS25_AutoDrive.LoadAtDestinationTask.update(loadTask, 16)
|
||||
check("V1 pålæsningsopgave afsluttet pga. halm på vognen", loadTask.isFinished, true)
|
||||
check("V1 logget", countLogsSince(1, "leverer først") >= 1, true)
|
||||
-- samme vare på vognen som den der hentes -> opgaven kører normalt
|
||||
wv.units[1].object.getFillUnitFillType = function() return TMR end
|
||||
local loadTask2 = {vehicle = wv, trailers = wv.trailers, finished = function(self) self.isFinished = true end}
|
||||
manager:getNextPickup(wv, false)
|
||||
FS25_AutoDrive.LoadAtDestinationTask.update(loadTask2, 16)
|
||||
check("V1 samme vare -> ikke afsluttet", loadTask2.isFinished, nil)
|
||||
|
||||
-- V2: ved målet med en vare målet ikke tager -> Wait; ved Wait -> silo uanset "manglende" vare
|
||||
buildWaitWorld()
|
||||
table.insert(unloadStations, stations[2]) -- halmladen tager halm
|
||||
stations[2].unloadTriggers = {{exactFillRootNode = 121}}
|
||||
stations[2].getIsFillTypeSupported = function(_, fillType) return fillType == STRAW end
|
||||
stations[2].getFreeCapacity = function() return 100000 end
|
||||
stations[2].owningPlaceable = {spec_silo = {storages = {{getFillLevel = function() return 0 end}}}}
|
||||
waitBarnCapacity[STRAW] = nil -- stalden tager IKKE halm
|
||||
local vw, tw = makeUnloadingVehicle("Fastrac Forkert", 561, 5000, 35000)
|
||||
UnloadTask.update(tw, 16)
|
||||
check("V2 målet tager ikke varen -> Wait", tw.destinationID, 40)
|
||||
UnloadTask.update(tw, ADLoadSwap.CHECK_INTERVAL_MS + 1)
|
||||
check("V2 fra Wait til silo selv uden manglende vare", tw.destinationID, 21)
|
||||
waitBarnCapacity[STRAW] = 50000
|
||||
|
||||
-- ==== E: eksponerede opslag (bruges af runs-controller og læs-bytte) ====
|
||||
local eDriver = buildCowWorld()
|
||||
check("E1 aflæsningsstation ved waypoint", ADSmartPickup.getUnloadStationAtWayPointId(FS25_AutoDrive, 30, 1), unloadStations[1])
|
||||
|
||||
Reference in New Issue
Block a user