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:
2026-09-23 02:24:16 +02:00
parent 91c724b9f4
commit ce32eb8e44
5 changed files with 87 additions and 6 deletions
+5 -3
View File
@@ -87,13 +87,14 @@ function ADLoadSwap.tryFromWait(adEnv, task, wait, dt, redirect, release, isReac
end
wait.swapTimerMs = 0
local vehicle = task.vehicle
-- Tager målet slet ikke varen (forkert last), skal den af uanset hvad der ellers mangler.
local missing = ADLoadSwap.findMissingIngredient(adEnv, vehicle, wait.fillType)
if missing == nil then
if missing == nil and not wait.isRejected then
return false
end
local marker = ADLoadSwap.findDumpMarker(adEnv, vehicle, wait.fillType, wait.rest, wait.homeDestinationID, isReachable)
local restName = g_fillTypeManager ~= nil and g_fillTypeManager:getFillTypeNameByIndex(wait.fillType) or tostring(wait.fillType)
local missingName = g_fillTypeManager ~= nil and g_fillTypeManager:getFillTypeNameByIndex(missing.fillType) or tostring(missing.fillType)
local missingName = missing ~= nil and (g_fillTypeManager ~= nil and g_fillTypeManager:getFillTypeNameByIndex(missing.fillType) or tostring(missing.fillType)) or "-"
if marker == nil then
if not warnedNoSilo[vehicle] then
warnedNoSilo[vehicle] = true
@@ -104,7 +105,8 @@ function ADLoadSwap.tryFromWait(adEnv, task, wait, dt, redirect, release, isReac
warnedNoSilo[vehicle] = nil
release(vehicle)
redirect(task, marker.id)
Logging.info(ADLoadSwap.LOG_PREFIX .. "'%s' bytter læs: %.0f l %s tilbage i %s (markør %s), målet mangler %s", tostring(vehicle:getName()), wait.rest, tostring(restName), tostring(marker.name), tostring(marker.markerIndex or marker.id), tostring(missingName))
local why = missing ~= nil and ("målet mangler " .. tostring(missingName)) or "målet tager ikke varen"
Logging.info(ADLoadSwap.LOG_PREFIX .. "'%s' bytter læs: %.0f l %s tilbage i %s (markør %s), %s", tostring(vehicle:getName()), wait.rest, tostring(restName), tostring(marker.name), tostring(marker.markerIndex or marker.id), why)
return true
end