feat: flere mål pr. run (afkrydsning; den stald der mangler mest får turen, AD's mål skiftes ved turstart) + under-faner Overblik/Runs (v1.11.0.0)
This commit is contained in:
@@ -119,6 +119,7 @@ FS25_AutoDrive = {
|
||||
end,
|
||||
getWayPointById = function(_, id) return wayPoints[id] end,
|
||||
getMapMarkers = function() return markers end,
|
||||
getMapMarkerByWayPointId = function(_, id) for _, m in ipairs(markers) do if m.id == id then return m end end end,
|
||||
-- ruter: alt nåeligt medmindre testen sætter unreachable[id] (til eller fra)
|
||||
unreachable = {},
|
||||
getPathTo = function(self, vehicle, id) if self.unreachable[id] then return {} end; return {{id = id}} end,
|
||||
@@ -897,6 +898,31 @@ UnloadTask.update(tt, 16)
|
||||
check("I5 hjem når målet er under 20 %", tt.destinationID, 30)
|
||||
ADRunsController.store = ADRuns.newStore()
|
||||
|
||||
-- I6: run med to stalde — ved turstart vælges den stald der mangler mest, AD's mål skiftes, og
|
||||
-- varen hentes efter DEN stalds behov
|
||||
buildCowWorld()
|
||||
addMarker(31, "Cow 2 Food", "Cow Food", 6000, 0)
|
||||
local cow2Levels = {[STRAW] = 95000, [TMR] = 95000}
|
||||
table.insert(unloadStations, makeUnloadStation(131, 6000, 10, cow2Levels, {[STRAW] = 100000, [TMR] = 100000}, {name = "kostald 2"}))
|
||||
cowLevels[STRAW], cowLevels[TMR] = 90000, 20000 -- stald 1: TMR mangler
|
||||
local i6 = makeSupplyDriver(markerByIndex(21), markerByIndex(31), {TMR, STRAW}) -- AD peger på stald 2 (fuld)
|
||||
i6.uniqueId = "vehicleI6"; i6.carriable = {TMR, STRAW}; i6.trailers = {level = 0, capacity = 8000}
|
||||
i6.ad.stateModule.setSecondMarkerByWayPointId = function(self, id) self.secondMarkerId = id end
|
||||
i6.ad.stateModule.getSecondMarker = function(self) return markerByIndex(self.secondMarkerId or 31) end
|
||||
testVehicles = {i6}
|
||||
ADRunsController.store = ADRuns.newStore()
|
||||
local twoBarns = ADRunsController.createRun("Kvæg")
|
||||
ADRunsController.updateRun(twoBarns.id, {targetWayPointIds = {30, 31}})
|
||||
ADRunsController.assignVehicle(twoBarns.id, i6)
|
||||
check("I6 henter TMR til stald 1", manager:getNextPickup(i6, false), 20)
|
||||
check("I6 AD's mål skiftet til stald 1", i6.ad.stateModule.secondMarkerId, 30)
|
||||
check("I6 skiftet logges", countLogsSince(1, "kører til Cow 1 Food") >= 1, true)
|
||||
cowLevels[STRAW], cowLevels[TMR] = 99000, 99000
|
||||
cow2Levels[STRAW] = 10000 -- nu mangler stald 2 halm
|
||||
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()
|
||||
|
||||
-- ==== 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