тогда алгорит достаточно простой:
...
--глобальные переменные
pi = 3.141592 -- для наглядности будем все переводить из радианов в углы
OneRad = 180/(pi)
...
-- алгоритм функции
...
function ...()
-- определяем необходимые переменные
local PrimAzimut = 0 -- азимут главной угрозы
local SignalType -- режим работы угрозы
local MaxPriority = 0 -- временная переменная, для определения наиболее приоритетной угрозы
local threats = LoGetTWSInfo(); -- получаем список угроз
if threats then
for mode,emit in pairs (threats.Emitters) do -- обходим в цикле все угрозы
local Azimut = emit.Azimuth * OneRad -- направление на угрозу
if emit.Priority > MaxPriority then -- находим в цикле угрозу с максимальным приоритетом
PrimAzimut = Azimut * OneRad
SignalType = emit.SignalType -- "scan" ,"lock", "missile_radio_guided","track_while_scan";
MaxPriority = emit.Priority
end
end
end
if MaxPriority > 0 then -- если есть угрозы
-- вывод на индикацию направления на угрозу PrimAzimutб и по необходимости режима ее работы SignalType(обзор, захват, пуск, СНП)
end
end