mirror of
https://github.com/ciribob/DCS-CTLD.git
synced 2025-08-15 06:17:22 +00:00
Added checks to avoind nil errors in ctld.adjustRoute
This commit is contained in:
parent
290950a16b
commit
f7f603c486
64
CTLD.lua
64
CTLD.lua
@ -7887,26 +7887,56 @@ function ctld.adjustRoute(_initialRouteTable, _firstWpOfNewRoute) -- create a r
|
||||
|
||||
-- apply offset (_firstWpOfNewRoute) to SwitchWaypoint tasks
|
||||
local lastWpAsAlreadySwitchWaypoint = false
|
||||
for idx = 1, #adjustedRoute do
|
||||
for j=1, #adjustedRoute[idx].task.params.tasks do
|
||||
if adjustedRoute[idx].task.params.tasks[j].id ~= "ControlledTask" then
|
||||
if adjustedRoute[idx].task.params.tasks[j].params.action.id == "SwitchWaypoint" then
|
||||
local goToWaypointIndex = adjustedRoute[idx].task.params.tasks[j].params.action.params.goToWaypointIndex
|
||||
adjustedRoute[idx].task.params.tasks[j].params.action.params.fromWaypointIndex = idx
|
||||
adjustedRoute[idx].task.params.tasks[j].params.action.params.goToWaypointIndex = mappingWP[goToWaypointIndex]
|
||||
if idx == #adjustedRoute then
|
||||
lastWpAsAlreadySwitchWaypoint = true
|
||||
for idx2 = 1, #adjustedRoute do
|
||||
if #adjustedRoute[idx2] and
|
||||
#adjustedRoute[idx2].task and
|
||||
#adjustedRoute[idx2].task.params and
|
||||
#adjustedRoute[idx2].task.params.tasks then
|
||||
|
||||
for j=1, #adjustedRoute[idx2].task.params.tasks do
|
||||
if adjustedRoute[idx2].task.params.tasks[j].id and
|
||||
adjustedRoute[idx2].task.params.tasks[j].id ~= "ControlledTask" then
|
||||
|
||||
if adjustedRoute[idx2].task.params.tasks[j].params and
|
||||
adjustedRoute[idx2].task.params.tasks[j].params.action and
|
||||
adjustedRoute[idx2].task.params.tasks[j].params.action.id and
|
||||
adjustedRoute[idx2].task.params.tasks[j].params.action.id == "SwitchWaypoint" then
|
||||
|
||||
if adjustedRoute[idx2].task.params.tasks[j].params.action.params then
|
||||
|
||||
local goToWaypointIndex = adjustedRoute[idx2].task.params.tasks[j].params.action.params.goToWaypointIndex
|
||||
adjustedRoute[idx2].task.params.tasks[j].params.action.params.fromWaypointIndex = idx2
|
||||
adjustedRoute[idx2].task.params.tasks[j].params.action.params.goToWaypointIndex = mappingWP[goToWaypointIndex]
|
||||
if idx2 == #adjustedRoute then
|
||||
lastWpAsAlreadySwitchWaypoint = true
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
else -- for "ControlledTask"
|
||||
if adjustedRoute[idx].task.params.tasks[j].params.task.params.action.id == "SwitchWaypoint" then
|
||||
local goToWaypointIndex = adjustedRoute[idx].task.params.tasks[j].params.task.params.action.params.goToWaypointIndex
|
||||
adjustedRoute[idx].task.params.tasks[j].params.task.params.action.params.fromWaypointIndex = idx
|
||||
adjustedRoute[idx].task.params.tasks[j].params.task.params.action.params.goToWaypointIndex = mappingWP[goToWaypointIndex]
|
||||
if idx == #adjustedRoute then
|
||||
lastWpAsAlreadySwitchWaypoint = true
|
||||
|
||||
else -- for "ControlledTask"
|
||||
if adjustedRoute[idx2].task.params.tasks[j].params and
|
||||
adjustedRoute[idx2].task.params.tasks[j].params.task and
|
||||
adjustedRoute[idx2].task.params.tasks[j].params.task.params and
|
||||
adjustedRoute[idx2].task.params.tasks[j].params.task.params.action and
|
||||
adjustedRoute[idx2].task.params.tasks[j].params.task.params.action.id and
|
||||
adjustedRoute[idx2].task.params.tasks[j].params.task.params.action.id == "SwitchWaypoint" then
|
||||
|
||||
if adjustedRoute[idx2].task.params.tasks[j].params.task.params.action.params then
|
||||
|
||||
local goToWaypointIndex = adjustedRoute[idx2].task.params.tasks[j].params.task.params.action.params.goToWaypointIndex
|
||||
adjustedRoute[idx2].task.params.tasks[j].params.task.params.action.params.fromWaypointIndex = idx2
|
||||
adjustedRoute[idx2].task.params.tasks[j].params.task.params.action.params.goToWaypointIndex = mappingWP[goToWaypointIndex]
|
||||
if idx2 == #adjustedRoute then
|
||||
lastWpAsAlreadySwitchWaypoint = true
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user