<SimMission.FlowStateAction>

Flowstates are used to define the different parts of a mission or freeflight such as the introduction, the aircraft approach, or a flyby of a POI. Within flow states, you have "flow events" which are the special actions that control specific in-sim actions, such as enabling the VFR map, pausing the simulation, and changing the camera. You can also use flowstates to start animated intros and and outros using RTC Cameras. You can find examples of these uses in the different bushtrips, landing challenges, and freeflights available in the simulation.

 

This element is used as part of the XML file used to generate a mission. Full information on this file can be found here:

 

The element also has the following attributes:

 

Attribute Description Type Required
InstanceId The unique ID for the flow state action, as a GUID enclosed in {}. You can find more information on GUID's here: GUIDs String Yes
VRDependency When set to TRUE, this sets the flow action as being VR dependent. Default is FALSE. Bool No

 

This element can also contain any of the following sub-elements, sometimes multiple times:

  1. <Descr>
  2. <FlowStateName>
  3. <AutoStateSwitchEnabled>
  4. <StayInStateAfterEndTeleportActions>
  5. <IsFirstStateInTimeline>
  6. <TrafficAircraftStateName>
  7. <ATCAircraftStateName>
  8. <AvailableInTimeLine>
  9. <IsFirstStateInTimeline>
  10. <FromSpawn>
  11. <SpawnFlowEvents>
  12. <SpawnActions>
  13. <TeleportFlowEvents>
  14. <TeleportActions>
  15. <IntroFlowEvents>
  16. <IntroActions>
  17. <StartFlowEvents>
  18. <StartActions>
  19. <PauseOnStart>
  20. <EndFlowEvents>
  21. <EndActions>
  22. <FirstState>
  23. <NextState />
  24. <Immediate>
  25. <SimMission.ObjectReference />
  26. <EndStateOnEvent>
  27. <EndChecklistActions>

 

 

<FlowStateName>

With this sub-element of the main <SimMission.FlowStateAction> you can define what kind of flow state it is that you are creating. The name can be any one of the following constants and will be used as the flow state reference:

 

Constant Description Use Case
INTRO General
OUTRO
BRIEFING
INTRO_PLANE
REPLAY
JOINPLANE
SPECTATOR
WAITING
TELEPORTTOSTATE
PREFLIGHT_GATE

Flight Stages

(Used in Freeflight)

PREFLIGHT_PUSHBACK
PREFLIGHT_TAXI
PREFLIGHT_HOLDSHORT
FLIGHT_RUNWAY
FLIGHT_INITIAL_CLIMB
FLIGHT_CLIMB
FLIGHT_CRUISE
FLIGHT_DESCENT
LANDING_APPROACH
LANDING_FINAL
LANDING_TOUCHDOWN
LANDING_GROUNDROLL
LANDING_TAXI
LANDING_GATE
LANDING_REST
FREEFLIGHT Activities
BUSHTRIP
LANDINGCHALLENGE
RACE_BASE

Reno Races

RACE_LOWALTITUDE
RACE_REDBULL
RACE_RENO
RACE_CRASHED_OR_DISQUALIFIED
RACE_LOBBY_BASE
RACE_LOBBY_REDBULL
RACE_WAIT
RACE_WAIT_PLAYERS_LOADING
RACE_WAIT_PLAYERS_FINISHED
RACE_WAIT_OPENING_RTC
RACE_WAIT_OPENING_RTC_EDITION
RACE_FINISH
QUALIFICATIONS_BASE
QUALIFICATIONS_RENO
QUALIFICATIONS_WAIT_OPENING_RTC
QUALIFICATIONS_WAIT_PLAYERS_FINISHED
QUALIFICATIONS_FINISH
RENO_MENU_INTRO
RENO_MENU_GAMEMODE
RENO_MENU_QUICK_BASE
RENO_MENU_QUICK_CATEGORY
RENO_MENU_QUICK_PLANE
RENO_MENU_QUICK_SEARCHMATCH
RENO_MENU_QUICK_WAITREADY
RENO_MENU_PRIVATE_BASE
RENO_MENU_PRIVATE_WAIT_SERVER
RENO_MENU_PRIVATE_CATEGORY
RENO_MENU_PRIVATE_PLANE
RENO_MENU_PRIVATE_WAITREADY
RENO_MENU_SOLO_BASE
RENO_MENU_SOLO_CATEGORY
RENO_MENU_SOLO_PLANE
RENO_MENU_SOLO_SETTINGS

 

 

<AutoStateSwitchEnabled>

This sub-element can be either TRUE or FALSE (it is TRUE by default or when omitted from the XML). When TRUE it signifies that automatic changing of the flow states is enabled.

 

 

<TrafficAircraftStateName>

This element is used to set the state of the aircraft AI. This should be something appropriate to the type of flow state, as defined using <FlowStateName>. For example, if your mission starts in the air, your flow state would be FLIGHT_CRUISE, so your aircraft AI would be set to STATE_ENROUTE_AS_FILED, for example. The aircraft state can be any of the following strings:

 

Constant Description
WAIT_INIT_CONFIRM
SLEEP
FILE_FLIGHT_PLAN
SUPPORT_PREFLIGHT
IFR_CLEARANCE
PUSH_BACK_BEGIN
PUSH_BACK_CONTINUE
ENGINE_START
PRE_TAXI_FOR_TAKEOFF
TAXI_FOR_TAKEOFF
TAXI_ONTO_RUNWAY
TAKEOFF
TOUCH_AND_GO_DEPARTURE
ENROUTE_AS_FILED
TRAFFIC_PATTERN
LANDING
LANDING_ROLLOUT
GO_AROUND
TAXI_TO_PARKING
ENGINE_SHUTDOWN
SUPPORT_POSTFLIGHT
TAXI_TO_REFUEL
SIMPLE_FLIGHT
SIMPLE_TAXI
SIMPLE_LANDING
SIMPLE_TAKEOFF
WAIT_FOR_ENGINE_START
TAXI_HOLDSHORT
FLY_UNTIL_NEXT_EVENT
WAIT_FOR_ENGINE_SHUTDOWN

 

 

