Module Ops.PlayerRecce
Ops - Allow a player in a helo like the Gazelle, KA-50 to recon and lase ground targets.
Features:
- Allow a player in a helicopter to detect, smoke, flare, lase and report ground units to others.
- Implements visual detection from the helo
- Implements optical detection via the Gazelle Vivianne system and lasing
- KA-50 BlackShark basic support
- Everyone else gets visual detection only
- Upload target info to a PLAYERTASKCONTROLLER Instance
Demo Missions
Demo missions can be found on github.
Authors:
- Applevangelist (Design & Programming)
Global(s)
Global PLAYERRECCE |
It is our attitude at the beginning of a difficult task which, more than anything else, which will affect its successful outcome. (William James) PLAYERRECCE
|
It is our attitude at the beginning of a difficult task which, more than anything else, which will affect its successful outcome. (William James)
PLAYERRECCE
- Allow a player in a helicopter to detect, smoke, flare, lase and report ground units to others.
- Implements visual detection from the helo
- Implements optical detection via the Gazelle Vivianne system and lasing
- KA-50 BlackShark basic support
- Everyone else gets visual detection only
- Upload target info to a PLAYERTASKCONTROLLER Instance
If you have questions or suggestions, please visit the MOOSE Discord channel.
Type(s)
Fields and Methods inherited from Cameraheight | Description |
---|---|
Unit type name |
Fields and Methods inherited from CanLase | Description |
---|---|
Unit type name |
Fields and Methods inherited from FlareColor | Description |
---|---|
Fields and Methods inherited from LaserRelativePos | Description |
---|---|
Unit type name |
Fields and Methods inherited from MaxViewDistance | Description |
---|---|
Unit type name |
Fields and Methods inherited from PLAYERRECCE | Description |
---|---|
Name of the class. |
|
[User] Disable smoking of average target positions, instead of all targets visible. |
|
[User] Disable smoking of own position |
|
[User] Enable smoking of average target positions, instead of all targets visible. |
|
[User] Enable smoking of own position |
|
Create and run a new PlayerRecce instance. |
|
PLAYERRECCE:OnAfterIllumination(From, Event, To, Client, Playername, TargetSet) |
FSM Function OnAfterIllumination. |
PLAYERRECCE:OnAfterRecceOffStation(From, Event, To, Client, Playername) |
FSM Function OnAfterRecceOffStation. |
PLAYERRECCE:OnAfterRecceOnStation(From, Event, To, Client, Playername) |
FSM Function OnAfterRecceOnStation. |
FSM Function OnAfterShack. |
|
PLAYERRECCE:OnAfterTargetDetected(From, Event, To, Targetsbyclock, Client, Playername) |
FSM Function OnAfterTargetDetected. |
PLAYERRECCE:OnAfterTargetLOSLost(From, Event, To, Client, Target) |
FSM Function OnAfterTargetLOSLost. |
PLAYERRECCE:OnAfterTargetLasing(From, Event, To, Client, Target, Lasercode, Lasingtime) |
FSM Function OnAfterTargetLasing. |
PLAYERRECCE:OnAfterTargetReport(From, Event, To, Client, TargetSet, Target, Text) |
FSM Function OnAfterTargetReport. |
PLAYERRECCE:OnAfterTargetReportSent(From, Event, To, Client, Playername, TargetSet) |
FSM Function OnAfterTargetReportSent. |
PLAYERRECCE:OnAfterTargetsFlared(From, Event, To, Client, Playername, TargetSet) |
FSM Function OnAfterTargetsFlared. |
PLAYERRECCE:OnAfterTargetsSmoked(From, Event, To, Client, Playername, TargetSet) |
FSM Function OnAfterTargetsSmoked. |
[User] Set a set of clients which will receive target reports |
|
PLAYERRECCE:SetCallSignOptions(ShortCallsign, Keepnumber, CallsignTranslations) |
[User] Set callsign options for TTS output. |
[User] Set a table of possible laser codes. |
|
[User] Set the top menu name to a custom string. |
|
[User] Set PlayerTaskController. |
|
[User] Set a reference point coordinate for A2G Operations. |
|
[User] Set SRS TTS details - see Sound.SRS for details |
|
[User] For SRS - Switch to only transmit if there are players on the server. |
|
Triggers the FSM event "Start". |
|
[Internal] Build Menus |
|
[Internal] Check Gazelle camera in on |
|
[Internal] |
|
[Internal] |
|
[Internal] Event handling |
|
[Internal] |
|
PLAYERRECCE:_GetActualMaxLOSight(unit, vheading, vnod, vivoff) |
[Internal] Get the max line of sight based on unit head and camera nod via trigonometry. |
(Internal) Function to determine clockwise direction to target. |
|
[Internal] Get the view parameters from a Gazelle camera |
|
[Internal] |
|
[Internal] |
|
[Internal] |
|
[Internal] Get text for text-to-speech. |
|
PLAYERRECCE:_GetViewZone(unit, vheading, minview, maxview, angle, camon, laser) |
[Internal] Build a ZONE_POLYGON from a given viewport of a unit |
[Internal] |
|
[Internal] |
|
[Internal] |
|
[Internal] |
|
PLAYERRECCE:_SetClientLaserCode(client, group, playername, code) |
[Internal] |
[Internal] |
|
[Internal] |
|
PLAYERRECCE:_SwitchLasingDist(client, group, playername, mindist, maxdist) |
[Internal] |
[Internal] |
|
[Internal] |
|
[Internal] |
|
[Internal] |
|
Triggers the FSM event "Start" after a delay. |
|
Triggers the FSM event "Stop" after a delay. |
|
Class id string for output to DCS log file. |
|
PLAYERRECCE:onafterIllumination(From, Event, To, Client, Playername, TargetSet) |
[Internal] Targets Illuminated |
PLAYERRECCE:onafterRecceOffStation(From, Event, To, Client, Playername) |
[Internal] Recce off station |
PLAYERRECCE:onafterRecceOnStation(From, Event, To, Client, Playername) |
[Internal] Recce on station |
[Internal] Lased target destroyed |
|
[Internal] Status Loop |
|
[Internal] Stop |
|
PLAYERRECCE:onafterTargetDetected(From, Event, To, Targetsbyclock, Client, Playername) |
[Internal] Target Detected |
PLAYERRECCE:onafterTargetLOSLost(From, Event, To, Client, Target) |
[Internal] Laser lost LOS |
PLAYERRECCE:onafterTargetLasing(From, Event, To, Client, Target, Lasercode, Lasingtime) |
[Internal] Target lasing |
PLAYERRECCE:onafterTargetReport(From, Event, To, Client, TargetSet, Target, Text) |
[Internal] Target report |
PLAYERRECCE:onafterTargetReportSent(From, Event, To, Client, Playername, TargetSet) |
[Internal] Target data upload |
PLAYERRECCE:onafterTargetsFlared(From, Event, To, Client, Playername, TargetSet) |
[Internal] Targets Flared |
PLAYERRECCE:onafterTargetsSmoked(From, Event, To, Client, Playername, TargetSet) |
[Internal] Targets Smoked |
Switch verbosity. |
|
Fields and Methods inherited from FSM | Description |
---|---|
Adds an End state. |
|
Set the default #FSM_PROCESS template with key ProcessName providing the ProcessClass and the process object when it is assigned to a Wrapper.Controllable by the task. |
|
Adds a score for the FSM to be achieved. |
|
PLAYERRECCE:AddScoreProcess(From, Event, State, ScoreText, Score) |
Adds a score for the FSM_PROCESS to be achieved. |
Add a new transition rule to the FSM. |
|
Get current state. |
|
Returns the End states. |
|
Returns a table of the SubFSM rules defined within the FSM. |
|
Returns a table with the scores defined. |
|
Returns the start state of the FSM. |
|
Get current state. |
|
Returns a table with the Subs defined. |
|
Returns a table of the transition rules defined within the FSM. |
|
Check if FSM is in state. |
|
Load call backs. |
|
Creates a new FSM object. |
|
Sets the start state of the FSM. |
|
Add to map. |
|
Call handler. |
|
Create transition. |
|
Delayed transition. |
|
Event map. |
|
Go sub. |
|
Handler. |
|
Is end state. |
|
Sub maps. |
|
Check if can do an event. |
|
Check if cannot do an event. |
|
Check if FSM is in state. |
|
Fields and Methods inherited from PlayerRecceDetected | Description |
---|---|
Fields and Methods inherited from SmokeColor | Description |
---|---|
Field(s)
Unit type name
Function(s)
Field(s)
Unit type name
Function(s)
Field(s)
Unit type name
Function(s)
Field(s)
Unit type name
Function(s)
PLAYERRECCE class.
Field(s)
Name of the class.
Class id string for output to DCS log file.
Switch verbosity.
Function(s)
[User] Disable smoking of average target positions, instead of all targets visible.
Default is - smoke all positions.
[User] Disable smoking of own position
[User] Enable smoking of average target positions, instead of all targets visible.
Loses smoke per threatlevel -- each is med threat. Default is - smoke all positions.
[User] Enable smoking of own position
Create and run a new PlayerRecce instance.
Defined in:
PLAYERRECCE
Parameters:
#string Name
The name of this instance
#number Coalition
e.g. coalition.side.BLUE
Core.Set#SET_CLIENT PlayerSet
The set of pilots working as recce
Return value:
self
FSM Function OnAfterIllumination.
Illumination rocket shot.
Defined in:
PLAYERRECCE
Parameters:
#string From
State.
#string Event
Trigger.
#string To
State.
Wrapper.Client#CLIENT Client
#string Playername
Core.Set#SET_UNIT TargetSet
Return value:
self
FSM Function OnAfterRecceOffStation.
Recce went off duty.
Defined in:
PLAYERRECCE
Parameters:
#string From
State.
#string Event
Trigger.
#string To
State.
Wrapper.Client#CLIENT Client
#string Playername
Return value:
self
FSM Function OnAfterRecceOnStation.
Recce came on station.
Defined in:
PLAYERRECCE
Parameters:
#string From
State.
#string Event
Trigger.
#string To
State.
Wrapper.Client#CLIENT Client
#string Playername
Return value:
self
FSM Function OnAfterShack.
Lased target has been destroyed.
Defined in:
PLAYERRECCE
Parameters:
#string From
State.
#string Event
Trigger.
#string To
State.
Wrapper.Client#CLIENT Client
Wrapper.Unit#UNIT Target
The destroyed target (if obtainable)
Return value:
self
FSM Function OnAfterTargetDetected.
Targets detected.
Defined in:
PLAYERRECCE
Parameters:
#string From
State.
#string Event
Trigger.
#string To
State.
#table Targetsbyclock
table with index 1..12 containing a #table of Wrapper.Unit#UNIT objects each.
Wrapper.Client#CLIENT Client
#string Playername
Return value:
self
FSM Function OnAfterTargetLOSLost.
Lost LOS on lased target.
Defined in:
PLAYERRECCE
Parameters:
#string From
State.
#string Event
Trigger.
#string To
State.
Wrapper.Client#CLIENT Client
Wrapper.Unit#UNIT Target
Return value:
self
FSM Function OnAfterTargetLasing.
Lasing a new target.
Defined in:
PLAYERRECCE
Parameters:
#string From
State.
#string Event
Trigger.
#string To
State.
Wrapper.Client#CLIENT Client
Wrapper.Unit#UNIT Target
#number Lasercode
#number Lasingtime
Return value:
self
FSM Function OnAfterTargetReport.
Laser target report sent.
Defined in:
PLAYERRECCE
Parameters:
#string From
State.
#string Event
Trigger.
#string To
State.
Wrapper.Client#CLIENT Client
Core.Set#SET_UNIT TargetSet
Wrapper.Unit#UNIT Target
Target currently lased
#string Text
Return value:
self
FSM Function OnAfterTargetReportSent.
All targets report sent.
Defined in:
PLAYERRECCE
Parameters:
#string From
State.
#string Event
Trigger.
#string To
State.
Wrapper.Client#CLIENT Client
Client sending the report
#string Playername
Player name
Core.Set#SET_UNIT TargetSet
Set of targets
Return value:
self
FSM Function OnAfterTargetsFlared.
Flares shot.
Defined in:
PLAYERRECCE
Parameters:
#string From
State.
#string Event
Trigger.
#string To
State.
Wrapper.Client#CLIENT Client
#string Playername
Core.Set#SET_UNIT TargetSet
Return value:
self
FSM Function OnAfterTargetsSmoked.
Smoke grenade shot.
Defined in:
PLAYERRECCE
Parameters:
#string From
State.
#string Event
Trigger.
#string To
State.
Wrapper.Client#CLIENT Client
#string Playername
Core.Set#SET_UNIT TargetSet
Return value:
self
[User] Set a set of clients which will receive target reports
[User] Set callsign options for TTS output.
See Wrapper.Group#GROUP.GetCustomCallSign() on how to set customized callsigns.
Defined in:
PLAYERRECCE
Parameters:
#boolean ShortCallsign
If true, only call out the major flight number
#boolean Keepnumber
If true, keep the customized callsign in the #GROUP name for players as-is, no amendments or numbers.
#table CallsignTranslations
(optional) Table to translate between DCS standard callsigns and bespoke ones. Does not apply if using customized callsigns from playername or group name.
Return value:
self
[User] Set a table of possible laser codes.
Each new RECCE can select a code from this table, default is { 1688, 1130, 4785, 6547, 1465, 4578 }.
[User] Set the top menu name to a custom string.
Defined in:
PLAYERRECCE
Parameter:
#string Name
The name to use as the top menu designation.
Return value:
self
[User] Set PlayerTaskController.
Allows to upload target reports to the controller, in turn creating tasks for other players.
[User] Set a reference point coordinate for A2G Operations.
Will be used in coordinate references.
Defined in:
PLAYERRECCE
Parameters:
Core.Point#COORDINATE Coordinate
Coordinate of the RP
#string Name
Name of the RP
Return value:
[User] Set SRS TTS details - see Sound.SRS for details
Defined in:
PLAYERRECCE
Parameters:
#number Frequency
Frequency to be used. Can also be given as a table of multiple frequencies, e.g. 271 or {127,251}. There needs to be exactly the same number of modulations!
#number Modulation
Modulation to be used. Can also be given as a table of multiple modulations, e.g. radio.modulation.AM or {radio.modulation.FM,radio.modulation.AM}. There needs to be exactly the same number of frequencies!
#string PathToSRS
Defaults to "C:\Program Files\DCS-SimpleRadio-Standalone"
#string Gender
(Optional) Defaults to "male"
#string Culture
(Optional) Defaults to "en-US"
#number Port
(Optional) Defaults to 5002
#string Voice
(Optional) Use a specifc voice with the Sound.SRS#SetVoice function, e.g, :SetVoice("Microsoft Hedda Desktop")
.
Note that this must be installed on your windows system. Can also be Google voice types, if you are using Google TTS.
#number Volume
(Optional) Volume - between 0.0 (silent) and 1.0 (loudest)
#string PathToGoogleKey
(Optional) Path to your google key if you want to use google TTS
Return value:
self
[User] For SRS - Switch to only transmit if there are players on the server.
Defined in:
PLAYERRECCE
Parameter:
#boolean Switch
If true, only send SRS if there are alive Players.
Return value:
self
Triggers the FSM event "Start".
Starts the PLAYERRECCE. Note: Start() is called automatically after New().
Defined in:
PLAYERRECCE
[Internal] Build Menus
Defined in:
PLAYERRECCE
Parameter:
Wrapper.Client#CLIENT Client
(optional) Client object
Return value:
self
[Internal] Check Gazelle camera in on
Defined in:
PLAYERRECCE
Parameters:
Wrapper.Client#CLIENT client
#string playername
Return value:
#boolean:
OnOff
[Internal]
Defined in:
PLAYERRECCE
Parameters:
Core.Set#SET_UNIT targetset
Wrapper.Client#CLIENT client
#string playername
Return value:
self
[Internal]
[Internal] Event handling
[Internal]
Defined in:
PLAYERRECCE
Parameters:
Wrapper.Client#CLIENT client
Wrapper.Group#GROUP group
#string playername
Return value:
self
[Internal] Get the max line of sight based on unit head and camera nod via trigonometry.
Returns 0 if camera is off.
Defined in:
PLAYERRECCE
Parameters:
Wrapper.Unit#UNIT unit
The unit which LOS we want
#number vheading
Heading where the unit or camera is looking
#number vnod
Nod down in degrees
#boolean vivoff
Camera on or off
Return value:
#number:
maxview Max view distance in meters
(Internal) Function to determine clockwise direction to target.
Defined in:
PLAYERRECCE
Parameters:
Wrapper.Unit#UNIT unit
The Helicopter
Wrapper.Unit#UNIT target
The downed Group
Return value:
#number:
direction
[Internal] Get the view parameters from a Gazelle camera
Defined in:
PLAYERRECCE
Parameter:
Wrapper.Unit#UNIT Gazelle
Return values:
#number:
cameraheading in degrees.
#number:
cameranodding in degrees.
#number:
maxview in meters.
#boolean:
cameraison If true, camera is on, else off.
[Internal]
Defined in:
PLAYERRECCE
Parameter:
Core.Set#SET_UNIT targetset
Set of targets, can be empty!
Return value:
Target or nil
[Internal]
[Internal]
Defined in:
PLAYERRECCE
Parameters:
Wrapper.Unit#UNIT unit
The FACA unit
#boolean camera
If true, use the unit's camera for targets in sight
#laser laser
Use laser zone
Return values:
[Internal] Get text for text-to-speech.
Numbers are spaced out, e.g. "Heading 180" becomes "Heading 1 8 0 ".
Defined in:
PLAYERRECCE
Parameter:
#string text
Original text.
Return value:
#string:
Spoken text.
[Internal] Build a ZONE_POLYGON from a given viewport of a unit
Defined in:
PLAYERRECCE
Parameters:
Wrapper.Unit#UNIT unit
The unit which is looking
#number vheading
Heading where the unit or camera is looking
#number minview
Min line of sight - for lasing
#number maxview
Max line of sight
#number angle
Angle left/right to be added to heading to form a triangle
#boolean camon
Camera is switched on
#boolean laser
Zone is for lasing
Return value:
ViewZone or nil if camera is off
[Internal]
Defined in:
PLAYERRECCE
Parameters:
Wrapper.Client#CLIENT client
Wrapper.Group#GROUP group
#string playername
Return value:
self
[Internal]
Defined in:
PLAYERRECCE
Parameters:
Wrapper.Client#CLIENT client
The FACA unit
Core.Set#SET_UNIT targetset
Set of targets, can be empty!
Return value:
self
[Internal]
Defined in:
PLAYERRECCE
Parameters:
Wrapper.Client#CLIENT client
Wrapper.Group#GROUP group
#string playername
Return value:
self
[Internal]
Defined in:
PLAYERRECCE
Parameters:
Wrapper.Client#CLIENT client
Wrapper.Group#GROUP group
#string playername
Return value:
self
[Internal]
Defined in:
PLAYERRECCE
Parameters:
Wrapper.Client#CLIENT client
Wrapper.Group#GROUP group
#string playername
code
Return value:
self
[Internal]
Defined in:
PLAYERRECCE
Parameters:
Wrapper.Client#CLIENT client
Wrapper.Group#GROUP group
#string playername
Return value:
self
[Internal]
Defined in:
PLAYERRECCE
Parameters:
Wrapper.Client#CLIENT client
Wrapper.Group#GROUP group
#string playername
Return value:
self
[Internal]
Defined in:
PLAYERRECCE
Parameters:
Wrapper.Client#CLIENT client
Wrapper.Group#GROUP group
#string playername
#number mindist
#number maxdist
Return value:
self
[Internal]
Defined in:
PLAYERRECCE
Parameters:
Wrapper.Client#CLIENT client
Wrapper.Group#GROUP group
#string playername
Return value:
self
[Internal]
Defined in:
PLAYERRECCE
Parameters:
Wrapper.Client#CLIENT client
Wrapper.Group#GROUP group
#string playername
Return value:
self
[Internal]
Defined in:
PLAYERRECCE
Parameters:
Wrapper.Client#CLIENT client
Wrapper.Group#GROUP group
#string playername
Return value:
self
[Internal]
Defined in:
PLAYERRECCE
Parameters:
Wrapper.Client#CLIENT client
Wrapper.Group#GROUP group
#string playername
Return value:
self
Triggers the FSM event "Start" after a delay.
Starts the PLAYERRECCE. Note: Start() is called automatically after New().
Defined in:
PLAYERRECCE
Parameter:
#number delay
Delay in seconds.
Triggers the FSM event "Stop" after a delay.
Stops the PLAYERRECCE and all its event handlers.
Defined in:
PLAYERRECCE
Parameter:
#number delay
Delay in seconds.
[Internal] Targets Illuminated
Defined in:
PLAYERRECCE
Parameters:
#string From
#string Event
#string To
Wrapper.Client#CLIENT Client
#string Playername
Core.Set#SET_UNIT TargetSet
Return value:
self
[Internal] Recce off station
Defined in:
PLAYERRECCE
Parameters:
#string From
#string Event
#string To
Wrapper.Client#CLIENT Client
#string Playername
Return value:
self
[Internal] Recce on station
Defined in:
PLAYERRECCE
Parameters:
#string From
#string Event
#string To
Wrapper.Client#CLIENT Client
#string Playername
Return value:
self
[Internal] Lased target destroyed
Defined in:
PLAYERRECCE
Parameters:
#string From
#string Event
#string To
Wrapper.Client#CLIENT Client
Wrapper.Unit#UNIT Target
Return value:
self
[Internal] Status Loop
Defined in:
PLAYERRECCE
Parameters:
#string From
#string Event
#string To
Return value:
self
[Internal] Stop
Defined in:
PLAYERRECCE
Parameters:
#string From
#string Event
#string To
Return value:
self
[Internal] Target Detected
Defined in:
PLAYERRECCE
Parameters:
#string From
#string Event
#string To
#table Targetsbyclock
#table with index 1..12 containing a #table of Wrapper.Unit#UNIT objects each.
Wrapper.Client#CLIENT Client
#string Playername
Return value:
self
[Internal] Laser lost LOS
Defined in:
PLAYERRECCE
Parameters:
#string From
#string Event
#string To
Wrapper.Client#CLIENT Client
Wrapper.Unit#UNIT Target
Return value:
self
[Internal] Target lasing
Defined in:
PLAYERRECCE
Parameters:
#string From
#string Event
#string To
Wrapper.Client#CLIENT Client
Wrapper.Unit#UNIT Target
#number Lasercode
#number Lasingtime
Return value:
self
[Internal] Target report
Defined in:
PLAYERRECCE
Parameters:
#string From
#string Event
#string To
Wrapper.Client#CLIENT Client
Core.Set#SET_UNIT TargetSet
Wrapper.Unit#UNIT Target
#string Text
Return value:
self
[Internal] Target data upload
Defined in:
PLAYERRECCE
Parameters:
#string From
#string Event
#string To
Wrapper.Client#CLIENT Client
Client sending the report
#string Playername
Player name
Core.Set#SET_UNIT TargetSet
Set of targets
Return value:
self
[Internal] Targets Flared
Defined in:
PLAYERRECCE
Parameters:
#string From
#string Event
#string To
Wrapper.Client#CLIENT Client
#string Playername
Core.Set#SET_UNIT TargetSet
Return value:
self
[Internal] Targets Smoked
Defined in:
PLAYERRECCE
Parameters:
#string From
#string Event
#string To
Wrapper.Client#CLIENT Client
#string Playername
Core.Set#SET_UNIT TargetSet
Return value:
self
Field(s)
Name of the class.
Class id string for output to DCS log file.
Switch verbosity.
Function(s)
Adds an End state.
Set the default #FSM_PROCESS template with key ProcessName providing the ProcessClass and the process object when it is assigned to a Wrapper.Controllable by the task.
Defined in:
Parameters:
#table From
Can contain a string indicating the From state or a table of strings containing multiple From states.
#string Event
The Event name.
Core.Fsm#FSM_PROCESS Process
An sub-process FSM.
#table ReturnEvents
A table indicating for which returned events of the SubFSM which Event must be triggered in the FSM.
Return value:
The SubFSM.
Adds a score for the FSM to be achieved.
Defined in:
Parameters:
#string State
is the state of the process when the score needs to be given. (See the relevant state descriptions of the process).
#string ScoreText
is a text describing the score that is given according the status.
#number Score
is a number providing the score of the status.
Return value:
#FSM:
self
Adds a score for the FSM_PROCESS to be achieved.
Defined in:
Parameters:
#string From
is the From State of the main process.
#string Event
is the Event of the main process.
#string State
is the state of the process when the score needs to be given. (See the relevant state descriptions of the process).
#string ScoreText
is a text describing the score that is given according the status.
#number Score
is a number providing the score of the status.
Return value:
#FSM:
self
Add a new transition rule to the FSM.
A transition rule defines when and if the FSM can transition from a state towards another state upon a triggered event.
Defined in:
Parameters:
#table From
Can contain a string indicating the From state or a table of strings containing multiple From states.
#string Event
The Event name.
#string To
The To state.
Get current state.
Returns the End states.
Returns a table of the SubFSM rules defined within the FSM.
Returns a table with the scores defined.
Returns the start state of the FSM.
Get current state.
Returns a table with the Subs defined.
Returns a table of the transition rules defined within the FSM.
Check if FSM is in state.
Defined in:
Parameter:
#string State
State name.
Return value:
#boolean:
If true, FSM is in this state.
Load call backs.
Sets the start state of the FSM.
Add to map.
Call handler.
Defined in:
Parameters:
#string step
Step "onafter", "onbefore", "onenter", "onleave".
#string trigger
Trigger.
#table params
Parameters.
#string EventName
Event name.
Return value:
Value.
Create transition.
Defined in:
Parameter:
#string EventName
Event name.
Return value:
#function:
Function.
Delayed transition.
Defined in:
Parameter:
#string EventName
Event name.
Return value:
#function:
Function.
Event map.
Go sub.
Defined in:
Parameters:
#string ParentFrom
Parent from state.
#string ParentEvent
Parent event name.
Return value:
#table:
Subs.
Handler.
Is end state.
Defined in:
Parameter:
#string Current
Current state name.
Return values:
#table:
FSM parent.
#string:
Event name.
Sub maps.
Check if can do an event.
Defined in:
Parameter:
#string e
Event name.
Return values:
#boolean:
If true, FSM can do the event.
#string:
To state.
Check if cannot do an event.
Defined in:
Parameter:
#string e
Event name.
Return value:
#boolean:
If true, FSM cannot do the event.
Check if FSM is in state.
Defined in:
Parameters:
#string State
State name.
state
Return value:
#boolean:
If true, FSM is in this state.