Script HoundElint

Hound Main interface Elint system for DCS

Info:

  • Copyright: uri_ba 2020-2021
  • Author: uri_ba

Instance Setup

create (platformName) create HoundElint instance.
destroy () destructor function initiates cleanup
getId () get Hound instance ID
getCoalition () get Hound instance Coalition
setCoalition (side) set coalition for Hound Instance (Internal)
onScreenDebug (value) set onScreenDebug
enableMarkers ([markerType]) enable Markers for Hound Instance (default)
disableMarkers () disable Markers for Hound Instance
enableSiteMarkers () enable Site Markers for Hound Instance (default)
disableSiteMarkers () disable Site Markers for Hound Instance
setMarkerType (markerType) Set marker type for Hound instance
setTimerInterval (setIntervalName, setValue) set intervals
enablePlatformPosErrors () enable platforms INS position errors
disablePlatformPosErrors () disable platforms INS position errors
getBDA () get current BDA setting state
enableBDA () enable BDA for Hound Instance Hound will notify on radar destruction
disableBDA () disable BDA for Hound Instance
getNATO () Get current state of NATO brevity setting
enableNATO () enable NATO brevity for Hound Instance
disableNATO () disable NATO brevity for Hound Instance
getAlertOnLaunch () get Alert on launch for Hound Instance
setAlertOnLaunch (value) set Alert on Launch for Hound instance
useNATOCallsignes (value) set flag if callsignes for sectors under Callsignes would be from the NATO pool
setAtisUpdateInterval (value) set Atis Update interval
setRadioMenuParent (parent) Set Main parent menu for hound Instace must be set BEFORE calling enableController()

Platforms managment

addPlatform (platformName) add platform from hound instance
removePlatform (platformName) Remove platform from hound instance
countPlatforms () count Platforms
listPlatforms () list platforms

Contact managment

countContacts (sectorName) count contacts
countActiveContacts (sectorName) count Active contacts
countPreBriefedContacts (sectorName) count preBriefed contacts
preBriefedContact (DCS_Object_Name[, codeName]) set/create a pre Briefed contacts
markDeadContact (radarUnit) Mark Radar as dead
AlertOnLaunch (fireUnit) Issue a Launch Alert
countSites (sectorName) count sites

Sector managment

addSector (sectorName[, sectorSettings[, priority]]) Add named sector
removeSector (sectorName) Remove Named sector
updateSectorSettings (sectorName, sectorSettings, subSettingName) Update named sector settings
listSectors (element) list all sectors
getSectors (element) get all sectors
countSectors (element) return number of sectors
getSector (sectorName) return HOUND.Sector instance
enableText (sectorName) enable Text notification for controller
disableText (sectorName) disable Text notification for controller
enableTTS (sectorName) enable Text-To-Speach notification for controller
disableTTS (sectorName) disable Text-to-speach notification for controller
enableAlerts (sectorName) enable Alert notification for controller
disableAlerts (sectorName) disable Alert notification for controller
setCallsign (sectorName, sectorCallsign) Set sector callsign
getCallsign (sectorName) get sector callsign
setTransmitter (sectorName, transmitter) set transmitter to named sector
removeTransmitter (sectorName) remove transmitter to named sector
getZone (sectorName) get zone of sector
setZone (sectorName, zoneCandidate) add zone to sector
removeZone (sectorName) remove zone from sector
updateSectorMembership () update sector membership for all contacts

Controller managment

enableController (sectorName[, settings]) enable controller in sector
disableController (sectorName) disable controller in sector
removeController (sectorName) remove controller in sector
configureController (sectorName, settings) configure controller in sector
getControllerFreq (sectorName) get controller freq
getControllerState (sectorName) get controller state
transmitOnController (sectorName, msg, priority) Transmit custom TTS message on controller freqency

ATIS managment

enableAtis (sectorName[, settings]) enable ATIS in sector
disableAtis (sectorName) disable ATIS in sector
removeAtis (sectorName) remove ATIS in sector
configureAtis (sectorName, settings) configure ATIS in sector
getAtisFreq (sectorName) get ATIS freq
reportEWR (name, state) set ATIS EWR report state for sector
getAtisState (sectorName) get ATIS state

Notifier managment

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
disableNotifier (sectorName) disable Notifier in sector
removeNotifier (sectorName) remove controller in sector
configureNotifier (sectorName, settings) configure Notifier in sector
getNotifierFreq (sectorName) get Notifier freq
getNotifierState (sectorName) get Notifier state
transmitOnNotifier (sectorName, msg, priority) Transmit custom TTS message on Notifier freqency

Instance Internal functions

runCycle (self) Scheduled function that runs the main Instance loop
purgeRadioMenu () Purge the root radio menu
populateRadioMenu () Trigger building of radio menu in all sectors
updateSystemState (params) Update the system state (on/off)
systemOn ([notify]) Turn Hound system on
systemOff ([notify]) Turn Hound system off
isRunning () is Instance on

Exports

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

EventHandler functions

onHoundEvent (houndEvent) builtin prototype for onHoundEvent function this function does NOTHING out of the box.
onHoundInternalEvent (houndEvent) built in onHoundEvent function
onEvent (DcsEvent) built in dcs onEvent
defaultEventHandler ([remove]) enable/disable Hound instance internal event handling


Instance Setup

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:

  • value bool to set

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:

  • value

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:

  • value

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

Platforms managment

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

Contact managment

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

Sector managment

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

Controller managment

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

ATIS managment

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

Notifier managment

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

Instance Internal functions

runCycle (self)
Scheduled function that runs the main Instance loop

Parameters:

  • self

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

Exports

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

EventHandler functions

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)
generated by LDoc 1.5.0 Last updated 2025-03-30 22:58:36