feat: bedste foder først — lavere foder kun når truget er nødlidende (≥75 % fri); forsynings-traktorer uden noget at hente holder ved Wait (v1.14.0.0)
This commit is contained in:
@@ -421,6 +421,16 @@ local function startHold(adEnv, vehicle, run, reasons, sourcesById)
|
||||
return choiceFor(marker, source, nil)
|
||||
end
|
||||
|
||||
-- Forsynings-traktor uden noget at hente: hold ved et Wait-punkt i run'ets pulje; replan() returnerer
|
||||
-- waypoint-id for næste kilde (eller nil) og kaldes hvert CHECK_INTERVAL_MS.
|
||||
function ADOutbound.holdSupplyVehicle(adEnv, vehicle, run, reasons, replan)
|
||||
local choice = startHold(adEnv, vehicle, run, reasons, {})
|
||||
if choice ~= nil and holds[vehicle] ~= nil then
|
||||
holds[vehicle].replan = replan
|
||||
end
|
||||
return choice
|
||||
end
|
||||
|
||||
-- Hook 1: AutoDrive spørger om næste pålæsning. Tur -> kilden; ingen tur -> Wait-punkt.
|
||||
function ADOutbound.choosePickup(adEnv, vehicle)
|
||||
local run = getRun(vehicle)
|
||||
@@ -494,6 +504,17 @@ local function updateHold(adEnv, task, hold, dt)
|
||||
return true
|
||||
end
|
||||
hold.timerMs = 0
|
||||
-- forsynings-traktor: egen genplanlægning (ADSmartPickup) giver en kilde-markør at køre til
|
||||
if hold.replan ~= nil then
|
||||
local ok, targetId = pcall(hold.replan)
|
||||
if ok and targetId ~= nil then
|
||||
releaseHold(vehicle)
|
||||
ADWaitPool.redirect(task, targetId)
|
||||
task.activatedUALLoading = false
|
||||
Logging.info(ADOutbound.LOG_PREFIX .. "'%s' kører fra Wait: der er noget at hente igen", tostring(vehicle:getName()))
|
||||
end
|
||||
return true
|
||||
end
|
||||
ADOutbound.choosePickup(adEnv, vehicle)
|
||||
local state = trips[vehicle]
|
||||
if state ~= nil then
|
||||
|
||||
Reference in New Issue
Block a user