Module MissileTrainer

Functional -- MISSILETRAINER helps you to train missile avoidance.


1) MissileTrainer#MISSILETRAINER class, extends Core.Base#BASE

The #MISSILETRAINER class uses the DCS world messaging system to be alerted of any missiles fired, and when a missile would hit your aircraft, the class will destroy the missile within a certain range, to avoid damage to your aircraft. It suports the following functionality:

  • Track the missiles fired at you and other players, providing bearing and range information of the missiles towards the airplanes.
  • Provide alerts of missile launches, including detailed information of the units launching, including bearing, range �
  • Provide alerts when a missile would have killed your aircraft.
  • Provide alerts when the missile self destructs.
  • Enable / Disable and Configure the Missile Trainer using the various menu options.

When running a mission where MISSILETRAINER is used, the following radio menu structure ( 'Radio Menu' -> 'Other (F10)' -> 'MissileTrainer' ) options are available for the players:

  • Messages: Menu to configure all messages.
    • Messages On: Show all messages.
    • Messages Off: Disable all messages.
  • Tracking: Menu to configure missile tracking messages.
    • To All: Shows missile tracking messages to all players.
    • To Target: Shows missile tracking messages only to the player where the missile is targetted at.
    • Tracking On: Show missile tracking messages.
    • Tracking Off: Disable missile tracking messages.
    • Frequency Increase: Increases the missile tracking message frequency with one second.
    • Frequency Decrease: Decreases the missile tracking message frequency with one second.
  • Alerts: Menu to configure alert messages.
    • To All: Shows alert messages to all players.
    • To Target: Shows alert messages only to the player where the missile is (was) targetted at.
    • Hits On: Show missile hit alert messages.
    • Hits Off: Disable missile hit alert messages.
    • Launches On: Show missile launch messages.
    • Launches Off: Disable missile launch messages.
  • Details: Menu to configure message details.
    • Range On: Shows range information when a missile is fired to a target.
    • Range Off: Disable range information when a missile is fired to a target.
    • Bearing On: Shows bearing information when a missile is fired to a target.
    • Bearing Off: Disable bearing information when a missile is fired to a target.
  • Distance: Menu to configure the distance when a missile needs to be destroyed when near to a player, during tracking. This will improve/influence hit calculation accuracy, but has the risk of damaging the aircraft when the missile reaches the aircraft before the distance is measured.
    • 50 meter: Destroys the missile when the distance to the aircraft is below or equal to 50 meter.
    • 100 meter: Destroys the missile when the distance to the aircraft is below or equal to 100 meter.
    • 150 meter: Destroys the missile when the distance to the aircraft is below or equal to 150 meter.
    • 200 meter: Destroys the missile when the distance to the aircraft is below or equal to 200 meter.

1.1) MISSILETRAINER construction methods:

Create a new MISSILETRAINER object with the MISSILETRAINER.New method:

  • MISSILETRAINER.New: Creates a new MISSILETRAINER object taking the maximum distance to your aircraft to evaluate when a missile needs to be destroyed.

MISSILETRAINER will collect each unit declared in the mission with a skill level "Client" and "Player", and will monitor the missiles shot at those.

1.2) MISSILETRAINER initialization methods:

A MISSILETRAINER object will behave differently based on the usage of initialization methods:


CREDITS

Stuka (Danny) Who you can search on the Eagle Dynamics Forums. Working together with Danny has resulted in the MISSILETRAINER class. Danny has shared his ideas and together we made a design. Together with the 476 virtual team, we tested the MISSILETRAINER class, and got much positive feedback!

Global(s)

MISSILETRAINER

Type MISSILETRAINER

MISSILETRAINER.AlertsHitsOnOff
MISSILETRAINER.AlertsLaunchesOnOff
MISSILETRAINER.AlertsToAll
MISSILETRAINER.ClassName
MISSILETRAINER.DBClients
MISSILETRAINER.DetailsBearingOnOff
MISSILETRAINER.DetailsRangeOnOff
MISSILETRAINER:InitAlertsHitsOnOff(AlertsHitsOnOff)

Sets by default the display of hit alerts ON or OFF.

MISSILETRAINER:InitAlertsLaunchesOnOff(AlertsLaunchesOnOff)

Sets by default the display of launch alerts ON or OFF.

MISSILETRAINER:InitAlertsToAll(AlertsToAll)

Sets by default the display of alerts to be shown to all players or only to you.

MISSILETRAINER:InitBearingOnOff(DetailsBearingOnOff)

Sets by default the display of bearing information of missiles ON of OFF.

MISSILETRAINER:InitMenusOnOff(MenusOnOff)

Enables / Disables the menus.

MISSILETRAINER:InitMessagesOnOff(MessagesOnOff)

Sets by default the display of any message to be ON or OFF.

MISSILETRAINER:InitRangeOnOff(DetailsRangeOnOff)

Sets by default the display of range information of missiles ON of OFF.

MISSILETRAINER:InitTrackingFrequency(TrackingFrequency)

Increases, decreases the missile tracking message display frequency with the provided time interval in seconds.

MISSILETRAINER:InitTrackingOnOff(TrackingOnOff)

Sets by default the display of missile tracking report to be ON or OFF.

MISSILETRAINER:InitTrackingToAll(TrackingToAll)

Sets by default the missile tracking report for all players or only for those missiles targetted to you.

