fix(pulje): efter indlæsning følges traktorer med puljeredskab uden ejer som forældreløse — sættes tilbage efter 2 min uden opgave (v1.60.5.0)
This commit is contained in:
@@ -631,6 +631,18 @@ end
|
|||||||
ADFlowWagons.AFTER_LOAD_MS = 120000
|
ADFlowWagons.AFTER_LOAD_MS = 120000
|
||||||
local sinceLoad, cleanedUp = 0, false
|
local sinceLoad, cleanedUp = 0, false
|
||||||
|
|
||||||
|
-- Efter indlæsning: traktorer uden for flows med et puljeredskab på (hentet før gemning, opgaven tabt) følges som
|
||||||
|
-- forældreløse — får de ingen opgave inden ORPHAN_MS, sættes redskabet tilbage (in-game 29/9: 3 læssevogne).
|
||||||
|
local function adoptOrphansAfterLoad(adEnv)
|
||||||
|
for _, vehicle in ipairs(ADRunsController.getFarmVehicles(adEnv)) do
|
||||||
|
local run = ADRunsController.getRunForVehicle(vehicle)
|
||||||
|
if (run == nil or run.stopped) and vehicle.spec_attacherJoints ~= nil and #ADHitch.poolParkIds(adEnv, vehicle) > 0
|
||||||
|
and not ADFlowWagons.isEmptying(vehicle) and not homing[vehicle] then
|
||||||
|
orphans[vehicle] = orphans[vehicle] or 0
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
local function cleanupAfterLoad(adEnv)
|
local function cleanupAfterLoad(adEnv)
|
||||||
for _, run in ipairs(runs()) do
|
for _, run in ipairs(runs()) do
|
||||||
if run.stopped then
|
if run.stopped then
|
||||||
@@ -669,6 +681,8 @@ function ADFlowWagons.tick(adEnv, dt)
|
|||||||
cleanedUp = true
|
cleanedUp = true
|
||||||
local ok, err = pcall(cleanupAfterLoad, adEnv)
|
local ok, err = pcall(cleanupAfterLoad, adEnv)
|
||||||
if not ok then Logging.warning(ADFlowWagons.LOG_PREFIX .. "oprydning efter indlæsning: %s", tostring(err)) end
|
if not ok then Logging.warning(ADFlowWagons.LOG_PREFIX .. "oprydning efter indlæsning: %s", tostring(err)) end
|
||||||
|
local okAdopt, errAdopt = pcall(adoptOrphansAfterLoad, adEnv)
|
||||||
|
if not okAdopt then Logging.warning(ADFlowWagons.LOG_PREFIX .. "redskaber uden opgave efter indlæsning: %s", tostring(errAdopt)) end
|
||||||
local okPrune, errPrune = pcall(ADRunsController.pruneMissingVehicles, adEnv)
|
local okPrune, errPrune = pcall(ADRunsController.pruneMissingVehicles, adEnv)
|
||||||
if not okPrune then Logging.warning(ADFlowWagons.LOG_PREFIX .. "oprydning af solgte traktorer: %s", tostring(errPrune)) end
|
if not okPrune then Logging.warning(ADFlowWagons.LOG_PREFIX .. "oprydning af solgte traktorer: %s", tostring(errPrune)) end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
||||||
<modDesc descVersion="107">
|
<modDesc descVersion="107">
|
||||||
<author>masterdraco</author>
|
<author>masterdraco</author>
|
||||||
<version>1.60.4.0</version>
|
<version>1.60.5.0</version>
|
||||||
<title>
|
<title>
|
||||||
<en>AD Smart Pickup</en>
|
<en>AD Smart Pickup</en>
|
||||||
</title>
|
</title>
|
||||||
|
|||||||
Reference in New Issue
Block a user