fix(markarbejde): 'ingen maskine sendt' logger hver maskine med rollen og hvorfor (spiller i, AD/CP kører, opgave, marksilo-lån, ikke i flåden); manuel-transport-høstere afvises ikke for afstand til vejnettet (v1.38.2.0)
This commit is contained in:
@@ -137,6 +137,10 @@ function ADFieldWork.getRigs(adEnv)
|
|||||||
-- egen parkeringstur) — den må ikke kapres midt i en anden kørsel
|
-- egen parkeringstur) — den må ikke kapres midt i en anden kørsel
|
||||||
busy = state.assignments[id] ~= nil or isAdActive(vehicle) or ADCpBridge.isWorking(vehicle)
|
busy = state.assignments[id] ~= nil or isAdActive(vehicle) or ADCpBridge.isWorking(vehicle)
|
||||||
or (ADFieldSilos ~= nil and ADFieldSilos.isLoaned(vehicle)),
|
or (ADFieldSilos ~= nil and ADFieldSilos.isLoaned(vehicle)),
|
||||||
|
-- hvorfor optaget (til loggen, når ingen maskine kan sendes ud)
|
||||||
|
busyWhy = (state.assignments[id] ~= nil and ("opgave F" .. tostring(state.assignments[id].fieldId)))
|
||||||
|
or (isAdActive(vehicle) and "AutoDrive kører") or (ADCpBridge.isWorking(vehicle) and "Courseplay kører")
|
||||||
|
or (ADFieldSilos ~= nil and ADFieldSilos.isLoaned(vehicle) and "lånt af marksilo-flow") or nil,
|
||||||
controlled = isControlledByPlayer(vehicle),
|
controlled = isControlledByPlayer(vehicle),
|
||||||
-- manuel transport: spilleren kører den til marken (for bred til vejene med skærebord)
|
-- manuel transport: spilleren kører den til marken (for bred til vejene med skærebord)
|
||||||
manual = (state.manual or {})[id] == true,
|
manual = (state.manual or {})[id] == true,
|
||||||
@@ -383,6 +387,8 @@ function ADFieldWork.dispatch(adEnv, field, info, decision)
|
|||||||
local offNetwork = {}
|
local offNetwork = {}
|
||||||
local accept = function(candidate)
|
local accept = function(candidate)
|
||||||
if roleAccept ~= nil and not roleAccept(candidate) then return false end
|
if roleAccept ~= nil and not roleAccept(candidate) then return false end
|
||||||
|
-- manuel transport: spilleren kører den — afstand til AutoDrive-vejnettet er ligegyldig
|
||||||
|
if role == "harvester" and candidate.manual then return true end
|
||||||
local d = candidate.x ~= nil and ADFieldWork.distanceToNetwork(adEnv, candidate.x, candidate.z) or nil
|
local d = candidate.x ~= nil and ADFieldWork.distanceToNetwork(adEnv, candidate.x, candidate.z) or nil
|
||||||
if d ~= nil and d > ADFieldWork.MAX_OFF_NETWORK then
|
if d ~= nil and d > ADFieldWork.MAX_OFF_NETWORK then
|
||||||
table.insert(offNetwork, string.format("'%s' %.0f m", tostring(candidate.label), d))
|
table.insert(offNetwork, string.format("'%s' %.0f m", tostring(candidate.label), d))
|
||||||
@@ -410,7 +416,16 @@ function ADFieldWork.dispatch(adEnv, field, info, decision)
|
|||||||
local noRigKey = tostring(role) .. ":" .. tostring(why)
|
local noRigKey = tostring(role) .. ":" .. tostring(why)
|
||||||
if lastNoRig[field.id] ~= noRigKey then
|
if lastNoRig[field.id] ~= noRigKey then
|
||||||
lastNoRig[field.id] = noRigKey
|
lastNoRig[field.id] = noRigKey
|
||||||
log(field.id, "ingen maskine sendt til %s: %s", tostring(role), tostring(why))
|
-- hvem har rollen, og hvorfor kan de ikke bruges (in-game 27/9: "allBusy" uden at sige hvem)
|
||||||
|
local who = {}
|
||||||
|
for _, candidate in ipairs(candidates) do
|
||||||
|
if candidate.role == role or (candidate.roles ~= nil and candidate.roles[role]) then
|
||||||
|
local state = candidate.controlled and "spiller i førersædet" or candidate.busyWhy
|
||||||
|
or (not candidate.enabled and "ikke i flåden") or (roleAccept ~= nil and not roleAccept(candidate) and "kan ikke (afgrøde/frø)") or "ledig"
|
||||||
|
table.insert(who, string.format("'%s': %s", tostring(candidate.label), state))
|
||||||
|
end
|
||||||
|
end
|
||||||
|
log(field.id, "ingen maskine sendt til %s: %s%s", tostring(role), tostring(why), #who > 0 and (" — " .. table.concat(who, "; ")) or "")
|
||||||
end
|
end
|
||||||
return
|
return
|
||||||
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.38.1.0</version>
|
<version>1.38.2.0</version>
|
||||||
<title>
|
<title>
|
||||||
<en>AD Smart Pickup</en>
|
<en>AD Smart Pickup</en>
|
||||||
</title>
|
</title>
|
||||||
|
|||||||
Reference in New Issue
Block a user