MISSILETRAINER.MenusOnOff
MISSILETRAINER.MessagesOnOff
MISSILETRAINER:New(Distance, Briefing)

Creates the main object which is handling missile tracking.

MISSILETRAINER:OnEventShot(EventData, EVentData)

Detects if an SA site was shot with an anti radiation missile.

MISSILETRAINER.TrackingFrequency
MISSILETRAINER.TrackingMissiles
MISSILETRAINER.TrackingOnOff
MISSILETRAINER.TrackingToAll
MISSILETRAINER:_AddBearing(Client, TrainerWeapon)
MISSILETRAINER:_AddRange(Client, TrainerWeapon)
MISSILETRAINER._Alive(Client, self)
MISSILETRAINER._MenuMessages(MenuParameters)
MISSILETRAINER:_TrackMissiles()

Global(s)

#MISSILETRAINER MISSILETRAINER

Type MissileTrainer

Type MISSILETRAINER

Extends Core.Base#BASE

The MISSILETRAINER class

Field(s)

MISSILETRAINER.AlertsHitsOnOff
MISSILETRAINER.AlertsLaunchesOnOff
MISSILETRAINER.AlertsToAll
#string MISSILETRAINER.ClassName
Core.Set#SET_CLIENT MISSILETRAINER.DBClients
MISSILETRAINER.DetailsBearingOnOff
MISSILETRAINER.DetailsRangeOnOff
MISSILETRAINER:InitAlertsHitsOnOff(AlertsHitsOnOff)

Sets by default the display of hit alerts ON or OFF.

Parameter

  • #boolean AlertsHitsOnOff : true or false

Return value

#MISSILETRAINER: self

MISSILETRAINER:InitAlertsLaunchesOnOff(AlertsLaunchesOnOff)

Sets by default the display of launch alerts ON or OFF.

Parameter

  • #boolean AlertsLaunchesOnOff : true or false

Return value

#MISSILETRAINER: self

MISSILETRAINER:InitAlertsToAll(AlertsToAll)

Sets by default the display of alerts to be shown to all players or only to you.

Parameter

  • #boolean AlertsToAll : true or false

Return value

#MISSILETRAINER: self

MISSILETRAINER:InitBearingOnOff(DetailsBearingOnOff)

Sets by default the display of bearing information of missiles ON of OFF.

Parameter

  • #boolean DetailsBearingOnOff : true or false

Return value

#MISSILETRAINER: self

MISSILETRAINER:InitMenusOnOff(MenusOnOff)

Enables / Disables the menus.

Parameter

  • #boolean MenusOnOff : true or false

Return value

#MISSILETRAINER: self

MISSILETRAINER:InitMessagesOnOff(MessagesOnOff)

Sets by default the display of any message to be ON or OFF.

Parameter

  • #boolean MessagesOnOff : true or false

Return value

#MISSILETRAINER: self

MISSILETRAINER:InitRangeOnOff(DetailsRangeOnOff)

Sets by default the display of range information of missiles ON of OFF.

Parameter

  • #boolean DetailsRangeOnOff : true or false

Return value

#MISSILETRAINER: self

MISSILETRAINER:InitTrackingFrequency(TrackingFrequency)

Increases, decreases the missile tracking message display frequency with the provided time interval in seconds.

The default frequency is a 3 second interval, so the Tracking Frequency parameter specifies the increase or decrease from the default 3 seconds or the last frequency update.

Parameter

  • #number TrackingFrequency : Provide a negative or positive value in seconds to incraese or decrease the display frequency.

Return value

#MISSILETRAINER: self

MISSILETRAINER:InitTrackingOnOff(TrackingOnOff)

Sets by default the display of missile tracking report to be ON or OFF.

Parameter

  • #boolean TrackingOnOff : true or false

Return value

#MISSILETRAINER: self

MISSILETRAINER:InitTrackingToAll(TrackingToAll)

Sets by default the missile tracking report for all players or only for those missiles targetted to you.

Parameter

  • #boolean TrackingToAll : true or false

Return value

#MISSILETRAINER: self

MISSILETRAINER.MenusOnOff
MISSILETRAINER.MessagesOnOff
MISSILETRAINER:New(Distance, Briefing)

Creates the main object which is handling missile tracking.

When a missile is fired a SCHEDULER is set off that follows the missile. When near a certain a client player, the missile will be destroyed.

Parameters

  • #number Distance : The distance in meters when a tracked missile needs to be destroyed when close to a player.

  • #string Briefing : (Optional) Will show a text to the players when starting their mission. Can be used for briefing purposes.

Return value

#MISSILETRAINER:

MISSILETRAINER:OnEventShot(EventData, EVentData)

Detects if an SA site was shot with an anti radiation missile.

In this case, take evasive actions based on the skill level set within the ME.

Parameters

MISSILETRAINER.TrackingFrequency
#table MISSILETRAINER.TrackingMissiles
MISSILETRAINER.TrackingOnOff
MISSILETRAINER.TrackingToAll
MISSILETRAINER:_AddBearing(Client, TrainerWeapon)

Parameters

  • Client :

  • TrainerWeapon :

MISSILETRAINER:_AddRange(Client, TrainerWeapon)

Parameters

  • Client :

  • TrainerWeapon :

MISSILETRAINER._Alive(Client, self)

Parameters

  • Client :

  • self :

MISSILETRAINER._MenuMessages(MenuParameters)

Parameter

  • MenuParameters :

MISSILETRAINER:_TrackMissiles()