Script HoundElint
Hound Main interface
Elint system for DCS
Info:
- Copyright: uri_ba 2020-2021
- Author: uri_ba
getContacts () |
get an exported list of all contacts tracked by the instance |
getSites () |
get an exported list of all sites tracked by the instance |
dumpIntelBrief ([filename]) |
dump Intel Brief to csv
will dump intel summery to CSV in the DCS saved games folder
requires desanitization of lfs and io modules |
printDebugging () |
return Debugging information |
-
create (platformName)
-
create HoundElint instance.
Parameters:
- platformName
int
Platform name or coalition enum
Returns:
table
HoundElint Instance
-
destroy ()
-
destructor function
initiates cleanup
-
getId ()
-
get Hound instance ID
Returns:
Int
Int Hound ID
-
getCoalition ()
-
get Hound instance Coalition
Returns:
int
coalition enum of current hound instance
-
setCoalition (side)
-
set coalition for Hound Instance (Internal)
Parameters:
- side
int
coalition side enum
Returns:
bool
Bool. True if coalition was set
-
onScreenDebug (value)
-
set onScreenDebug
Parameters:
Returns:
Bool
True if chaned
-
enableMarkers ([markerType])
-
enable Markers for Hound Instance (default)
Parameters:
- markerType
change marker type to use
(optional)
Returns:
Bool
True if changed
-
disableMarkers ()
-
disable Markers for Hound Instance
Returns:
Bool
True if changed
-
enableSiteMarkers ()
-
enable Site Markers for Hound Instance (default)
Returns:
Bool
True if changed
-
disableSiteMarkers ()
-
disable Site Markers for Hound Instance
Returns:
Bool
True if changed
-
setMarkerType (markerType)
-
Set marker type for Hound instance
Parameters:
- markerType
valid marker type enum
Returns:
Bool
True if changed
See also:
-
setTimerInterval (setIntervalName, setValue)
-
set intervals
Parameters:
- setIntervalName
interval name to change (scan,process,menu,markers)
- setValue
interval in seconds to set.
Returns:
Bool
True if changed
-
enablePlatformPosErrors ()
-
enable platforms INS position errors
Returns:
bool
if settings was updated
-
disablePlatformPosErrors ()
-
disable platforms INS position errors
Returns:
bool
if settings was updated
-
getBDA ()
-
get current BDA setting state
Returns:
bool
current state
-
enableBDA ()
-
enable BDA for Hound Instance
Hound will notify on radar destruction
Returns:
Bool
True if setting has been updated
-
disableBDA ()
-
disable BDA for Hound Instance
Returns:
Bool
True if setting has been updated
-
getNATO ()
-
Get current state of NATO brevity setting
Returns:
bool
current state
-
enableNATO ()
-
enable NATO brevity for Hound Instance
Returns:
Bool
True if setting has been updated
-
disableNATO ()
-
disable NATO brevity for Hound Instance
Returns:
Bool
True if setting has been updated
-
getAlertOnLaunch ()
-
get Alert on launch for Hound Instance
Returns:
Bool
Current state
-
setAlertOnLaunch (value)
-
set Alert on Launch for Hound instance
Parameters:
Returns:
Bool
True if setting has been updated
-
useNATOCallsignes (value)
-
set flag if callsignes for sectors under Callsignes would be from the NATO pool
Parameters:
Returns:
Bool
True if setting has been updated
-
setAtisUpdateInterval (value)
-
set Atis Update interval
Parameters:
- value
desired interval in seconds
Returns:
true if change was made
-
setRadioMenuParent (parent)
-
Set Main parent menu for hound Instace
must be set BEFORE calling
enableController()
Parameters:
- parent
desired parent menu (pass nil to clear)
Returns:
Bool
True if no errors
-
addPlatform (platformName)
-
add platform from hound instance
Parameters:
- platformName
string
Unit name for platform to add
Returns:
bool
True if successfuly added
-
removePlatform (platformName)
-
Remove platform from hound instance
Parameters:
- platformName
string
Unit name for platform to remove
Returns:
bool
True if successfuly removed
-
countPlatforms ()
-
count Platforms
Returns:
int
number of assigned platforms
-
listPlatforms ()
-
list platforms
Returns:
table
list of platfoms
-
countContacts (sectorName)
-
count contacts
Parameters:
- sectorName
optional string
String name or sector to filter by
Returns:
int
number of contacts currently tracked
-
countActiveContacts (sectorName)
-
count Active contacts
Parameters:
- sectorName
optional string
String name or sector to filter by
Returns:
Int
number of contacts currently Transmitting
-
countPreBriefedContacts (sectorName)
-
count preBriefed contacts
Parameters:
- sectorName
optional string
String name or sector to filter by
Returns:
int
number of contacts currently in PB status
-
preBriefedContact (DCS_Object_Name[, codeName])
-
set/create a pre Briefed contacts
Parameters:
- DCS_Object_Name
string
name of DCS Unit or Group to add
- codeName
Optional name for site created
(optional)
-
markDeadContact (radarUnit)
-
Mark Radar as dead
Parameters:
- radarUnit
string or table
DCS Unit, DCS Group or Unit/Group name to mark as dead
-
AlertOnLaunch (fireUnit)
-
Issue a Launch Alert
Parameters:
- fireUnit
string or table
DCS Unit, DCS Group or Unit/Group name currently Launching
-
countSites (sectorName)
-
count sites
Parameters:
- sectorName
optional string
name or sector to filter by
Returns:
int
number of contacts currently tracked
-
addSector (sectorName[, sectorSettings[, priority]])
-
Add named sector
Parameters:
- sectorName
string
name of sector to add
- sectorSettings
table of sector settings
(optional)
- priority
Sector priority (lower is higher)
(optional)
Returns:
bool
True if sector successfully added
-
removeSector (sectorName)
-
Remove Named sector
Parameters:
- sectorName
string
name of sector to add
Returns:
bool
True if sector successfully added
-
updateSectorSettings (sectorName, sectorSettings, subSettingName)
-
Update named sector settings
Parameters:
- sectorName
string or nil
name of sector (nil == "default")
- sectorSettings
table
sector settings
- subSettingName
optional string
update specific setting ("controller", "atis", "notifier")
Returns:
bool
False if an error occurred, true otherwise
-
listSectors (element)
-
list all sectors
Parameters:
- element
optional string
list only sectors with specified element. Valid options are "controller", "atis", "notifier" and "zone"
Returns:
list of sector names
-
getSectors (element)
-
get all sectors
Parameters:
- element
optional string
list only sectors with specified element. Valid options are "controller", "atis", "notifier" and "zone"
Returns:
list of HOUND.Sector instances
-
countSectors (element)
-
return number of sectors
Parameters:
- element
optional string
count only sectors with specified element ("controller"/"atis"/"notifier"/"zone")
Returns:
int
. number of sectors
-
getSector (sectorName)
-
return HOUND.Sector instance
Parameters:
- sectorName
string
Name of wanted sector
Returns:
HOUND.Sector
-
enableText (sectorName)
-
enable Text notification for controller
Parameters:
- sectorName
optional string
name of sector to enable (default is "default", "all" will enable on all sectors)
-
disableText (sectorName)
-
disable Text notification for controller
Parameters:
- sectorName
optional string
name of sector to disable (default is "default", "all" will enable on all sectors)
-
enableTTS (sectorName)
-
enable Text-To-Speach notification for controller
Parameters:
- sectorName
optional string
name of sector to enable (default is "default", "all" will enable on all sectors)
-
disableTTS (sectorName)
-
disable Text-to-speach notification for controller
Parameters:
- sectorName
optional string
name of sector to disable (default is "default", "all" will enable on all sectors)
-
enableAlerts (sectorName)
-
enable Alert notification for controller
Parameters:
- sectorName
optional string
name of sector to enable (default is "default", "all" will enable on all sectors)
-
disableAlerts (sectorName)
-
disable Alert notification for controller
Parameters:
- sectorName
optional string
name of sector to disable (default is "default", "all" will enable on all sectors)
-
setCallsign (sectorName, sectorCallsign)
-
Set sector callsign
Parameters:
- sectorName
string
sector to change
- sectorCallsign
string
callsign for sector. if not provided, a random one will be selected from pool. "NATO" will draw from the NATO pool
Returns:
bool
True if callsign was changes. False otherwise
-
getCallsign (sectorName)
-
get sector callsign
Parameters:
- sectorName
string
sector to change
Returns:
String - callsign for sector. will return empty string if err
-
setTransmitter (sectorName, transmitter)
-
set transmitter to named sector
Parameters:
- sectorName
string
name of sector to apply to.
valid values are name of sector, "all" or nil (will change default)
- transmitter
DCS unit name which will be the transmitter
-
removeTransmitter (sectorName)
-
remove transmitter to named sector
Parameters:
- sectorName
string
name of sector to apply to.
valid values are name of sector, "all" or nil (will change default)
-
getZone (sectorName)
-
get zone of sector
Parameters:
Returns:
table of points or nil if no sector set
-
setZone (sectorName, zoneCandidate)
-
add zone to sector
Parameters:
- sectorName
string
to act on
- zoneCandidate
DCS Group name. Group's waypoints will be used.
same as MOOSE. use late activation invisible helicopter group is recommended.
-
removeZone (sectorName)
-
remove zone from sector
Parameters:
-
updateSectorMembership ()
-
update sector membership for all contacts
-
enableController (sectorName[, settings])
-
enable controller in sector
Parameters:
- sectorName
optional string
name of sector in which a controller is enabled (default is "default") - "all" enable controller on all sectors
- settings
table
controller settings to apply (if "all" is used, setting will be dropped)
(optional)
-
disableController (sectorName)
-
disable controller in sector
Parameters:
- sectorName
optional string
Name of sector to act on. default is "default". all will disable all controllers
-
removeController (sectorName)
-
remove controller in sector
Parameters:
- sectorName
optional string
Name of sector to act on. default is "default". all will disable all controllers
-
configureController (sectorName, settings)
-
configure controller in sector
Parameters:
- sectorName
optional string
name of sector to configure
- settings
table
settings for sector controller
-
getControllerFreq (sectorName)
-
get controller freq
Parameters:
- sectorName
optional string
name of sector to configure
Returns:
frequncies table for sector's controller
-
getControllerState (sectorName)
-
get controller state
Parameters:
- sectorName
optional string
name of sector to probe
Returns:
Bool
True = enabled. False is disable or not configured
-
transmitOnController (sectorName, msg, priority)
-
Transmit custom TTS message on controller freqency
Parameters:
- sectorName
string
name of the sector to transmit on.
- msg
string
message to broadcast
- priority
optional number
message priority
-
enableAtis (sectorName[, settings])
-
enable ATIS in sector
Parameters:
- sectorName
optional string
name of sector in which a controller is enabled (default is "default") - "all" enable ATIS on all sectors
- settings
table
controller settings to apply (if "all" is used, setting will be dropped)
(optional)
-
disableAtis (sectorName)
-
disable ATIS in sector
Parameters:
- sectorName
optional string
Name of sector to act on. default is "default". all will disable all ATIS
-
removeAtis (sectorName)
-
remove ATIS in sector
Parameters:
- sectorName
optional string
Name of sector to act on. default is "default". all will disable all ATIS
-
configureAtis (sectorName, settings)
-
configure ATIS in sector
Parameters:
- sectorName
optional string
name of sector to configure
- settings
table
settings for sector ATIS
-
getAtisFreq (sectorName)
-
get ATIS freq
Parameters:
- sectorName
optional string
name of sector to query
Returns:
frequncies table for sector's controller
-
reportEWR (name, state)
-
set ATIS EWR report state for sector
Parameters:
- name
optional string
sector name. valid inputs are sector name, "all". nothing will default to "default"
- state
boolean
set desired state
-
getAtisState (sectorName)
-
get ATIS state
Parameters:
- sectorName
optional string
name of sector to probe
Returns:
Bool
True = enabled. False is disable or not configured
-
enableNotifier (sectorName[, settings])
-
enable Notifier in sector
Only one notifier is required as it will broadcast on a global frequency (default is guard)
controller will also handle alerts for per sector notifications
Parameters:
- sectorName
optional string
name of sector in which a Notifier is enabled (default is "default")
- settings
table
controller settings to apply (if "all" is used, setting will be dropped)
(optional)
-
disableNotifier (sectorName)
-
disable Notifier in sector
Parameters:
- sectorName
optional string
Name of sector to act on. default is "default". all will disable all Notifiers
-
removeNotifier (sectorName)
-
remove controller in sector
Parameters:
- sectorName
optional string
Name of sector to act on. default is "default". all will disable all Notifiers
-
configureNotifier (sectorName, settings)
-
configure Notifier in sector
Parameters:
- sectorName
optional string
name of sector to configure
- settings
table
settings for sector Notifier
-
getNotifierFreq (sectorName)
-
get Notifier freq
Parameters:
- sectorName
optional string
name of sector to query
Returns:
frequncies table for sector's Notifier
-
getNotifierState (sectorName)
-
get Notifier state
Parameters:
- sectorName
optional string
name of sector to probe
Returns:
Bool
True = enabled. False is disable or not configured
-
transmitOnNotifier (sectorName, msg, priority)
-
Transmit custom TTS message on Notifier freqency
Parameters:
- sectorName
string
name of the sector to transmit on.
- msg
string
message to broadcast
- priority
optional number
message priority
-
runCycle (self)
-
Scheduled function that runs the main Instance loop
Parameters:
Returns:
time of next run
-
purgeRadioMenu ()
-
Purge the root radio menu
-
populateRadioMenu ()
-
Trigger building of radio menu in all sectors
-
updateSystemState (params)
-
Update the system state (on/off)
Parameters:
- params
table {self=<HoundInstance>,state=<Bool>}
-
systemOn ([notify])
-
Turn Hound system on
Parameters:
- notify
boolean
if True a text notification will be printed in 3d world
(optional)
-
systemOff ([notify])
-
Turn Hound system off
Parameters:
- notify
boolean
if True a text notification will be printed in 3d world
(optional)
-
isRunning ()
-
is Instance on
Returns:
bool
, True if system is running
-
getContacts ()
-
get an exported list of all contacts tracked by the instance
Returns:
table of all contact tracked for integration with external tools
-
getSites ()
-
get an exported list of all sites tracked by the instance
Returns:
table of all contact tracked for integration with external tools
-
dumpIntelBrief ([filename])
-
dump Intel Brief to csv
will dump intel summery to CSV in the DCS saved games folder
requires desanitization of lfs and io modules
Parameters:
- filename
target filename. (default: hound_contacts_%d.csv)
(optional)
-
printDebugging ()
-
return Debugging information
Returns:
string
-
onHoundEvent (houndEvent)
-
builtin prototype for onHoundEvent function
this function does NOTHING out of the box. put you own code here if needed
Parameters:
- houndEvent
incoming event
-
onHoundInternalEvent (houndEvent)
-
built in onHoundEvent function
Parameters:
- houndEvent
incoming event
-
onEvent (DcsEvent)
-
built in dcs onEvent
Parameters:
- DcsEvent
incoming dcs event
-
defaultEventHandler ([remove])
-
enable/disable Hound instance internal event handling
Parameters:
- remove
boolean
if true default event handler will be removed
(optional)