mirror of
https://github.com/dcs-liberation/dcs_liberation.git
synced 2025-11-10 14:22:26 +00:00
Fix Skynet scripting errors
added a better exception handling closes #2205
This commit is contained in:
parent
799e01c7b3
commit
321bd4e874
@ -31,12 +31,12 @@ if dcsLiberation and SkynetIADS then
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
env.info(string.format("DCSLiberation|Skynet-IADS plugin - createRedIADS=%s",tostring(createRedIADS)))
|
env.info(string.format("DCSLiberation|Skynet-IADS plugin - createRedIADS=%s", tostring(createRedIADS)))
|
||||||
env.info(string.format("DCSLiberation|Skynet-IADS plugin - createBlueIADS=%s",tostring(createBlueIADS)))
|
env.info(string.format("DCSLiberation|Skynet-IADS plugin - createBlueIADS=%s", tostring(createBlueIADS)))
|
||||||
env.info(string.format("DCSLiberation|Skynet-IADS plugin - includeRedInRadio=%s",tostring(includeRedInRadio)))
|
env.info(string.format("DCSLiberation|Skynet-IADS plugin - includeRedInRadio=%s", tostring(includeRedInRadio)))
|
||||||
env.info(string.format("DCSLiberation|Skynet-IADS plugin - includeBlueInRadio=%s",tostring(includeBlueInRadio)))
|
env.info(string.format("DCSLiberation|Skynet-IADS plugin - includeBlueInRadio=%s", tostring(includeBlueInRadio)))
|
||||||
env.info(string.format("DCSLiberation|Skynet-IADS plugin - debugRED=%s",tostring(debugRED)))
|
env.info(string.format("DCSLiberation|Skynet-IADS plugin - debugRED=%s", tostring(debugRED)))
|
||||||
env.info(string.format("DCSLiberation|Skynet-IADS plugin - debugBLUE=%s",tostring(debugBLUE)))
|
env.info(string.format("DCSLiberation|Skynet-IADS plugin - debugBLUE=%s", tostring(debugBLUE)))
|
||||||
|
|
||||||
-- actual configuration code
|
-- actual configuration code
|
||||||
local function initializeIADSElement(iads, iads_unit, element)
|
local function initializeIADSElement(iads, iads_unit, element)
|
||||||
@ -63,21 +63,25 @@ if dcsLiberation and SkynetIADS then
|
|||||||
iads_unit:setAutonomousBehaviour(element.autonomous_behaviour)
|
iads_unit:setAutonomousBehaviour(element.autonomous_behaviour)
|
||||||
end
|
end
|
||||||
if element.ConnectionNode then
|
if element.ConnectionNode then
|
||||||
for i,cn in pairs(element.ConnectionNode) do
|
for i, cn in pairs(element.ConnectionNode) do
|
||||||
env.info(string.format("DCSLiberation|Skynet-IADS plugin - adding IADS ConnectionNode %s", cn))
|
env.info(string.format("DCSLiberation|Skynet-IADS plugin - adding IADS ConnectionNode %s", cn))
|
||||||
local connection_node = StaticObject.getByName(cn .. " object") -- pydcs adds ' object' to the unit name for static elements
|
local connection_node = StaticObject.getByName(cn .. " object") -- pydcs adds ' object' to the unit name for static elements
|
||||||
iads_unit:addConnectionNode(connection_node)
|
if connection_node then
|
||||||
|
iads_unit:addConnectionNode(connection_node)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
if element.PowerSource then
|
if element.PowerSource then
|
||||||
for i,ps in pairs(element.PowerSource) do
|
for i, ps in pairs(element.PowerSource) do
|
||||||
env.info(string.format("DCSLiberation|Skynet-IADS plugin - adding IADS PowerSource %s", ps))
|
env.info(string.format("DCSLiberation|Skynet-IADS plugin - adding IADS PowerSource %s", ps))
|
||||||
local power_source = StaticObject.getByName(ps .. " object") -- pydcs adds ' object' to the unit name for static elements
|
local power_source = StaticObject.getByName(ps .. " object") -- pydcs adds ' object' to the unit name for static elements
|
||||||
iads_unit:addPowerSource(power_source)
|
if power_source then
|
||||||
|
iads_unit:addPowerSource(power_source)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
if element.PD then
|
if element.PD then
|
||||||
for i,pd in pairs(element.PD) do
|
for i, pd in pairs(element.PD) do
|
||||||
env.info(string.format("DCSLiberation|Skynet-IADS plugin - adding IADS Point Defence %s", pd))
|
env.info(string.format("DCSLiberation|Skynet-IADS plugin - adding IADS Point Defence %s", pd))
|
||||||
local point_defence = iads:addSAMSite(pd)
|
local point_defence = iads:addSAMSite(pd)
|
||||||
if point_defence ~= nil then
|
if point_defence ~= nil then
|
||||||
@ -136,33 +140,38 @@ if dcsLiberation and SkynetIADS then
|
|||||||
if dcsLiberation.IADS then
|
if dcsLiberation.IADS then
|
||||||
local coalition_iads = dcsLiberation.IADS[coalitionPrefix]
|
local coalition_iads = dcsLiberation.IADS[coalitionPrefix]
|
||||||
if coalition_iads.Ewr then
|
if coalition_iads.Ewr then
|
||||||
for _,unit in pairs(coalition_iads.Ewr) do
|
for _, unit in pairs(coalition_iads.Ewr) do
|
||||||
env.info(string.format("DCSLiberation|Skynet-IADS plugin - processing IADS EWR %s", unit.dcsGroupName))
|
env.info(string.format("DCSLiberation|Skynet-IADS plugin - processing IADS EWR %s", unit.dcsGroupName))
|
||||||
local iads_unit = iads:addEarlyWarningRadar(unit.dcsGroupName)
|
local iads_unit = iads:addEarlyWarningRadar(unit.dcsGroupName)
|
||||||
initializeIADSElement(iads, iads_unit, unit)
|
initializeIADSElement(iads, iads_unit, unit)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
if coalition_iads.Sam then
|
if coalition_iads.Sam then
|
||||||
for _,unit in pairs(coalition_iads.Sam) do
|
for _, unit in pairs(coalition_iads.Sam) do
|
||||||
env.info(string.format("DCSLiberation|Skynet-IADS plugin - processing IADS SAM %s", unit.dcsGroupName))
|
env.info(string.format("DCSLiberation|Skynet-IADS plugin - processing IADS SAM %s", unit.dcsGroupName))
|
||||||
local iads_unit = iads:addSAMSite(unit.dcsGroupName)
|
local iads_unit = iads:addSAMSite(unit.dcsGroupName)
|
||||||
initializeIADSElement(iads, iads_unit, unit)
|
initializeIADSElement(iads, iads_unit, unit)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
if coalition_iads.SamAsEwr then
|
if coalition_iads.SamAsEwr then
|
||||||
for _,unit in pairs(coalition_iads.SamAsEwr) do
|
for _, unit in pairs(coalition_iads.SamAsEwr) do
|
||||||
env.info(string.format("DCSLiberation|Skynet-IADS plugin - processing IADS SAM as EWR %s", unit.dcsGroupName))
|
env.info(string.format("DCSLiberation|Skynet-IADS plugin - processing IADS SAM as EWR %s", unit.dcsGroupName))
|
||||||
local iads_unit = iads:addSAMSite(unit.dcsGroupName)
|
local iads_unit = iads:addSAMSite(unit.dcsGroupName)
|
||||||
iads_unit:setActAsEW(true)
|
if iads_unit ~= nil then
|
||||||
initializeIADSElement(iads, iads_unit, unit)
|
-- only process if its a valid skynet group
|
||||||
|
iads_unit:setActAsEW(true)
|
||||||
|
initializeIADSElement(iads, iads_unit, unit)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
if coalition_iads.CommandCenter then
|
if coalition_iads.CommandCenter then
|
||||||
for _,unit in pairs(coalition_iads.CommandCenter) do
|
for _, unit in pairs(coalition_iads.CommandCenter) do
|
||||||
env.info(string.format("DCSLiberation|Skynet-IADS plugin - processing IADS Command Center %s", unit.dcsGroupName))
|
env.info(string.format("DCSLiberation|Skynet-IADS plugin - processing IADS Command Center %s", unit.dcsGroupName))
|
||||||
local commandCenter = StaticObject.getByName(unit.dcsGroupName .. " object") -- pydcs adds ' object' to the unit name for static elements
|
local commandCenter = StaticObject.getByName(unit.dcsGroupName .. " object") -- pydcs adds ' object' to the unit name for static elements
|
||||||
local iads_unit = iads:addCommandCenter(commandCenter)
|
if commandCenter then
|
||||||
initializeIADSElement(iads, iads_unit, unit)
|
local iads_unit = iads:addCommandCenter(commandCenter)
|
||||||
|
initializeIADSElement(iads, iads_unit, unit)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -192,4 +201,4 @@ if dcsLiberation and SkynetIADS then
|
|||||||
initializeIADS(blueIADS, 2, includeBlueInRadio, debugBLUE) -- BLUE
|
initializeIADS(blueIADS, 2, includeBlueInRadio, debugBLUE) -- BLUE
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user