fix(udkørsel): 'Wait at: All' vælger det ledige Wait-punkt nærmest flowets kilder, ikke nærmest traktoren (v1.57.1.0)
This commit is contained in:
@@ -493,7 +493,17 @@ local function startHold(adEnv, vehicle, run, reasons, sourcesById)
|
||||
local isReachable = function(candidate)
|
||||
return ADWaitPool.hasRouteTo(adEnv, vehicle, candidate.marker.id)
|
||||
end
|
||||
local candidate = ADWaitPool.pickFree(adEnv, vehicle, run.waitPoolGroup, isReachable)
|
||||
-- "All": nærmest flowets egne kilder, ikke nærmest traktoren (in-game 29/9: Milk Store ved sukkerroeknuseren)
|
||||
local anchorX, anchorZ = nil, nil
|
||||
if run.waitPoolGroup == nil then
|
||||
local points = {}
|
||||
for _, id in ipairs(run.sourceWayPointIds or {}) do
|
||||
local wayPoint = adEnv.ADGraphManager:getWayPointById(id)
|
||||
if wayPoint ~= nil then table.insert(points, {x = wayPoint.x, z = wayPoint.z}) end
|
||||
end
|
||||
anchorX, anchorZ = ADWaitPool.anchorOf(points)
|
||||
end
|
||||
local candidate = ADWaitPool.pickFree(adEnv, vehicle, run.waitPoolGroup, isReachable, anchorX, anchorZ)
|
||||
local marker, source = nil, nil
|
||||
if candidate ~= nil then
|
||||
ADWaitPool.claim(candidate.marker.id, vehicle)
|
||||
|
||||
@@ -97,8 +97,18 @@ local function otherVehiclePositions(vehicle)
|
||||
return positions
|
||||
end
|
||||
|
||||
function ADWaitPool.pickFree(adEnv, vehicle, poolGroup, isReachable)
|
||||
-- Midtpunkt af punkter {x, z} (fx flowets kilde-markører) -> x, z eller nil.
|
||||
function ADWaitPool.anchorOf(points)
|
||||
if points == nil or #points == 0 then return nil end
|
||||
local sx, sz = 0, 0
|
||||
for _, point in ipairs(points) do sx, sz = sx + point.x, sz + point.z end
|
||||
return sx / #points, sz / #points
|
||||
end
|
||||
|
||||
-- anchorX/anchorZ (valgfri): vælg nærmest dette punkt i stedet for traktoren (flow med "All": nærmest kilderne).
|
||||
function ADWaitPool.pickFree(adEnv, vehicle, poolGroup, isReachable, anchorX, anchorZ)
|
||||
local x, z = getVehiclePosition(vehicle)
|
||||
if anchorX ~= nil and anchorZ ~= nil then x, z = anchorX, anchorZ end
|
||||
if x == nil then
|
||||
return nil
|
||||
end
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
||||
<modDesc descVersion="107">
|
||||
<author>masterdraco</author>
|
||||
<version>1.57.0.0</version>
|
||||
<version>1.57.1.0</version>
|
||||
<title>
|
||||
<en>AD Smart Pickup</en>
|
||||
</title>
|
||||
|
||||
Reference in New Issue
Block a user