mirror of
https://github.com/ciribob/DCS-CTLD.git
synced 2026-08-20 07:43:01 +00:00
Added checks to avoind nil errors in ctld.adjustRoute
This commit is contained in:
@@ -7887,26 +7887,56 @@ function ctld.adjustRoute(_initialRouteTable, _firstWpOfNewRoute) -- create a r
|
|||||||
|
|
||||||
-- apply offset (_firstWpOfNewRoute) to SwitchWaypoint tasks
|
-- apply offset (_firstWpOfNewRoute) to SwitchWaypoint tasks
|
||||||
local lastWpAsAlreadySwitchWaypoint = false
|
local lastWpAsAlreadySwitchWaypoint = false
|
||||||
for idx = 1, #adjustedRoute do
|
for idx2 = 1, #adjustedRoute do
|
||||||
for j=1, #adjustedRoute[idx].task.params.tasks do
|
if #adjustedRoute[idx2] and
|
||||||
if adjustedRoute[idx].task.params.tasks[j].id ~= "ControlledTask" then
|
#adjustedRoute[idx2].task and
|
||||||
if adjustedRoute[idx].task.params.tasks[j].params.action.id == "SwitchWaypoint" then
|
#adjustedRoute[idx2].task.params and
|
||||||
local goToWaypointIndex = adjustedRoute[idx].task.params.tasks[j].params.action.params.goToWaypointIndex
|
#adjustedRoute[idx2].task.params.tasks then
|
||||||
adjustedRoute[idx].task.params.tasks[j].params.action.params.fromWaypointIndex = idx
|
|
||||||
adjustedRoute[idx].task.params.tasks[j].params.action.params.goToWaypointIndex = mappingWP[goToWaypointIndex]
|
for j=1, #adjustedRoute[idx2].task.params.tasks do
|
||||||
if idx == #adjustedRoute then
|
if adjustedRoute[idx2].task.params.tasks[j].id and
|
||||||
lastWpAsAlreadySwitchWaypoint = true
|
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
|
||||||
end
|
|
||||||
else -- for "ControlledTask"
|
else -- for "ControlledTask"
|
||||||
if adjustedRoute[idx].task.params.tasks[j].params.task.params.action.id == "SwitchWaypoint" then
|
if adjustedRoute[idx2].task.params.tasks[j].params and
|
||||||
local goToWaypointIndex = adjustedRoute[idx].task.params.tasks[j].params.task.params.action.params.goToWaypointIndex
|
adjustedRoute[idx2].task.params.tasks[j].params.task and
|
||||||
adjustedRoute[idx].task.params.tasks[j].params.task.params.action.params.fromWaypointIndex = idx
|
adjustedRoute[idx2].task.params.tasks[j].params.task.params and
|
||||||
adjustedRoute[idx].task.params.tasks[j].params.task.params.action.params.goToWaypointIndex = mappingWP[goToWaypointIndex]
|
adjustedRoute[idx2].task.params.tasks[j].params.task.params.action and
|
||||||
if idx == #adjustedRoute then
|
adjustedRoute[idx2].task.params.tasks[j].params.task.params.action.id and
|
||||||
lastWpAsAlreadySwitchWaypoint = true
|
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
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user