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:

 

AttributeDescriptionTypeRequired
InstanceIdThe unique ID for the flow state action, as a GUID enclosed in {}. You can find more information on GUID’s here: GUIDsStringYes
VRDependencyWhen set to TRUE, this sets the flow action as being VR dependent. Default is FALSE.BoolNo

 

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

OUTROBRIEFINGINTRO_PLANEREPLAYJOINPLANESPECTATORWAITINGTELEPORTTOSTATEPREFLIGHT_GATE

Flight Stages

(Used in Freeflight)

PREFLIGHT_PUSHBACKPREFLIGHT_TAXIPREFLIGHT_HOLDSHORTFLIGHT_RUNWAYFLIGHT_INITIAL_CLIMBFLIGHT_CLIMBFLIGHT_CRUISEFLIGHT_DESCENTLANDING_APPROACHLANDING_FINALLANDING_TOUCHDOWNLANDING_GROUNDROLLLANDING_TAXILANDING_GATELANDING_RESTFREEFLIGHT

Activities

BUSHTRIPLANDINGCHALLENGERACE_BASE

Reno Races

RACE_LOWALTITUDERACE_REDBULLRACE_RENORACE_CRASHED_OR_DISQUALIFIEDRACE_LOBBY_BASERACE_LOBBY_REDBULLRACE_WAITRACE_WAIT_PLAYERS_LOADINGRACE_WAIT_PLAYERS_FINISHEDRACE_WAIT_OPENING_RTCRACE_WAIT_OPENING_RTC_EDITIONRACE_FINISHQUALIFICATIONS_BASEQUALIFICATIONS_RENOQUALIFICATIONS_WAIT_OPENING_RTCQUALIFICATIONS_WAIT_PLAYERS_FINISHEDQUALIFICATIONS_FINISHRENO_MENU_INTRORENO_MENU_GAMEMODERENO_MENU_QUICK_BASERENO_MENU_QUICK_CATEGORYRENO_MENU_QUICK_PLANERENO_MENU_QUICK_SEARCHMATCHRENO_MENU_QUICK_WAITREADYRENO_MENU_PRIVATE_BASERENO_MENU_PRIVATE_WAIT_SERVERRENO_MENU_PRIVATE_CATEGORYRENO_MENU_PRIVATE_PLANERENO_MENU_PRIVATE_WAITREADYRENO_MENU_SOLO_BASERENO_MENU_SOLO_CATEGORYRENO_MENU_SOLO_PLANERENO_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:

 

ConstantDescription
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:

 

AttributeDescriptionTypeRequired
idThe ID of the spawn actions list.StringNo

 

 

<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:

 

AttributeDescriptionTypeRequired
idThe ID of the teleport actions list.StringNo

 

 

<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:

 

AttributeDescriptionTypeRequired
idThe ID of the intro actions list.StringNo

 

 

<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:

 

AttributeDescriptionTypeRequired
idThe ID of the start actions list.StringNo

 

 

<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:

 

AttributeDescriptionTypeRequired
idThe unique identifier of the state to move on to, as defined using <FlowStateName>.StringYes
InstanceIdThe unique ID to reference this state action, as a GUID enclosed in {}.StringYes

 

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:

 

AttributeDescriptionTypeRequired
idThe unique identifier of the event to use as the end trigger, as defined using <FlowStateName>.StringYes
InstanceIdThe unique ID to reference this state action, as a GUID enclosed in {}.StringYes

 

 

<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:

 

AttributeDescriptionTypeRequired
idThe ID of the checklist end actions list.StringNo