fix(cp): genstart efter indlæsning kun når CP's HUD-job er markarbejde

Moddets markopgaver starter CP med eget job; HUD'en kunne stå på bunkersilo,
og HUD-starten efter indlæsning gav 'CP: No silo found' (v1.60.13.0).
This commit is contained in:
2026-09-29 21:21:18 +02:00
parent d420d5026d
commit b33f7682b4
4 changed files with 23 additions and 3 deletions
+13 -2
View File
@@ -28,18 +28,28 @@ function ADCpResume.fromRecords(ids)
return set
end
-- vehicles = {{id, aiActive, controlled}} i fast rækkefølge -> id'er der skal startes (nil uden gemt liste)
-- vehicles = {{id, aiActive, controlled, fieldWork}} i fast rækkefølge -> id'er der skal startes (nil uden gemt liste).
-- fieldWork = false: CP's HUD-job er ikke markarbejde (fx bunkersilo) — HUD-start ville starte det forkerte job
-- (in-game 29/9: "CP: No silo found"); nil = ukendt (ældre CP) -> startes som før.
function ADCpResume.toStart(pending, vehicles)
if pending == nil then return nil end
local ids = {}
for _, vehicle in ipairs(vehicles or {}) do
if pending[vehicle.id] and not vehicle.aiActive and not vehicle.controlled then table.insert(ids, vehicle.id) end
if pending[vehicle.id] and not vehicle.aiActive and not vehicle.controlled and vehicle.fieldWork ~= false then
table.insert(ids, vehicle.id)
end
end
return ids
end
-- ---- spil ----
-- true/false fra CP's HUD; nil når CP-versionen ikke har funktionen
local function hudFieldWork(vehicle)
if vehicle.cpIsHudFieldWorkJobSelected == nil then return nil end
return vehicle:cpIsHudFieldWorkJobSelected() == true
end
local function vehicleState(adEnv, vehicle)
local ad = vehicle.ad
return {
@@ -48,6 +58,7 @@ local function vehicleState(adEnv, vehicle)
adActive = ad ~= nil and ad.stateModule ~= nil and ad.stateModule:isActive(),
aiActive = vehicle.getIsAIActive ~= nil and vehicle:getIsAIActive() == true,
controlled = vehicle.getIsControlled ~= nil and vehicle:getIsControlled() == true,
fieldWork = hudFieldWork(vehicle),
}
end
+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.12.0</version>
<version>1.60.13.0</version>
<title>
<en>AD Smart Pickup</en>
</title>