fix: Start run starter via AD's mode:start(USER_PLAYER) som HUD'en — startAutoDrive alene lod traktoren stå (v1.9.6.0)
This commit is contained in:
@@ -320,11 +320,29 @@ end
|
||||
-- Anvend run-tilstand OG start traktoren i ét pcall'et kald: kaster vehicle:startAutoDrive()
|
||||
-- (fx AD's egen validering), skal den ene traktor fejle uden at hele startRun-loopet
|
||||
-- afbrydes — ellers når de øvrige tildelte traktorer aldrig at blive startet.
|
||||
-- Start præcis som AD's HUD (ADInputManager:input_start_stop): det er MODE'ens start(),
|
||||
-- der opretter køreopgaverne og selv kalder startAutoDrive — startAutoDrive alene sætter
|
||||
-- kun "aktiv", og traktoren bliver holdende.
|
||||
local function applyAndStart(adEnv, run, vehicle, ingredients)
|
||||
applyRunToVehicle(adEnv, run, vehicle, ingredients)
|
||||
if not isVehicleActive(vehicle) then
|
||||
if isVehicleActive(vehicle) then
|
||||
return
|
||||
end
|
||||
local stateModule = vehicle.ad.stateModule
|
||||
local farmId = ADSmartPickup.getFarmId(vehicle)
|
||||
if stateModule.setActualFarmId ~= nil and farmId ~= nil then
|
||||
stateModule:setActualFarmId(farmId)
|
||||
end
|
||||
stateModule:setLoopsDone(0)
|
||||
local mode = stateModule.getCurrentMode ~= nil and stateModule:getCurrentMode() or nil
|
||||
if mode ~= nil and mode.start ~= nil then
|
||||
mode:start(adEnv.AutoDrive.USER_PLAYER or 1)
|
||||
else
|
||||
vehicle:startAutoDrive()
|
||||
end
|
||||
if vehicle.isServer and SpecializationUtil ~= nil and SpecializationUtil.raiseEvent ~= nil then
|
||||
SpecializationUtil.raiseEvent(vehicle, "onUpdate", 16, false, false, false)
|
||||
end
|
||||
end
|
||||
|
||||
-- Pr. tildelt traktor: validér, skriv AD-tilstand, start. ✖-traktorer springes over.
|
||||
|
||||
Reference in New Issue
Block a user