mirror of
https://github.com/FlightControl-Master/MOOSE.git
synced 2025-10-29 16:58:06 +00:00
Done fixed for SLMOD. Need to retest.
This commit is contained in:
parent
8b57ab494b
commit
c3da8ac008
@ -440,7 +440,7 @@ end
|
|||||||
-- @param Arguments A #table or any field.
|
-- @param Arguments A #table or any field.
|
||||||
function BASE:_F( Arguments, DebugInfoCurrentParam, DebugInfoFromParam )
|
function BASE:_F( Arguments, DebugInfoCurrentParam, DebugInfoFromParam )
|
||||||
|
|
||||||
if ( _TraceAll == true ) or ( _TraceClass[self.ClassName] or _TraceClassMethod[self.ClassName] ) then
|
if debug and ( _TraceAll == true ) or ( _TraceClass[self.ClassName] or _TraceClassMethod[self.ClassName] ) then
|
||||||
|
|
||||||
local DebugInfoCurrent = DebugInfoCurrentParam and DebugInfoCurrentParam or debug.getinfo( 2, "nl" )
|
local DebugInfoCurrent = DebugInfoCurrentParam and DebugInfoCurrentParam or debug.getinfo( 2, "nl" )
|
||||||
local DebugInfoFrom = DebugInfoFromParam and DebugInfoFromParam or debug.getinfo( 3, "l" )
|
local DebugInfoFrom = DebugInfoFromParam and DebugInfoFromParam or debug.getinfo( 3, "l" )
|
||||||
@ -469,7 +469,7 @@ end
|
|||||||
-- @param Arguments A #table or any field.
|
-- @param Arguments A #table or any field.
|
||||||
function BASE:F( Arguments )
|
function BASE:F( Arguments )
|
||||||
|
|
||||||
if _TraceOnOff then
|
if debug and _TraceOnOff then
|
||||||
local DebugInfoCurrent = debug.getinfo( 2, "nl" )
|
local DebugInfoCurrent = debug.getinfo( 2, "nl" )
|
||||||
local DebugInfoFrom = debug.getinfo( 3, "l" )
|
local DebugInfoFrom = debug.getinfo( 3, "l" )
|
||||||
|
|
||||||
@ -485,7 +485,7 @@ end
|
|||||||
-- @param Arguments A #table or any field.
|
-- @param Arguments A #table or any field.
|
||||||
function BASE:F2( Arguments )
|
function BASE:F2( Arguments )
|
||||||
|
|
||||||
if _TraceOnOff then
|
if debug and _TraceOnOff then
|
||||||
local DebugInfoCurrent = debug.getinfo( 2, "nl" )
|
local DebugInfoCurrent = debug.getinfo( 2, "nl" )
|
||||||
local DebugInfoFrom = debug.getinfo( 3, "l" )
|
local DebugInfoFrom = debug.getinfo( 3, "l" )
|
||||||
|
|
||||||
@ -500,7 +500,7 @@ end
|
|||||||
-- @param Arguments A #table or any field.
|
-- @param Arguments A #table or any field.
|
||||||
function BASE:F3( Arguments )
|
function BASE:F3( Arguments )
|
||||||
|
|
||||||
if _TraceOnOff then
|
if debug and _TraceOnOff then
|
||||||
local DebugInfoCurrent = debug.getinfo( 2, "nl" )
|
local DebugInfoCurrent = debug.getinfo( 2, "nl" )
|
||||||
local DebugInfoFrom = debug.getinfo( 3, "l" )
|
local DebugInfoFrom = debug.getinfo( 3, "l" )
|
||||||
|
|
||||||
@ -515,7 +515,7 @@ end
|
|||||||
-- @param Arguments A #table or any field.
|
-- @param Arguments A #table or any field.
|
||||||
function BASE:_T( Arguments, DebugInfoCurrentParam, DebugInfoFromParam )
|
function BASE:_T( Arguments, DebugInfoCurrentParam, DebugInfoFromParam )
|
||||||
|
|
||||||
if ( _TraceAll == true ) or ( _TraceClass[self.ClassName] or _TraceClassMethod[self.ClassName] ) then
|
if debug and ( _TraceAll == true ) or ( _TraceClass[self.ClassName] or _TraceClassMethod[self.ClassName] ) then
|
||||||
|
|
||||||
local DebugInfoCurrent = DebugInfoCurrentParam and DebugInfoCurrentParam or debug.getinfo( 2, "nl" )
|
local DebugInfoCurrent = DebugInfoCurrentParam and DebugInfoCurrentParam or debug.getinfo( 2, "nl" )
|
||||||
local DebugInfoFrom = DebugInfoFromParam and DebugInfoFromParam or debug.getinfo( 3, "l" )
|
local DebugInfoFrom = DebugInfoFromParam and DebugInfoFromParam or debug.getinfo( 3, "l" )
|
||||||
@ -544,7 +544,7 @@ end
|
|||||||
-- @param Arguments A #table or any field.
|
-- @param Arguments A #table or any field.
|
||||||
function BASE:T( Arguments )
|
function BASE:T( Arguments )
|
||||||
|
|
||||||
if _TraceOnOff then
|
if debug and _TraceOnOff then
|
||||||
local DebugInfoCurrent = debug.getinfo( 2, "nl" )
|
local DebugInfoCurrent = debug.getinfo( 2, "nl" )
|
||||||
local DebugInfoFrom = debug.getinfo( 3, "l" )
|
local DebugInfoFrom = debug.getinfo( 3, "l" )
|
||||||
|
|
||||||
@ -560,7 +560,7 @@ end
|
|||||||
-- @param Arguments A #table or any field.
|
-- @param Arguments A #table or any field.
|
||||||
function BASE:T2( Arguments )
|
function BASE:T2( Arguments )
|
||||||
|
|
||||||
if _TraceOnOff then
|
if debug and _TraceOnOff then
|
||||||
local DebugInfoCurrent = debug.getinfo( 2, "nl" )
|
local DebugInfoCurrent = debug.getinfo( 2, "nl" )
|
||||||
local DebugInfoFrom = debug.getinfo( 3, "l" )
|
local DebugInfoFrom = debug.getinfo( 3, "l" )
|
||||||
|
|
||||||
@ -575,7 +575,7 @@ end
|
|||||||
-- @param Arguments A #table or any field.
|
-- @param Arguments A #table or any field.
|
||||||
function BASE:T3( Arguments )
|
function BASE:T3( Arguments )
|
||||||
|
|
||||||
if _TraceOnOff then
|
if debug and _TraceOnOff then
|
||||||
local DebugInfoCurrent = debug.getinfo( 2, "nl" )
|
local DebugInfoCurrent = debug.getinfo( 2, "nl" )
|
||||||
local DebugInfoFrom = debug.getinfo( 3, "l" )
|
local DebugInfoFrom = debug.getinfo( 3, "l" )
|
||||||
|
|
||||||
@ -590,21 +590,24 @@ end
|
|||||||
-- @param Arguments A #table or any field.
|
-- @param Arguments A #table or any field.
|
||||||
function BASE:E( Arguments )
|
function BASE:E( Arguments )
|
||||||
|
|
||||||
local DebugInfoCurrent = debug.getinfo( 2, "nl" )
|
if debug then
|
||||||
local DebugInfoFrom = debug.getinfo( 3, "l" )
|
local DebugInfoCurrent = debug.getinfo( 2, "nl" )
|
||||||
|
local DebugInfoFrom = debug.getinfo( 3, "l" )
|
||||||
local Function = "function"
|
|
||||||
if DebugInfoCurrent.name then
|
local Function = "function"
|
||||||
Function = DebugInfoCurrent.name
|
if DebugInfoCurrent.name then
|
||||||
end
|
Function = DebugInfoCurrent.name
|
||||||
|
end
|
||||||
local LineCurrent = DebugInfoCurrent.currentline
|
|
||||||
local LineFrom = -1
|
local LineCurrent = DebugInfoCurrent.currentline
|
||||||
if DebugInfoFrom then
|
local LineFrom = -1
|
||||||
LineFrom = DebugInfoFrom.currentline
|
if DebugInfoFrom then
|
||||||
end
|
LineFrom = DebugInfoFrom.currentline
|
||||||
|
end
|
||||||
env.info( string.format( "%6d(%6d)/%1s:%20s%05d.%s(%s)" , LineCurrent, LineFrom, "E", self.ClassName, self.ClassID, Function, routines.utils.oneLineSerialize( Arguments ) ) )
|
|
||||||
|
env.info( string.format( "%6d(%6d)/%1s:%20s%05d.%s(%s)" , LineCurrent, LineFrom, "E", self.ClassName, self.ClassID, Function, routines.utils.oneLineSerialize( Arguments ) ) )
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -394,15 +394,17 @@ function DETECTION_UNITGROUPS:SmokeDetectedUnits()
|
|||||||
self:F2()
|
self:F2()
|
||||||
|
|
||||||
self._SmokeDetectedUnits = true
|
self._SmokeDetectedUnits = true
|
||||||
|
return self
|
||||||
end
|
end
|
||||||
|
|
||||||
--- Flare the detected units
|
--- Flare the detected units
|
||||||
-- @param #DETECTION_UNITGROUPS self
|
-- @param #DETECTION_UNITGROUPS self
|
||||||
-- @return #DETECTION_UNITGROUPS self
|
-- @return #DETECTION_UNITGROUPS self
|
||||||
function DETECTION_UNITGROUPS:SmokeDetectedUnits()
|
function DETECTION_UNITGROUPS:FlareDetectedUnits()
|
||||||
self:F2()
|
self:F2()
|
||||||
|
|
||||||
self._FlareDetectedUnits = true
|
self._FlareDetectedUnits = true
|
||||||
|
return self
|
||||||
end
|
end
|
||||||
|
|
||||||
--- Smoke the detected zones
|
--- Smoke the detected zones
|
||||||
@ -412,6 +414,7 @@ function DETECTION_UNITGROUPS:SmokeDetectedZones()
|
|||||||
self:F2()
|
self:F2()
|
||||||
|
|
||||||
self._SmokeDetectedZones = true
|
self._SmokeDetectedZones = true
|
||||||
|
return self
|
||||||
end
|
end
|
||||||
|
|
||||||
--- Flare the detected zones
|
--- Flare the detected zones
|
||||||
@ -421,6 +424,7 @@ function DETECTION_UNITGROUPS:FlareDetectedZones()
|
|||||||
self:F2()
|
self:F2()
|
||||||
|
|
||||||
self._FlareDetectedZones = true
|
self._FlareDetectedZones = true
|
||||||
|
return self
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
@ -445,7 +449,6 @@ function DETECTION_UNITGROUPS:CreateDetectionSets()
|
|||||||
for DetectedZoneIndex = 1, #self.DetectedZones do
|
for DetectedZoneIndex = 1, #self.DetectedZones do
|
||||||
self:T( "Detected Unit Set #" .. DetectedZoneIndex )
|
self:T( "Detected Unit Set #" .. DetectedZoneIndex )
|
||||||
local DetectedUnitSet = self.DetectedSets[DetectedZoneIndex] -- Set#SET_BASE
|
local DetectedUnitSet = self.DetectedSets[DetectedZoneIndex] -- Set#SET_BASE
|
||||||
DetectedUnitSet:Flush()
|
|
||||||
local DetectedZone = self.DetectedZones[DetectedZoneIndex] -- Zone#ZONE_UNIT
|
local DetectedZone = self.DetectedZones[DetectedZoneIndex] -- Zone#ZONE_UNIT
|
||||||
if DetectedUnit:IsInZone( DetectedZone ) then
|
if DetectedUnit:IsInZone( DetectedZone ) then
|
||||||
self:T( "Adding to Unit Set #" .. DetectedZoneIndex )
|
self:T( "Adding to Unit Set #" .. DetectedZoneIndex )
|
||||||
|
|||||||
@ -465,7 +465,8 @@ function EVENT:OnPlayerLeaveUnit( EventFunction, EventSelf )
|
|||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
--- @param #EVENT self
|
||||||
|
-- @param #EVENTDATA Event
|
||||||
function EVENT:onEvent( Event )
|
function EVENT:onEvent( Event )
|
||||||
self:F2( { _EVENTCODES[Event.id], Event } )
|
self:F2( { _EVENTCODES[Event.id], Event } )
|
||||||
|
|
||||||
@ -499,7 +500,7 @@ function EVENT:onEvent( Event )
|
|||||||
Event.WeaponName = Event.Weapon:getTypeName()
|
Event.WeaponName = Event.Weapon:getTypeName()
|
||||||
--Event.WeaponTgtDCSUnit = Event.Weapon:getTarget()
|
--Event.WeaponTgtDCSUnit = Event.Weapon:getTarget()
|
||||||
end
|
end
|
||||||
self:E( { _EVENTCODES[Event.id], Event } )
|
self:E( { _EVENTCODES[Event.id], Event.IniUnitName, Event.TgtUnitName, Event.WeaponName } )
|
||||||
for ClassName, EventData in pairs( self.Events[Event.id] ) do
|
for ClassName, EventData in pairs( self.Events[Event.id] ) do
|
||||||
if Event.IniDCSUnitName and EventData.IniUnit and EventData.IniUnit[Event.IniDCSUnitName] then
|
if Event.IniDCSUnitName and EventData.IniUnit and EventData.IniUnit[Event.IniDCSUnitName] then
|
||||||
self:E( { "Calling event function for class ", ClassName, " unit ", Event.IniDCSUnitName } )
|
self:E( { "Calling event function for class ", ClassName, " unit ", Event.IniDCSUnitName } )
|
||||||
|
|||||||
@ -111,8 +111,10 @@ function SCHEDULER:_Scheduler()
|
|||||||
local ErrorHandler = function( errmsg )
|
local ErrorHandler = function( errmsg )
|
||||||
|
|
||||||
env.info( "Error in SCHEDULER function:" .. errmsg )
|
env.info( "Error in SCHEDULER function:" .. errmsg )
|
||||||
env.info( debug.traceback() )
|
if debug ~= nil then
|
||||||
|
env.info( debug.traceback() )
|
||||||
|
end
|
||||||
|
|
||||||
return errmsg
|
return errmsg
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@ -50,7 +50,6 @@ function SEAD:EventShot( Event )
|
|||||||
local SEADUnitName = Event.IniDCSUnitName
|
local SEADUnitName = Event.IniDCSUnitName
|
||||||
local SEADWeapon = Event.Weapon -- Identify the weapon fired
|
local SEADWeapon = Event.Weapon -- Identify the weapon fired
|
||||||
local SEADWeaponName = Event.WeaponName -- return weapon type
|
local SEADWeaponName = Event.WeaponName -- return weapon type
|
||||||
--trigger.action.outText( string.format("Alerte, depart missile " ..string.format(SEADWeaponName)), 20) --debug message
|
|
||||||
-- Start of the 2nd loop
|
-- Start of the 2nd loop
|
||||||
self:T( "Missile Launched = " .. SEADWeaponName )
|
self:T( "Missile Launched = " .. SEADWeaponName )
|
||||||
if SEADWeaponName == "KH-58" or SEADWeaponName == "KH-25MPU" or SEADWeaponName == "AGM-88" or SEADWeaponName == "KH-31A" or SEADWeaponName == "KH-31P" then -- Check if the missile is a SEAD
|
if SEADWeaponName == "KH-58" or SEADWeaponName == "KH-25MPU" or SEADWeaponName == "AGM-88" or SEADWeaponName == "KH-31A" or SEADWeaponName == "KH-31P" then -- Check if the missile is a SEAD
|
||||||
@ -76,10 +75,10 @@ function SEAD:EventShot( Event )
|
|||||||
local Skills = { "Average", "Good", "High", "Excellent" }
|
local Skills = { "Average", "Good", "High", "Excellent" }
|
||||||
_targetskill = Skills[ math.random(1,4) ]
|
_targetskill = Skills[ math.random(1,4) ]
|
||||||
end
|
end
|
||||||
self:T( _targetskill ) -- debug message for skill check
|
self:T( _targetskill )
|
||||||
if self.TargetSkill[_targetskill] then
|
if self.TargetSkill[_targetskill] then
|
||||||
if (_evade > self.TargetSkill[_targetskill].Evade) then
|
if (_evade > self.TargetSkill[_targetskill].Evade) then
|
||||||
self:T( string.format("Evading, target skill " ..string.format(_targetskill)) ) --debug message
|
self:T( string.format("Evading, target skill " ..string.format(_targetskill)) )
|
||||||
local _targetMim = Weapon.getTarget(SEADWeapon)
|
local _targetMim = Weapon.getTarget(SEADWeapon)
|
||||||
local _targetMimname = Unit.getName(_targetMim)
|
local _targetMimname = Unit.getName(_targetMim)
|
||||||
local _targetMimgroup = Unit.getGroup(Weapon.getTarget(SEADWeapon))
|
local _targetMimgroup = Unit.getGroup(Weapon.getTarget(SEADWeapon))
|
||||||
|
|||||||
@ -399,7 +399,7 @@ end
|
|||||||
-- @param #SET_BASE self
|
-- @param #SET_BASE self
|
||||||
-- @param Event#EVENTDATA Event
|
-- @param Event#EVENTDATA Event
|
||||||
function SET_BASE:_EventOnDeadOrCrash( Event )
|
function SET_BASE:_EventOnDeadOrCrash( Event )
|
||||||
self:F2( { Event } )
|
self:F3( { Event } )
|
||||||
|
|
||||||
if Event.IniDCSUnit then
|
if Event.IniDCSUnit then
|
||||||
local ObjectName, Object = self:FindInDatabase( Event )
|
local ObjectName, Object = self:FindInDatabase( Event )
|
||||||
@ -455,7 +455,7 @@ function SET_BASE:ForEach( IteratorFunction, arg, Set, Function, FunctionArgumen
|
|||||||
local function CoRoutine()
|
local function CoRoutine()
|
||||||
local Count = 0
|
local Count = 0
|
||||||
for ObjectID, Object in pairs( Set ) do
|
for ObjectID, Object in pairs( Set ) do
|
||||||
self:T2( Object )
|
self:T3( Object )
|
||||||
if Function then
|
if Function then
|
||||||
if Function( unpack( FunctionArguments ), Object ) == true then
|
if Function( unpack( FunctionArguments ), Object ) == true then
|
||||||
IteratorFunction( Object, unpack( arg ) )
|
IteratorFunction( Object, unpack( arg ) )
|
||||||
@ -544,7 +544,7 @@ function SET_BASE:IsIncludeObject( Object )
|
|||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
|
|
||||||
--- Flushes the current SET_BASE contents in the log ... (for debug reasons).
|
--- Flushes the current SET_BASE contents in the log ... (for debugging reasons).
|
||||||
-- @param #SET_BASE self
|
-- @param #SET_BASE self
|
||||||
-- @return #string A string with the names of the objects.
|
-- @return #string A string with the names of the objects.
|
||||||
function SET_BASE:Flush()
|
function SET_BASE:Flush()
|
||||||
@ -1165,7 +1165,6 @@ end
|
|||||||
function SET_UNIT:FindInDatabase( Event )
|
function SET_UNIT:FindInDatabase( Event )
|
||||||
self:F3( { Event } )
|
self:F3( { Event } )
|
||||||
|
|
||||||
self:E( { Event.IniDCSUnitName, self.Database[Event.IniDCSUnitName] } )
|
|
||||||
return Event.IniDCSUnitName, self.Database[Event.IniDCSUnitName]
|
return Event.IniDCSUnitName, self.Database[Event.IniDCSUnitName]
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@ -3,25 +3,13 @@ local base = _G
|
|||||||
|
|
||||||
Include = {}
|
Include = {}
|
||||||
|
|
||||||
Include.Path = function()
|
|
||||||
local str = debug.getinfo(2, "S").source
|
|
||||||
return str:match("(.*/)"):sub(1,-2):gsub("\\","/")
|
|
||||||
end
|
|
||||||
|
|
||||||
Include.File = function( IncludeFile )
|
Include.File = function( IncludeFile )
|
||||||
if not Include.Files[ IncludeFile ] then
|
if not Include.Files[ IncludeFile ] then
|
||||||
Include.Files[IncludeFile] = IncludeFile
|
Include.Files[IncludeFile] = IncludeFile
|
||||||
env.info( "Include:" .. IncludeFile .. " from " .. Include.ProgramPath )
|
env.info( "Include:" .. IncludeFile .. " from " .. Include.ProgramPath )
|
||||||
local f = assert( base.loadfile( Include.ProgramPath .. IncludeFile .. ".lua" ) )
|
local f = assert( base.loadfile( Include.ProgramPath .. IncludeFile .. ".lua" ) )
|
||||||
if f == nil then
|
if f == nil then
|
||||||
env.info( "Include:" .. IncludeFile .. " from " .. Include.MissionPath )
|
error ("Could not load MOOSE file " .. IncludeFile .. ".lua" )
|
||||||
local f = assert( base.loadfile( Include.MissionPath .. IncludeFile .. ".lua" ) )
|
|
||||||
if f == nil then
|
|
||||||
error ("Could not load MOOSE file " .. IncludeFile .. ".lua" )
|
|
||||||
else
|
|
||||||
env.info( "Include:" .. IncludeFile .. " loaded from " .. Include.MissionPath )
|
|
||||||
return f()
|
|
||||||
end
|
|
||||||
else
|
else
|
||||||
env.info( "Include:" .. IncludeFile .. " loaded from " .. Include.ProgramPath )
|
env.info( "Include:" .. IncludeFile .. " loaded from " .. Include.ProgramPath )
|
||||||
return f()
|
return f()
|
||||||
@ -30,10 +18,8 @@ Include.File = function( IncludeFile )
|
|||||||
end
|
end
|
||||||
|
|
||||||
Include.ProgramPath = "Scripts/Moose/"
|
Include.ProgramPath = "Scripts/Moose/"
|
||||||
Include.MissionPath = Include.Path()
|
|
||||||
|
|
||||||
env.info( "Include.ProgramPath = " .. Include.ProgramPath)
|
env.info( "Include.ProgramPath = " .. Include.ProgramPath)
|
||||||
env.info( "Include.MissionPath = " .. Include.MissionPath)
|
|
||||||
|
|
||||||
Include.Files = {}
|
Include.Files = {}
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
env.info( '*** MOOSE STATIC INCLUDE START *** ' )
|
env.info( '*** MOOSE STATIC INCLUDE START *** ' )
|
||||||
env.info( 'Moose Generation Timestamp: 20160625_0851' )
|
env.info( 'Moose Generation Timestamp: 20160625_1329' )
|
||||||
local base = _G
|
local base = _G
|
||||||
|
|
||||||
Include = {}
|
Include = {}
|
||||||
@ -2969,7 +2969,7 @@ end
|
|||||||
-- @param Arguments A #table or any field.
|
-- @param Arguments A #table or any field.
|
||||||
function BASE:_F( Arguments, DebugInfoCurrentParam, DebugInfoFromParam )
|
function BASE:_F( Arguments, DebugInfoCurrentParam, DebugInfoFromParam )
|
||||||
|
|
||||||
if ( _TraceAll == true ) or ( _TraceClass[self.ClassName] or _TraceClassMethod[self.ClassName] ) then
|
if debug and ( _TraceAll == true ) or ( _TraceClass[self.ClassName] or _TraceClassMethod[self.ClassName] ) then
|
||||||
|
|
||||||
local DebugInfoCurrent = DebugInfoCurrentParam and DebugInfoCurrentParam or debug.getinfo( 2, "nl" )
|
local DebugInfoCurrent = DebugInfoCurrentParam and DebugInfoCurrentParam or debug.getinfo( 2, "nl" )
|
||||||
local DebugInfoFrom = DebugInfoFromParam and DebugInfoFromParam or debug.getinfo( 3, "l" )
|
local DebugInfoFrom = DebugInfoFromParam and DebugInfoFromParam or debug.getinfo( 3, "l" )
|
||||||
@ -2998,7 +2998,7 @@ end
|
|||||||
-- @param Arguments A #table or any field.
|
-- @param Arguments A #table or any field.
|
||||||
function BASE:F( Arguments )
|
function BASE:F( Arguments )
|
||||||
|
|
||||||
if _TraceOnOff then
|
if debug and _TraceOnOff then
|
||||||
local DebugInfoCurrent = debug.getinfo( 2, "nl" )
|
local DebugInfoCurrent = debug.getinfo( 2, "nl" )
|
||||||
local DebugInfoFrom = debug.getinfo( 3, "l" )
|
local DebugInfoFrom = debug.getinfo( 3, "l" )
|
||||||
|
|
||||||
@ -3014,7 +3014,7 @@ end
|
|||||||
-- @param Arguments A #table or any field.
|
-- @param Arguments A #table or any field.
|
||||||
function BASE:F2( Arguments )
|
function BASE:F2( Arguments )
|
||||||
|
|
||||||
if _TraceOnOff then
|
if debug and _TraceOnOff then
|
||||||
local DebugInfoCurrent = debug.getinfo( 2, "nl" )
|
local DebugInfoCurrent = debug.getinfo( 2, "nl" )
|
||||||
local DebugInfoFrom = debug.getinfo( 3, "l" )
|
local DebugInfoFrom = debug.getinfo( 3, "l" )
|
||||||
|
|
||||||
@ -3029,7 +3029,7 @@ end
|
|||||||
-- @param Arguments A #table or any field.
|
-- @param Arguments A #table or any field.
|
||||||
function BASE:F3( Arguments )
|
function BASE:F3( Arguments )
|
||||||
|
|
||||||
if _TraceOnOff then
|
if debug and _TraceOnOff then
|
||||||
local DebugInfoCurrent = debug.getinfo( 2, "nl" )
|
local DebugInfoCurrent = debug.getinfo( 2, "nl" )
|
||||||
local DebugInfoFrom = debug.getinfo( 3, "l" )
|
local DebugInfoFrom = debug.getinfo( 3, "l" )
|
||||||
|
|
||||||
@ -3044,7 +3044,7 @@ end
|
|||||||
-- @param Arguments A #table or any field.
|
-- @param Arguments A #table or any field.
|
||||||
function BASE:_T( Arguments, DebugInfoCurrentParam, DebugInfoFromParam )
|
function BASE:_T( Arguments, DebugInfoCurrentParam, DebugInfoFromParam )
|
||||||
|
|
||||||
if ( _TraceAll == true ) or ( _TraceClass[self.ClassName] or _TraceClassMethod[self.ClassName] ) then
|
if debug and ( _TraceAll == true ) or ( _TraceClass[self.ClassName] or _TraceClassMethod[self.ClassName] ) then
|
||||||
|
|
||||||
local DebugInfoCurrent = DebugInfoCurrentParam and DebugInfoCurrentParam or debug.getinfo( 2, "nl" )
|
local DebugInfoCurrent = DebugInfoCurrentParam and DebugInfoCurrentParam or debug.getinfo( 2, "nl" )
|
||||||
local DebugInfoFrom = DebugInfoFromParam and DebugInfoFromParam or debug.getinfo( 3, "l" )
|
local DebugInfoFrom = DebugInfoFromParam and DebugInfoFromParam or debug.getinfo( 3, "l" )
|
||||||
@ -3073,7 +3073,7 @@ end
|
|||||||
-- @param Arguments A #table or any field.
|
-- @param Arguments A #table or any field.
|
||||||
function BASE:T( Arguments )
|
function BASE:T( Arguments )
|
||||||
|
|
||||||
if _TraceOnOff then
|
if debug and _TraceOnOff then
|
||||||
local DebugInfoCurrent = debug.getinfo( 2, "nl" )
|
local DebugInfoCurrent = debug.getinfo( 2, "nl" )
|
||||||
local DebugInfoFrom = debug.getinfo( 3, "l" )
|
local DebugInfoFrom = debug.getinfo( 3, "l" )
|
||||||
|
|
||||||
@ -3089,7 +3089,7 @@ end
|
|||||||
-- @param Arguments A #table or any field.
|
-- @param Arguments A #table or any field.
|
||||||
function BASE:T2( Arguments )
|
function BASE:T2( Arguments )
|
||||||
|
|
||||||
if _TraceOnOff then
|
if debug and _TraceOnOff then
|
||||||
local DebugInfoCurrent = debug.getinfo( 2, "nl" )
|
local DebugInfoCurrent = debug.getinfo( 2, "nl" )
|
||||||
local DebugInfoFrom = debug.getinfo( 3, "l" )
|
local DebugInfoFrom = debug.getinfo( 3, "l" )
|
||||||
|
|
||||||
@ -3104,7 +3104,7 @@ end
|
|||||||
-- @param Arguments A #table or any field.
|
-- @param Arguments A #table or any field.
|
||||||
function BASE:T3( Arguments )
|
function BASE:T3( Arguments )
|
||||||
|
|
||||||
if _TraceOnOff then
|
if debug and _TraceOnOff then
|
||||||
local DebugInfoCurrent = debug.getinfo( 2, "nl" )
|
local DebugInfoCurrent = debug.getinfo( 2, "nl" )
|
||||||
local DebugInfoFrom = debug.getinfo( 3, "l" )
|
local DebugInfoFrom = debug.getinfo( 3, "l" )
|
||||||
|
|
||||||
@ -3119,21 +3119,24 @@ end
|
|||||||
-- @param Arguments A #table or any field.
|
-- @param Arguments A #table or any field.
|
||||||
function BASE:E( Arguments )
|
function BASE:E( Arguments )
|
||||||
|
|
||||||
local DebugInfoCurrent = debug.getinfo( 2, "nl" )
|
if debug then
|
||||||
local DebugInfoFrom = debug.getinfo( 3, "l" )
|
local DebugInfoCurrent = debug.getinfo( 2, "nl" )
|
||||||
|
local DebugInfoFrom = debug.getinfo( 3, "l" )
|
||||||
local Function = "function"
|
|
||||||
if DebugInfoCurrent.name then
|
local Function = "function"
|
||||||
Function = DebugInfoCurrent.name
|
if DebugInfoCurrent.name then
|
||||||
end
|
Function = DebugInfoCurrent.name
|
||||||
|
end
|
||||||
local LineCurrent = DebugInfoCurrent.currentline
|
|
||||||
local LineFrom = -1
|
local LineCurrent = DebugInfoCurrent.currentline
|
||||||
if DebugInfoFrom then
|
local LineFrom = -1
|
||||||
LineFrom = DebugInfoFrom.currentline
|
if DebugInfoFrom then
|
||||||
end
|
LineFrom = DebugInfoFrom.currentline
|
||||||
|
end
|
||||||
env.info( string.format( "%6d(%6d)/%1s:%20s%05d.%s(%s)" , LineCurrent, LineFrom, "E", self.ClassName, self.ClassID, Function, routines.utils.oneLineSerialize( Arguments ) ) )
|
|
||||||
|
env.info( string.format( "%6d(%6d)/%1s:%20s%05d.%s(%s)" , LineCurrent, LineFrom, "E", self.ClassName, self.ClassID, Function, routines.utils.oneLineSerialize( Arguments ) ) )
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
@ -6072,8 +6075,10 @@ function SCHEDULER:_Scheduler()
|
|||||||
local ErrorHandler = function( errmsg )
|
local ErrorHandler = function( errmsg )
|
||||||
|
|
||||||
env.info( "Error in SCHEDULER function:" .. errmsg )
|
env.info( "Error in SCHEDULER function:" .. errmsg )
|
||||||
env.info( debug.traceback() )
|
if debug ~= nil then
|
||||||
|
env.info( debug.traceback() )
|
||||||
|
end
|
||||||
|
|
||||||
return errmsg
|
return errmsg
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -6592,7 +6597,8 @@ function EVENT:OnPlayerLeaveUnit( EventFunction, EventSelf )
|
|||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
--- @param #EVENT self
|
||||||
|
-- @param #EVENTDATA Event
|
||||||
function EVENT:onEvent( Event )
|
function EVENT:onEvent( Event )
|
||||||
self:F2( { _EVENTCODES[Event.id], Event } )
|
self:F2( { _EVENTCODES[Event.id], Event } )
|
||||||
|
|
||||||
@ -6626,7 +6632,7 @@ function EVENT:onEvent( Event )
|
|||||||
Event.WeaponName = Event.Weapon:getTypeName()
|
Event.WeaponName = Event.Weapon:getTypeName()
|
||||||
--Event.WeaponTgtDCSUnit = Event.Weapon:getTarget()
|
--Event.WeaponTgtDCSUnit = Event.Weapon:getTarget()
|
||||||
end
|
end
|
||||||
self:E( { _EVENTCODES[Event.id], Event } )
|
self:E( { _EVENTCODES[Event.id], Event.IniUnitName, Event.TgtUnitName, Event.WeaponName } )
|
||||||
for ClassName, EventData in pairs( self.Events[Event.id] ) do
|
for ClassName, EventData in pairs( self.Events[Event.id] ) do
|
||||||
if Event.IniDCSUnitName and EventData.IniUnit and EventData.IniUnit[Event.IniDCSUnitName] then
|
if Event.IniDCSUnitName and EventData.IniUnit and EventData.IniUnit[Event.IniDCSUnitName] then
|
||||||
self:E( { "Calling event function for class ", ClassName, " unit ", Event.IniDCSUnitName } )
|
self:E( { "Calling event function for class ", ClassName, " unit ", Event.IniDCSUnitName } )
|
||||||
@ -11078,7 +11084,7 @@ end
|
|||||||
-- @param #SET_BASE self
|
-- @param #SET_BASE self
|
||||||
-- @param Event#EVENTDATA Event
|
-- @param Event#EVENTDATA Event
|
||||||
function SET_BASE:_EventOnDeadOrCrash( Event )
|
function SET_BASE:_EventOnDeadOrCrash( Event )
|
||||||
self:F2( { Event } )
|
self:F3( { Event } )
|
||||||
|
|
||||||
if Event.IniDCSUnit then
|
if Event.IniDCSUnit then
|
||||||
local ObjectName, Object = self:FindInDatabase( Event )
|
local ObjectName, Object = self:FindInDatabase( Event )
|
||||||
@ -11134,7 +11140,7 @@ function SET_BASE:ForEach( IteratorFunction, arg, Set, Function, FunctionArgumen
|
|||||||
local function CoRoutine()
|
local function CoRoutine()
|
||||||
local Count = 0
|
local Count = 0
|
||||||
for ObjectID, Object in pairs( Set ) do
|
for ObjectID, Object in pairs( Set ) do
|
||||||
self:T2( Object )
|
self:T3( Object )
|
||||||
if Function then
|
if Function then
|
||||||
if Function( unpack( FunctionArguments ), Object ) == true then
|
if Function( unpack( FunctionArguments ), Object ) == true then
|
||||||
IteratorFunction( Object, unpack( arg ) )
|
IteratorFunction( Object, unpack( arg ) )
|
||||||
@ -11223,7 +11229,7 @@ function SET_BASE:IsIncludeObject( Object )
|
|||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
|
|
||||||
--- Flushes the current SET_BASE contents in the log ... (for debug reasons).
|
--- Flushes the current SET_BASE contents in the log ... (for debugging reasons).
|
||||||
-- @param #SET_BASE self
|
-- @param #SET_BASE self
|
||||||
-- @return #string A string with the names of the objects.
|
-- @return #string A string with the names of the objects.
|
||||||
function SET_BASE:Flush()
|
function SET_BASE:Flush()
|
||||||
@ -11844,7 +11850,6 @@ end
|
|||||||
function SET_UNIT:FindInDatabase( Event )
|
function SET_UNIT:FindInDatabase( Event )
|
||||||
self:F3( { Event } )
|
self:F3( { Event } )
|
||||||
|
|
||||||
self:E( { Event.IniDCSUnitName, self.Database[Event.IniDCSUnitName] } )
|
|
||||||
return Event.IniDCSUnitName, self.Database[Event.IniDCSUnitName]
|
return Event.IniDCSUnitName, self.Database[Event.IniDCSUnitName]
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -19578,7 +19583,6 @@ function SEAD:EventShot( Event )
|
|||||||
local SEADUnitName = Event.IniDCSUnitName
|
local SEADUnitName = Event.IniDCSUnitName
|
||||||
local SEADWeapon = Event.Weapon -- Identify the weapon fired
|
local SEADWeapon = Event.Weapon -- Identify the weapon fired
|
||||||
local SEADWeaponName = Event.WeaponName -- return weapon type
|
local SEADWeaponName = Event.WeaponName -- return weapon type
|
||||||
--trigger.action.outText( string.format("Alerte, depart missile " ..string.format(SEADWeaponName)), 20) --debug message
|
|
||||||
-- Start of the 2nd loop
|
-- Start of the 2nd loop
|
||||||
self:T( "Missile Launched = " .. SEADWeaponName )
|
self:T( "Missile Launched = " .. SEADWeaponName )
|
||||||
if SEADWeaponName == "KH-58" or SEADWeaponName == "KH-25MPU" or SEADWeaponName == "AGM-88" or SEADWeaponName == "KH-31A" or SEADWeaponName == "KH-31P" then -- Check if the missile is a SEAD
|
if SEADWeaponName == "KH-58" or SEADWeaponName == "KH-25MPU" or SEADWeaponName == "AGM-88" or SEADWeaponName == "KH-31A" or SEADWeaponName == "KH-31P" then -- Check if the missile is a SEAD
|
||||||
@ -19604,10 +19608,10 @@ function SEAD:EventShot( Event )
|
|||||||
local Skills = { "Average", "Good", "High", "Excellent" }
|
local Skills = { "Average", "Good", "High", "Excellent" }
|
||||||
_targetskill = Skills[ math.random(1,4) ]
|
_targetskill = Skills[ math.random(1,4) ]
|
||||||
end
|
end
|
||||||
self:T( _targetskill ) -- debug message for skill check
|
self:T( _targetskill )
|
||||||
if self.TargetSkill[_targetskill] then
|
if self.TargetSkill[_targetskill] then
|
||||||
if (_evade > self.TargetSkill[_targetskill].Evade) then
|
if (_evade > self.TargetSkill[_targetskill].Evade) then
|
||||||
self:T( string.format("Evading, target skill " ..string.format(_targetskill)) ) --debug message
|
self:T( string.format("Evading, target skill " ..string.format(_targetskill)) )
|
||||||
local _targetMim = Weapon.getTarget(SEADWeapon)
|
local _targetMim = Weapon.getTarget(SEADWeapon)
|
||||||
local _targetMimname = Unit.getName(_targetMim)
|
local _targetMimname = Unit.getName(_targetMim)
|
||||||
local _targetMimgroup = Unit.getGroup(Weapon.getTarget(SEADWeapon))
|
local _targetMimgroup = Unit.getGroup(Weapon.getTarget(SEADWeapon))
|
||||||
@ -23109,7 +23113,7 @@ end
|
|||||||
--
|
--
|
||||||
-- 1.1) DETECTION_BASE constructor
|
-- 1.1) DETECTION_BASE constructor
|
||||||
-- -------------------------------
|
-- -------------------------------
|
||||||
-- Construct a new DETECTION_BASE instance using the @{Detection#DETECTION.New}() method.
|
-- Construct a new DETECTION_BASE instance using the @{Detection#DETECTION_BASE.New}() method.
|
||||||
--
|
--
|
||||||
-- 1.2) DETECTION_BASE initialization
|
-- 1.2) DETECTION_BASE initialization
|
||||||
-- ----------------------------------
|
-- ----------------------------------
|
||||||
@ -23495,15 +23499,17 @@ function DETECTION_UNITGROUPS:SmokeDetectedUnits()
|
|||||||
self:F2()
|
self:F2()
|
||||||
|
|
||||||
self._SmokeDetectedUnits = true
|
self._SmokeDetectedUnits = true
|
||||||
|
return self
|
||||||
end
|
end
|
||||||
|
|
||||||
--- Flare the detected units
|
--- Flare the detected units
|
||||||
-- @param #DETECTION_UNITGROUPS self
|
-- @param #DETECTION_UNITGROUPS self
|
||||||
-- @return #DETECTION_UNITGROUPS self
|
-- @return #DETECTION_UNITGROUPS self
|
||||||
function DETECTION_UNITGROUPS:SmokeDetectedUnits()
|
function DETECTION_UNITGROUPS:FlareDetectedUnits()
|
||||||
self:F2()
|
self:F2()
|
||||||
|
|
||||||
self._FlareDetectedUnits = true
|
self._FlareDetectedUnits = true
|
||||||
|
return self
|
||||||
end
|
end
|
||||||
|
|
||||||
--- Smoke the detected zones
|
--- Smoke the detected zones
|
||||||
@ -23513,6 +23519,7 @@ function DETECTION_UNITGROUPS:SmokeDetectedZones()
|
|||||||
self:F2()
|
self:F2()
|
||||||
|
|
||||||
self._SmokeDetectedZones = true
|
self._SmokeDetectedZones = true
|
||||||
|
return self
|
||||||
end
|
end
|
||||||
|
|
||||||
--- Flare the detected zones
|
--- Flare the detected zones
|
||||||
@ -23522,6 +23529,7 @@ function DETECTION_UNITGROUPS:FlareDetectedZones()
|
|||||||
self:F2()
|
self:F2()
|
||||||
|
|
||||||
self._FlareDetectedZones = true
|
self._FlareDetectedZones = true
|
||||||
|
return self
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
@ -23546,7 +23554,6 @@ function DETECTION_UNITGROUPS:CreateDetectionSets()
|
|||||||
for DetectedZoneIndex = 1, #self.DetectedZones do
|
for DetectedZoneIndex = 1, #self.DetectedZones do
|
||||||
self:T( "Detected Unit Set #" .. DetectedZoneIndex )
|
self:T( "Detected Unit Set #" .. DetectedZoneIndex )
|
||||||
local DetectedUnitSet = self.DetectedSets[DetectedZoneIndex] -- Set#SET_BASE
|
local DetectedUnitSet = self.DetectedSets[DetectedZoneIndex] -- Set#SET_BASE
|
||||||
DetectedUnitSet:Flush()
|
|
||||||
local DetectedZone = self.DetectedZones[DetectedZoneIndex] -- Zone#ZONE_UNIT
|
local DetectedZone = self.DetectedZones[DetectedZoneIndex] -- Zone#ZONE_UNIT
|
||||||
if DetectedUnit:IsInZone( DetectedZone ) then
|
if DetectedUnit:IsInZone( DetectedZone ) then
|
||||||
self:T( "Adding to Unit Set #" .. DetectedZoneIndex )
|
self:T( "Adding to Unit Set #" .. DetectedZoneIndex )
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
env.info( '*** MOOSE STATIC INCLUDE START *** ' )
|
env.info( '*** MOOSE STATIC INCLUDE START *** ' )
|
||||||
env.info( 'Moose Generation Timestamp: 20160625_0851' )
|
env.info( 'Moose Generation Timestamp: 20160625_1329' )
|
||||||
local base = _G
|
local base = _G
|
||||||
|
|
||||||
Include = {}
|
Include = {}
|
||||||
@ -2969,7 +2969,7 @@ end
|
|||||||
-- @param Arguments A #table or any field.
|
-- @param Arguments A #table or any field.
|
||||||
function BASE:_F( Arguments, DebugInfoCurrentParam, DebugInfoFromParam )
|
function BASE:_F( Arguments, DebugInfoCurrentParam, DebugInfoFromParam )
|
||||||
|
|
||||||
if ( _TraceAll == true ) or ( _TraceClass[self.ClassName] or _TraceClassMethod[self.ClassName] ) then
|
if debug and ( _TraceAll == true ) or ( _TraceClass[self.ClassName] or _TraceClassMethod[self.ClassName] ) then
|
||||||
|
|
||||||
local DebugInfoCurrent = DebugInfoCurrentParam and DebugInfoCurrentParam or debug.getinfo( 2, "nl" )
|
local DebugInfoCurrent = DebugInfoCurrentParam and DebugInfoCurrentParam or debug.getinfo( 2, "nl" )
|
||||||
local DebugInfoFrom = DebugInfoFromParam and DebugInfoFromParam or debug.getinfo( 3, "l" )
|
local DebugInfoFrom = DebugInfoFromParam and DebugInfoFromParam or debug.getinfo( 3, "l" )
|
||||||
@ -2998,7 +2998,7 @@ end
|
|||||||
-- @param Arguments A #table or any field.
|
-- @param Arguments A #table or any field.
|
||||||
function BASE:F( Arguments )
|
function BASE:F( Arguments )
|
||||||
|
|
||||||
if _TraceOnOff then
|
if debug and _TraceOnOff then
|
||||||
local DebugInfoCurrent = debug.getinfo( 2, "nl" )
|
local DebugInfoCurrent = debug.getinfo( 2, "nl" )
|
||||||
local DebugInfoFrom = debug.getinfo( 3, "l" )
|
local DebugInfoFrom = debug.getinfo( 3, "l" )
|
||||||
|
|
||||||
@ -3014,7 +3014,7 @@ end
|
|||||||
-- @param Arguments A #table or any field.
|
-- @param Arguments A #table or any field.
|
||||||
function BASE:F2( Arguments )
|
function BASE:F2( Arguments )
|
||||||
|
|
||||||
if _TraceOnOff then
|
if debug and _TraceOnOff then
|
||||||
local DebugInfoCurrent = debug.getinfo( 2, "nl" )
|
local DebugInfoCurrent = debug.getinfo( 2, "nl" )
|
||||||
local DebugInfoFrom = debug.getinfo( 3, "l" )
|
local DebugInfoFrom = debug.getinfo( 3, "l" )
|
||||||
|
|
||||||
@ -3029,7 +3029,7 @@ end
|
|||||||
-- @param Arguments A #table or any field.
|
-- @param Arguments A #table or any field.
|
||||||
function BASE:F3( Arguments )
|
function BASE:F3( Arguments )
|
||||||
|
|
||||||
if _TraceOnOff then
|
if debug and _TraceOnOff then
|
||||||
local DebugInfoCurrent = debug.getinfo( 2, "nl" )
|
local DebugInfoCurrent = debug.getinfo( 2, "nl" )
|
||||||
local DebugInfoFrom = debug.getinfo( 3, "l" )
|
local DebugInfoFrom = debug.getinfo( 3, "l" )
|
||||||
|
|
||||||
@ -3044,7 +3044,7 @@ end
|
|||||||
-- @param Arguments A #table or any field.
|
-- @param Arguments A #table or any field.
|
||||||
function BASE:_T( Arguments, DebugInfoCurrentParam, DebugInfoFromParam )
|
function BASE:_T( Arguments, DebugInfoCurrentParam, DebugInfoFromParam )
|
||||||
|
|
||||||
if ( _TraceAll == true ) or ( _TraceClass[self.ClassName] or _TraceClassMethod[self.ClassName] ) then
|
if debug and ( _TraceAll == true ) or ( _TraceClass[self.ClassName] or _TraceClassMethod[self.ClassName] ) then
|
||||||
|
|
||||||
local DebugInfoCurrent = DebugInfoCurrentParam and DebugInfoCurrentParam or debug.getinfo( 2, "nl" )
|
local DebugInfoCurrent = DebugInfoCurrentParam and DebugInfoCurrentParam or debug.getinfo( 2, "nl" )
|
||||||
local DebugInfoFrom = DebugInfoFromParam and DebugInfoFromParam or debug.getinfo( 3, "l" )
|
local DebugInfoFrom = DebugInfoFromParam and DebugInfoFromParam or debug.getinfo( 3, "l" )
|
||||||
@ -3073,7 +3073,7 @@ end
|
|||||||
-- @param Arguments A #table or any field.
|
-- @param Arguments A #table or any field.
|
||||||
function BASE:T( Arguments )
|
function BASE:T( Arguments )
|
||||||
|
|
||||||
if _TraceOnOff then
|
if debug and _TraceOnOff then
|
||||||
local DebugInfoCurrent = debug.getinfo( 2, "nl" )
|
local DebugInfoCurrent = debug.getinfo( 2, "nl" )
|
||||||
local DebugInfoFrom = debug.getinfo( 3, "l" )
|
local DebugInfoFrom = debug.getinfo( 3, "l" )
|
||||||
|
|
||||||
@ -3089,7 +3089,7 @@ end
|
|||||||
-- @param Arguments A #table or any field.
|
-- @param Arguments A #table or any field.
|
||||||
function BASE:T2( Arguments )
|
function BASE:T2( Arguments )
|
||||||
|
|
||||||
if _TraceOnOff then
|
if debug and _TraceOnOff then
|
||||||
local DebugInfoCurrent = debug.getinfo( 2, "nl" )
|
local DebugInfoCurrent = debug.getinfo( 2, "nl" )
|
||||||
local DebugInfoFrom = debug.getinfo( 3, "l" )
|
local DebugInfoFrom = debug.getinfo( 3, "l" )
|
||||||
|
|
||||||
@ -3104,7 +3104,7 @@ end
|
|||||||
-- @param Arguments A #table or any field.
|
-- @param Arguments A #table or any field.
|
||||||
function BASE:T3( Arguments )
|
function BASE:T3( Arguments )
|
||||||
|
|
||||||
if _TraceOnOff then
|
if debug and _TraceOnOff then
|
||||||
local DebugInfoCurrent = debug.getinfo( 2, "nl" )
|
local DebugInfoCurrent = debug.getinfo( 2, "nl" )
|
||||||
local DebugInfoFrom = debug.getinfo( 3, "l" )
|
local DebugInfoFrom = debug.getinfo( 3, "l" )
|
||||||
|
|
||||||
@ -3119,21 +3119,24 @@ end
|
|||||||
-- @param Arguments A #table or any field.
|
-- @param Arguments A #table or any field.
|
||||||
function BASE:E( Arguments )
|
function BASE:E( Arguments )
|
||||||
|
|
||||||
local DebugInfoCurrent = debug.getinfo( 2, "nl" )
|
if debug then
|
||||||
local DebugInfoFrom = debug.getinfo( 3, "l" )
|
local DebugInfoCurrent = debug.getinfo( 2, "nl" )
|
||||||
|
local DebugInfoFrom = debug.getinfo( 3, "l" )
|
||||||
local Function = "function"
|
|
||||||
if DebugInfoCurrent.name then
|
local Function = "function"
|
||||||
Function = DebugInfoCurrent.name
|
if DebugInfoCurrent.name then
|
||||||
end
|
Function = DebugInfoCurrent.name
|
||||||
|
end
|
||||||
local LineCurrent = DebugInfoCurrent.currentline
|
|
||||||
local LineFrom = -1
|
local LineCurrent = DebugInfoCurrent.currentline
|
||||||
if DebugInfoFrom then
|
local LineFrom = -1
|
||||||
LineFrom = DebugInfoFrom.currentline
|
if DebugInfoFrom then
|
||||||
end
|
LineFrom = DebugInfoFrom.currentline
|
||||||
|
end
|
||||||
env.info( string.format( "%6d(%6d)/%1s:%20s%05d.%s(%s)" , LineCurrent, LineFrom, "E", self.ClassName, self.ClassID, Function, routines.utils.oneLineSerialize( Arguments ) ) )
|
|
||||||
|
env.info( string.format( "%6d(%6d)/%1s:%20s%05d.%s(%s)" , LineCurrent, LineFrom, "E", self.ClassName, self.ClassID, Function, routines.utils.oneLineSerialize( Arguments ) ) )
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
@ -6072,8 +6075,10 @@ function SCHEDULER:_Scheduler()
|
|||||||
local ErrorHandler = function( errmsg )
|
local ErrorHandler = function( errmsg )
|
||||||
|
|
||||||
env.info( "Error in SCHEDULER function:" .. errmsg )
|
env.info( "Error in SCHEDULER function:" .. errmsg )
|
||||||
env.info( debug.traceback() )
|
if debug ~= nil then
|
||||||
|
env.info( debug.traceback() )
|
||||||
|
end
|
||||||
|
|
||||||
return errmsg
|
return errmsg
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -6592,7 +6597,8 @@ function EVENT:OnPlayerLeaveUnit( EventFunction, EventSelf )
|
|||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
--- @param #EVENT self
|
||||||
|
-- @param #EVENTDATA Event
|
||||||
function EVENT:onEvent( Event )
|
function EVENT:onEvent( Event )
|
||||||
self:F2( { _EVENTCODES[Event.id], Event } )
|
self:F2( { _EVENTCODES[Event.id], Event } )
|
||||||
|
|
||||||
@ -6626,7 +6632,7 @@ function EVENT:onEvent( Event )
|
|||||||
Event.WeaponName = Event.Weapon:getTypeName()
|
Event.WeaponName = Event.Weapon:getTypeName()
|
||||||
--Event.WeaponTgtDCSUnit = Event.Weapon:getTarget()
|
--Event.WeaponTgtDCSUnit = Event.Weapon:getTarget()
|
||||||
end
|
end
|
||||||
self:E( { _EVENTCODES[Event.id], Event } )
|
self:E( { _EVENTCODES[Event.id], Event.IniUnitName, Event.TgtUnitName, Event.WeaponName } )
|
||||||
for ClassName, EventData in pairs( self.Events[Event.id] ) do
|
for ClassName, EventData in pairs( self.Events[Event.id] ) do
|
||||||
if Event.IniDCSUnitName and EventData.IniUnit and EventData.IniUnit[Event.IniDCSUnitName] then
|
if Event.IniDCSUnitName and EventData.IniUnit and EventData.IniUnit[Event.IniDCSUnitName] then
|
||||||
self:E( { "Calling event function for class ", ClassName, " unit ", Event.IniDCSUnitName } )
|
self:E( { "Calling event function for class ", ClassName, " unit ", Event.IniDCSUnitName } )
|
||||||
@ -11078,7 +11084,7 @@ end
|
|||||||
-- @param #SET_BASE self
|
-- @param #SET_BASE self
|
||||||
-- @param Event#EVENTDATA Event
|
-- @param Event#EVENTDATA Event
|
||||||
function SET_BASE:_EventOnDeadOrCrash( Event )
|
function SET_BASE:_EventOnDeadOrCrash( Event )
|
||||||
self:F2( { Event } )
|
self:F3( { Event } )
|
||||||
|
|
||||||
if Event.IniDCSUnit then
|
if Event.IniDCSUnit then
|
||||||
local ObjectName, Object = self:FindInDatabase( Event )
|
local ObjectName, Object = self:FindInDatabase( Event )
|
||||||
@ -11134,7 +11140,7 @@ function SET_BASE:ForEach( IteratorFunction, arg, Set, Function, FunctionArgumen
|
|||||||
local function CoRoutine()
|
local function CoRoutine()
|
||||||
local Count = 0
|
local Count = 0
|
||||||
for ObjectID, Object in pairs( Set ) do
|
for ObjectID, Object in pairs( Set ) do
|
||||||
self:T2( Object )
|
self:T3( Object )
|
||||||
if Function then
|
if Function then
|
||||||
if Function( unpack( FunctionArguments ), Object ) == true then
|
if Function( unpack( FunctionArguments ), Object ) == true then
|
||||||
IteratorFunction( Object, unpack( arg ) )
|
IteratorFunction( Object, unpack( arg ) )
|
||||||
@ -11223,7 +11229,7 @@ function SET_BASE:IsIncludeObject( Object )
|
|||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
|
|
||||||
--- Flushes the current SET_BASE contents in the log ... (for debug reasons).
|
--- Flushes the current SET_BASE contents in the log ... (for debugging reasons).
|
||||||
-- @param #SET_BASE self
|
-- @param #SET_BASE self
|
||||||
-- @return #string A string with the names of the objects.
|
-- @return #string A string with the names of the objects.
|
||||||
function SET_BASE:Flush()
|
function SET_BASE:Flush()
|
||||||
@ -11844,7 +11850,6 @@ end
|
|||||||
function SET_UNIT:FindInDatabase( Event )
|
function SET_UNIT:FindInDatabase( Event )
|
||||||
self:F3( { Event } )
|
self:F3( { Event } )
|
||||||
|
|
||||||
self:E( { Event.IniDCSUnitName, self.Database[Event.IniDCSUnitName] } )
|
|
||||||
return Event.IniDCSUnitName, self.Database[Event.IniDCSUnitName]
|
return Event.IniDCSUnitName, self.Database[Event.IniDCSUnitName]
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -19578,7 +19583,6 @@ function SEAD:EventShot( Event )
|
|||||||
local SEADUnitName = Event.IniDCSUnitName
|
local SEADUnitName = Event.IniDCSUnitName
|
||||||
local SEADWeapon = Event.Weapon -- Identify the weapon fired
|
local SEADWeapon = Event.Weapon -- Identify the weapon fired
|
||||||
local SEADWeaponName = Event.WeaponName -- return weapon type
|
local SEADWeaponName = Event.WeaponName -- return weapon type
|
||||||
--trigger.action.outText( string.format("Alerte, depart missile " ..string.format(SEADWeaponName)), 20) --debug message
|
|
||||||
-- Start of the 2nd loop
|
-- Start of the 2nd loop
|
||||||
self:T( "Missile Launched = " .. SEADWeaponName )
|
self:T( "Missile Launched = " .. SEADWeaponName )
|
||||||
if SEADWeaponName == "KH-58" or SEADWeaponName == "KH-25MPU" or SEADWeaponName == "AGM-88" or SEADWeaponName == "KH-31A" or SEADWeaponName == "KH-31P" then -- Check if the missile is a SEAD
|
if SEADWeaponName == "KH-58" or SEADWeaponName == "KH-25MPU" or SEADWeaponName == "AGM-88" or SEADWeaponName == "KH-31A" or SEADWeaponName == "KH-31P" then -- Check if the missile is a SEAD
|
||||||
@ -19604,10 +19608,10 @@ function SEAD:EventShot( Event )
|
|||||||
local Skills = { "Average", "Good", "High", "Excellent" }
|
local Skills = { "Average", "Good", "High", "Excellent" }
|
||||||
_targetskill = Skills[ math.random(1,4) ]
|
_targetskill = Skills[ math.random(1,4) ]
|
||||||
end
|
end
|
||||||
self:T( _targetskill ) -- debug message for skill check
|
self:T( _targetskill )
|
||||||
if self.TargetSkill[_targetskill] then
|
if self.TargetSkill[_targetskill] then
|
||||||
if (_evade > self.TargetSkill[_targetskill].Evade) then
|
if (_evade > self.TargetSkill[_targetskill].Evade) then
|
||||||
self:T( string.format("Evading, target skill " ..string.format(_targetskill)) ) --debug message
|
self:T( string.format("Evading, target skill " ..string.format(_targetskill)) )
|
||||||
local _targetMim = Weapon.getTarget(SEADWeapon)
|
local _targetMim = Weapon.getTarget(SEADWeapon)
|
||||||
local _targetMimname = Unit.getName(_targetMim)
|
local _targetMimname = Unit.getName(_targetMim)
|
||||||
local _targetMimgroup = Unit.getGroup(Weapon.getTarget(SEADWeapon))
|
local _targetMimgroup = Unit.getGroup(Weapon.getTarget(SEADWeapon))
|
||||||
@ -23109,7 +23113,7 @@ end
|
|||||||
--
|
--
|
||||||
-- 1.1) DETECTION_BASE constructor
|
-- 1.1) DETECTION_BASE constructor
|
||||||
-- -------------------------------
|
-- -------------------------------
|
||||||
-- Construct a new DETECTION_BASE instance using the @{Detection#DETECTION.New}() method.
|
-- Construct a new DETECTION_BASE instance using the @{Detection#DETECTION_BASE.New}() method.
|
||||||
--
|
--
|
||||||
-- 1.2) DETECTION_BASE initialization
|
-- 1.2) DETECTION_BASE initialization
|
||||||
-- ----------------------------------
|
-- ----------------------------------
|
||||||
@ -23495,15 +23499,17 @@ function DETECTION_UNITGROUPS:SmokeDetectedUnits()
|
|||||||
self:F2()
|
self:F2()
|
||||||
|
|
||||||
self._SmokeDetectedUnits = true
|
self._SmokeDetectedUnits = true
|
||||||
|
return self
|
||||||
end
|
end
|
||||||
|
|
||||||
--- Flare the detected units
|
--- Flare the detected units
|
||||||
-- @param #DETECTION_UNITGROUPS self
|
-- @param #DETECTION_UNITGROUPS self
|
||||||
-- @return #DETECTION_UNITGROUPS self
|
-- @return #DETECTION_UNITGROUPS self
|
||||||
function DETECTION_UNITGROUPS:SmokeDetectedUnits()
|
function DETECTION_UNITGROUPS:FlareDetectedUnits()
|
||||||
self:F2()
|
self:F2()
|
||||||
|
|
||||||
self._FlareDetectedUnits = true
|
self._FlareDetectedUnits = true
|
||||||
|
return self
|
||||||
end
|
end
|
||||||
|
|
||||||
--- Smoke the detected zones
|
--- Smoke the detected zones
|
||||||
@ -23513,6 +23519,7 @@ function DETECTION_UNITGROUPS:SmokeDetectedZones()
|
|||||||
self:F2()
|
self:F2()
|
||||||
|
|
||||||
self._SmokeDetectedZones = true
|
self._SmokeDetectedZones = true
|
||||||
|
return self
|
||||||
end
|
end
|
||||||
|
|
||||||
--- Flare the detected zones
|
--- Flare the detected zones
|
||||||
@ -23522,6 +23529,7 @@ function DETECTION_UNITGROUPS:FlareDetectedZones()
|
|||||||
self:F2()
|
self:F2()
|
||||||
|
|
||||||
self._FlareDetectedZones = true
|
self._FlareDetectedZones = true
|
||||||
|
return self
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
@ -23546,7 +23554,6 @@ function DETECTION_UNITGROUPS:CreateDetectionSets()
|
|||||||
for DetectedZoneIndex = 1, #self.DetectedZones do
|
for DetectedZoneIndex = 1, #self.DetectedZones do
|
||||||
self:T( "Detected Unit Set #" .. DetectedZoneIndex )
|
self:T( "Detected Unit Set #" .. DetectedZoneIndex )
|
||||||
local DetectedUnitSet = self.DetectedSets[DetectedZoneIndex] -- Set#SET_BASE
|
local DetectedUnitSet = self.DetectedSets[DetectedZoneIndex] -- Set#SET_BASE
|
||||||
DetectedUnitSet:Flush()
|
|
||||||
local DetectedZone = self.DetectedZones[DetectedZoneIndex] -- Zone#ZONE_UNIT
|
local DetectedZone = self.DetectedZones[DetectedZoneIndex] -- Zone#ZONE_UNIT
|
||||||
if DetectedUnit:IsInZone( DetectedZone ) then
|
if DetectedUnit:IsInZone( DetectedZone ) then
|
||||||
self:T( "Adding to Unit Set #" .. DetectedZoneIndex )
|
self:T( "Adding to Unit Set #" .. DetectedZoneIndex )
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user