<ATCAircraftStateName>

This element is used to set the state of the ATC aircraft. This should be something appropriate to the type of flow state, as defined using <FlowStateName>. The ATC state can be any of the enum strings available for the equivalent FLT parameter AcState.

 

 

<IsFirstStateInTimeline>

This sub-element can be either TRUE or FALSE (it is FALSE by default or when omitted from the XML). When TRUE it signifies that the state is the first one in the timeline.

 

 

<AvailableInTimeLine>

This sub-element can be either TRUE or FALSE (it is TRUE by default or when omitted from the XML). When TRUE it signifies that the state will be available in the timeline.

 

 

<FromSpawn>

This sub-element can be either TRUE or FALSE (it is FALSE by default or omitted from the XML). When TRUE it signifies that the state starts when the plane is spawned during loading.

 

 

<SpawnFlowEvents>

This element should contain one or more <FlowEvent /> sub-elements. These events will happen at the end of the spawn first frame in a flow state.

 

 

<SpawnActions>

This container element is used to define one or more <SimMission.ObjectReference /> elements as the action(s) to be performed at the end of the spawn first frame in flow state. This element may have the following sub-elements:

  1. <SimMission.ObjectReference />
  2. <Immediate>
  3. <CurrentActionIndex>

 

This element has the following attribute:

 

Attribute Description Type Required
id The ID of the spawn actions list. String No

 

 

<TeleportFlowEvents>

This element should contain one or more <FlowEvent /> sub-elements. These events will happen as soon as the mission has finished loading, just before the user aircraft is teleported into position for the start of the mission.

 

 

<TeleportActions>

This container element is used to define one or more <SimMission.ObjectReference /> elements as the action(s) to be triggered as soon as the mission has finished loading, just before the user aircraft is teleported into position for the start of the mission. This element may have the following sub-elements:

  1. <SimMission.ObjectReference />
  2. <Immediate>
  3. <CurrentActionIndex>

 

This element has the following attribute:

 

Attribute Description Type Required
id The ID of the teleport actions list. String No

 

 

<StayInStateAfterEndTeleportActions>

This sub-element can be either TRUE or FALSE (it is FALSE by default or omitted from the XML). When TRUE it signifies the flow should stay in the current state after the end of the aircraft teleport.

 

 

<IntroFlowEvents>

This element should contain one or more <FlowEvent /> sub-elements. These events will happen after the events performed by the initial teleport.

 

 

<IntroActions>

This container element is used to define one or more <SimMission.ObjectReference /> elements as the action(s) to be triggered after the actions performed by the initial teleport. This element may have the following sub-elements:

  1. <SimMission.ObjectReference />
  2. <Immediate>
  3. <CurrentActionIndex>

 

This element has the following attribute:

 

Attribute Description Type Required
id The ID of the intro actions list. String No

 

 

<StartFlowEvents>

This element should contain one or more <FlowEvent /> sub-elements. These events will happen the moment that the user presses the Ready to fly button at the start of a mission.

 

 

<StartActions>

This container element is used to define one or more <SimMission.ObjectReference /> elements as the action(s) to be triggered the moment that the user presses the Ready to fly button at the start of a mission. This element may have the following sub-elements:

  1. <SimMission.ObjectReference />
  2. <Immediate>
  3. <CurrentActionIndex>

 

This element has the following attribute:

 

Attribute Description Type Required
id The ID of the start actions list. String No

 

 

<PauseOnStart>

This element is a sub-element of <SimMission.FlowStateAction>. When set to True, it will cause the simulation to be paused when the flow event is first started. The default value is False.

 

 

<EndFlowEvents>

This element is a sub-element of <SimMission.FlowStateAction> and is a container element for one or more of the <FlowEvent /> sub-element. These events will be triggered on the end of the current flow event.

 

 

<FirstState>

This sub-element can be either TRUE or FALSE (it is FALSE by default or omitted from the XML). When TRUE it signifies that the state is the first state in the mission flow.

 

 

<NextState />

This sub-element can be used to tell the mission which state to move on to after the current one is finished. It is a self-closing element and has the following parameters:

 

Attribute Description Type Required
id The unique identifier of the state to move on to, as defined using <FlowStateName>. String Yes
InstanceId The unique ID to reference this state action, as a GUID enclosed in {}. String Yes

 

Note that you may define several <SimMission.FlowStateAction> in a single mission XML file and then have the mission move between them using the <NextState /> element.

 

 

<EndStateOnEvent>

This sub-element can be used to tell the mission to end the current state if this event has been triggered. It is a self-closing element and has the following parameters:

 

Attribute Description Type Required
id The unique identifier of the event to use as the end trigger, as defined using <FlowStateName>. String Yes
InstanceId The unique ID to reference this state action, as a GUID enclosed in {}. String Yes

 

 

<EndChecklistActions>

This container element is used to define one or more <SimMission.ObjectReference /> elements as the action(s) to be triggered when the flow state checklist has been finished. This element may have the following sub-elements:

  1. <SimMission.ObjectReference />
  2. <Immediate>
  3. <CurrentActionIndex>

 

This element has the following attribute:

 

Attribute Description Type Required
id The ID of the checklist end actions list. String No