fix(flows): Start alle ophæver pausen også for flows hvis traktorer allerede kører

Flows på pause (Stop alt) med traktorer der kørte videre på en gemt AD-tur blev
talt som 'kørte allerede' og forblev stoppede; efter at have hentet vognen så
flowet sig selv som stoppet og kørte vognen hjem igen (v1.60.12.0).
This commit is contained in:
2026-09-29 21:08:07 +02:00
parent 5827143327
commit d420d5026d
5 changed files with 26 additions and 3 deletions
+9
View File
@@ -43,6 +43,15 @@ local function clampRange(value, default, min, max)
end
-- Flow-vogne: {[traktorId] = vognId} (maskinpulje — flowet henter sin egen vogn).
-- Start alle pr. flow: isRunning (traktorer kører AD), stopped (pause fra Stop alt / Stop).
-- -> "queue" (start traktorerne), "resume" (kører allerede: kun pausen ophæves), "skip".
-- In-game 29/9: flows på pause hvis traktorer kørte videre på en gemt AD-tur blev talt som 'kørte allerede',
-- forblev stoppede, og traktoren kørte vognen hjem lige efter at have hentet den.
function ADRuns.startAllAction(isRunning, stopped)
if not isRunning then return "queue" end
return stopped and "resume" or "skip"
end
function ADRuns.copyWagons(wagons)
local copy = {}
for tractorId, wagonId in pairs(wagons or {}) do copy[tractorId] = wagonId end
+6 -2
View File
@@ -1137,8 +1137,10 @@ function ADRunsController.queueStartAll(adEnv)
local queue = {}
for _, run in ipairs(ADRunsController.store.runs) do
if #run.vehicleIds > 0 then
if ADRunsController.getRunStatus(adEnv, run).isRunning then
local action = ADRuns.startAllAction(ADRunsController.getRunStatus(adEnv, run).isRunning, run.stopped == true)
if action ~= "queue" then
summary.alreadyRunning = summary.alreadyRunning + 1
if action == "resume" then run.stopped = false end
else
run.stopped = false
for _, vehicleId in ipairs(run.vehicleIds) do
@@ -1310,8 +1312,10 @@ function ADRunsController.startAllRuns(adEnv)
local summary = {runsStarted = 0, alreadyRunning = 0, vehiclesStarted = 0, results = {}}
for _, run in ipairs(ADRunsController.store.runs) do
if #run.vehicleIds > 0 then
if ADRunsController.getRunStatus(adEnv, run).isRunning then
local action = ADRuns.startAllAction(ADRunsController.getRunStatus(adEnv, run).isRunning, run.stopped == true)
if action ~= "queue" then
summary.alreadyRunning = summary.alreadyRunning + 1
if action == "resume" then run.stopped = false end
else
local startedHere = 0
for _, result in ipairs(ADRunsController.startRun(adEnv, run.id)) do
+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.60.11.0</version>
<version>1.60.12.0</version>
<title>
<en>AD Smart Pickup</en>
</title>