fix(flows): run starter selv om én valgt bygning mangler markør; advarsel nævner bygningen (v1.14.2.0)
This commit is contained in:
@@ -573,11 +573,26 @@ local function getCargoTarget(adEnv, run, vehicle)
|
||||
return ADOutbound.planCargoTarget(adEnv, run, vehicle, fillType, liters) or false
|
||||
end
|
||||
|
||||
-- Én gang pr. (run, bygningsliste): valgte bygninger uden markør springes over.
|
||||
local warnedMissing = {}
|
||||
local function warnMissingMarkers(run, missing)
|
||||
local text = table.concat(missing, ", ")
|
||||
if warnedMissing[run.id] == text then
|
||||
return
|
||||
end
|
||||
warnedMissing[run.id] = text
|
||||
Logging.warning(ADRunsController.LOG_PREFIX .. "run '%s': %s har ingen AD-markør ved triggeren (inden for 40 m) og springes over", tostring(run.name), text)
|
||||
end
|
||||
|
||||
local function validateOutboundVehicle(adEnv, run, vehicle, result)
|
||||
local resolved = ADRunsController.resolveMarkers(adEnv, run)
|
||||
if resolved.missing[1] ~= nil then
|
||||
result.reason, result.missingBuilding = "noMarker", resolved.missing[1]
|
||||
return result
|
||||
-- afvis kun når INGEN valgt bygning (eller rå markør) har en markør; ellers kør med de andre
|
||||
if #(run.sourceWayPointIds or {}) == 0 then
|
||||
result.reason, result.missingBuilding = "noMarker", resolved.missing[1]
|
||||
return result
|
||||
end
|
||||
warnMissingMarkers(run, resolved.missing)
|
||||
end
|
||||
if #getRunSources(adEnv, run, ADSmartPickup.getFarmId(vehicle)) == 0 then
|
||||
result.reason = "noSource"
|
||||
@@ -645,8 +660,11 @@ function ADRunsController.validateVehicle(adEnv, run, vehicle)
|
||||
end
|
||||
local resolvedIn = ADRunsController.resolveMarkers(adEnv, run)
|
||||
if resolvedIn.missing[1] ~= nil then
|
||||
result.reason, result.missingBuilding = "noMarker", resolvedIn.missing[1]
|
||||
return result
|
||||
if #ADRunsController.getRunTargets(run) == 0 then
|
||||
result.reason, result.missingBuilding = "noMarker", resolvedIn.missing[1]
|
||||
return result
|
||||
end
|
||||
warnMissingMarkers(run, resolvedIn.missing)
|
||||
end
|
||||
local hasTarget = false
|
||||
for _, wayPointId in ipairs(ADRunsController.getRunTargets(run)) do
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
||||
<modDesc descVersion="107">
|
||||
<author>masterdraco</author>
|
||||
<version>1.14.1.0</version>
|
||||
<version>1.14.2.0</version>
|
||||
<title>
|
||||
<en>AD Smart Pickup</en>
|
||||
</title>
|
||||
|
||||
Reference in New Issue
Block a user