# Skydiving An exciting activity in Microsoft Flight Simulator 2024 career mode is the ability to take a group of people on a **skydiving flight**. These flights will require you to fly from exotic locations like the Swiss Alps or Hawaii taking groups of skydivers up to the correct height and let them perform their skydives. If you wish your aircraft to be used on this kind of activity you will need a **preset** that has been appropriately set up as part of the [Modular SimObject,](../modular-simobjects/modular-simobjects/) as explained below. {{< image-center src="images/5_Content_Config/Careers/Skydiving/skydive_1_example.png" alt="Example Of An Aircraft Setup For A Medevac Activity" >}}   For more information on the various other career activities and how to prepare your aircraft, please see here: - [Career Activities](career-activities/)      ### Skydiving Constraints When setting up your aircraft for skydiving flights you will need to ensure that it fulfills the requirements for such an activity. To start with these activities will require a **plane** and currently do not support helicopters. The plane will need to meet the following specifications:   - The plane will need to have the `navigation_graph_pilot.cfg` (as explained [here](general-career-information/spawn-pilot-transversal/)). - The plane will need to have both the `Apron.flt` *and* the `ApronWithoutCovers.flt` files (as explained [below](#flt_files)). - The `object_class` must be "*Airplane*". - The `operating_status` must be either "*in\_service*" or "*experimental*". - The `targeted_specializations` must include the `SKP-PLN` dressing code. - The plane *cannot* be flagged as [military](../cfg-files/aircraft.cfg/#military). - The plane *cannot* be flagged as [premium](../cfg-files/aircraft.cfg/#premium). - The plane `ui_max_range` must be greater than 1. - The **payload mass** must be greater than 1kg (see [Note On Payload Mass](general-career-information/career-additional-information/#mass) for more information). - The plane *can* have **wheels** or **[big wheels](general-career-information/career-additional-information/#big-wheels)**, for landing gear. - The plane *cannot* have **skis** or **floats** for landing gear. - There must be one or more navigation graphs called `navigation_graph_skydive.cfg` with the following nodes: `WAIT_NEXT_TO_PLANE`, `JUMPMASTER_WAIT_NEXT_TO_PLANE`, `PLANE_ENTRANCE`, and `JUMP`. There must also be seating nodes that spawn [seat logic objects](general-career-information/aircraft-seats-and-seatbelts/) with the following nodes: `SIT`, and `JUMPMASTER_SIT`, These are explained in more detail below.   Following these constraints will give the aircraft the `SKP_Cabin` type. See here for more information: - [Note On Cabin Codes](general-career-information/career-additional-information/#cabin-codes)     ### Mission Flow The flow for a **skydiving** mission is as follows: {{< image-center src="images/5_Content_Config/Careers/Guidelines/career_flowchart_8_skydive.png" alt="Mission Flow Chart" >}} This flow will also require the aircraft to be setup for - and follow - the [General Career Mode Requirements](general-career-information/general-career-mode-requirements/).     ### SimVars The SimVars given below are those that will be used and checked to ensure that the skydiving mission is performed correctly. Some of the SimVars are flagged as "blockers" ( ) to the mission, which means that if the aircraft is not setup correctly such that these SimVars give the requested information or work correctly, then the mission flow at that point is blocked and cannot continue.   Penalty SimVar Blocker Description **Smoothness Score** `PLANE BANK DEGREES` This is used to check the banking angle of the aircraft while performing the skydiving mission. `PLANE PITCH DEGREES` This is used to check the pitch angle of the aircraft while performing various parts of the skydiving mission. `DESIGN SPEED VS1` This is needed to compute the best speed to do the skydiving part of the mission. `PLANE TOUCHDOWN NORMAL VELOCITY` This is used to check the vertical speed at touchdown of the aircraft when landing. **N/A** `HAS ANY CABIN SIGNAL LIGHT` Check if the aircraft has a three-state red/off/green light system to let the skydivers know when to jump. `CIRCUIT CABIN SIGNAL STOP` Should be true when the light is red. `CIRCUIT CABIN SIGNAL GO` Should be true when the light is green.   ### Navigation Graph Setup The basic navigation graph setup for a skydiving activity requires multiple [tagged](../cfg-files/navigation_graph.cfg/#tag) nodes, which we've separated into *internal* node and *external* nodes, since they are two disconnected groups, even though they are all created in the same file. The file should be called `navigation_graph_skydive.cfg` and it should be placed in either the *common* configs folder, or in the skydive *preset*.   To help you understand how the nodes mentioned below should be placed in the world, you can reference the image below, which illustrates an "ideal" placement for them (note that the illustration shows a door on the left, but this can be on the right iof required, just mirror the setup shown): {{< image-center src="images/5_Content_Config/Careers/Skydiving/skydive_2_nodes.png" alt="Placement Of The NavGraph Nodes For A Skydiving Activity" >}}     #### External Nodes The following set of nodes should be placed outside the aircraft and will be used for the introduction to the skydiving activity to show the passengers and "jumpmaster" moving to and entering the aircraft in a short cut scene:   - ##### WAIT\_NEXT\_TO\_PLANE This node is the node where the skydiver passengers will spawn into the world at the start of the activity. For skydiving flights there is a short {{< glossterm >}}rtc{{< /glossterm >}} animation that will play of the passengers moving from this point to the `PLANE_ENTRANCE` node, before entering and taking a seat. As such there should be one of these nodes for every passenger `SIT` node, and the nodes should be placed close together but not on top of each other, preferably in a grid-like pattern (they don't have to all be perfectly aligned). ![Example Of Skydive Activity Exterior Node Positions](images/5_Content_Config/Careers/Skydiving/skydive_3_simnodes.png)These nodes should be on the side of the aircraft where the jump door is placed, approximately 7-10m away from the corresponding `PLANE_ENTRANCE` node, and they need to be connected to that node, *and each other*, with various [edges](../cfg-files/navigation_graph.cfg/#Edge).   - ##### JUMPMASTER\_WAIT\_NEXT\_TO\_PLANE This node defines the position where the "jumpmaster" will spawn in to the world. This node should be closer to the aircraft than the `WAIT_NEXT_TO_PLANE` nodes, but still be beside them, such that they can lead the passengers onto the aircraft. This node will need an [edge](../cfg-files/navigation_graph.cfg/#Edge) connecting it to the `PLANE_ENTRANCE` node.   - ##### PLANE\_ENTRANCE This node defines a point close to the aircraft entrance where the jumpmaster and passengers will move to and then board the aircraft. This node needs to be joined to all the `WAIT_NEXT_TO_PLANE` nodes, as well as the `JUMPMASTER_WAIT_NEXT_TO_PLANE` node, but should **not** be joined to any of the interior nodes.     #### Internal Nodes The following node should also be included in a navigation graph for the inside of the aircraft - also named `navigation_graph_skydive.cfg` - and is usually part of a cabin attachment or a skydiving preset: - ##### JUMP This node defines the point where each of the passengers should move to from their seats before jumping out of the aircraft. This node must be connected to the other interior nodes via sub-nodes and edges, and *must* have the node [heading](../cfg-files/navigation_graph.cfg/#pbh) pointed outwards from the aircraft entrance.   This node would be linked via [edges](../cfg-files/navigation_graph.cfg/#Edge) to the central nodes of the aircraft to create "paths" between the seating nodes and the jump node. The seating nodes can be named anything you think is appropriate, and should be set up to spawn a **seat logic object**, which will have its own navigation graph with the following nodes, depending on its position in the aircraft:   - ##### SIT This node defines where each of the skydiving passengers will sit *except* the "jumpmaster". There should be as many seat nodes as there are `WAIT_NEXT_TO_PLANE` nodes. The sit nodes will also need to reference some **interaction files** for them to properly animate and sit down. This is done by adding the following `interactionFile.n` parameters. - **For seats with seatbelts**: ``` cpp interactionFile.0 = FilePath: InteractionsPreset\Asobo\Seat\Seat_with_seatbelt # Param: ANIMATION_SIT:IDLES_SIT_SKYDIVE interactionFile.1 = FilePath: InteractionsPreset\Asobo\Seat\Seatbelt # Param: SEATBELT_FASTEN:SEATBELT_C208B_PAX_1_Fasten , SEATBELT_UNFASTEN:SEATBELT_C208B_PAX_1_Unfasten ``` - **For seats without seatbelts**: ``` cpp interactionFile.0 = FilePath: InteractionsPreset\Asobo\Seat\Seat_without_seatbelt # Param: ANIMATION_SIT:IDLES_SIT_SKYDIVE ``` If the seat is more of a bench, then you can change the animation used to the `IDLES_CROUCH_S` animation.   - ##### JUMPMASTER\_SIT This node is to specify where the "Jumpmaster" will sit, and it is setup exactly the same as the other SIT nodes. However it should always be positioned on the seat the nearest the door of the aircraft.   When setting up the interior nodes, be sure to set up the appropriate **station loads** and **mass stations**, as explained here: - [Weight Distribution](commercial-passengers/#weight)   Finally, you can find information about setting up the seat logic objects on the following page: - [Aircraft Seats And Seatbelts](general-career-information/aircraft-seats-and-seatbelts/)     ### FLT Files When a user starts a skydiving activity they will be going through the usual [Preflight checks](general-career-information/preflight/), and so they will need to have the `Apron.flt` setup in the activity preset as follows:   - Section `[SimVars.0]` must have the parameter `SimOnGround` set to `true`. - All *defined* `[Covers]` need to be set to `true` (see [here](general-career-information/general-career-mode-requirements/#general-flt-file-requirements) for more information). - Section `[Controls.0]` must have the parameter `ParkingBrake` set to 100.00 (if the aircraft has a parking brake). - Aircraft electrics and engines must be turned off. - The aircraft flight parameters (trim, flaps, etc...) should be set for a **cold** and **idle** aircraft.   An additional FLT file is required - the `ApronWithoutCovers.flt` file - for those occasions when the user may skip the preflight phase and there is an RTC event, or when something causes a [Back On Track](../flt-files/back-on-track/) event after preflight. This file should be set up like a regular apron FLT file, however you should ensure that these changes are made:   - All *defined* `[Covers]` need to be set to `false` (see [here](general-career-information/general-career-mode-requirements/#general-flt-file-requirements) for more information).   Skydiving activities also require a correctly setup `Climb.flt`, which is used to setup the climb phase of the mission when the previous phase was skipped or after a [Back On Track](../flt-files/back-on-track/) event:   - Section `[SimVars.0]` must have the parameter `SimOnGround` set to `false`, and the `Pitch` parameter should be set to the appropriate angle for a climb. - All *defined* `[Covers]` need to be set to `false` (see [here](general-career-information/general-career-mode-requirements/#general-flt-file-requirements) for more information). - Section `[Controls.0]` must have the parameter `ParkingBrake` set to 0.0 (if the aircraft has a parking brake). - Aircraft electrics and engines must be turned on. - The aircraft flight parameters (trim, flaps, etc...) should be set for an aircraft in the **climb** state.   Additionally, it is recommended that the `Climb.flt` also has the following parameters, although these are not obligatory:   - Section `[Gauges.N]` can have the parameter `kollsmansetting`, which should be set to 29.91690826416015625A, if included. - Section `[Gauges.N]` can have the parameter `AutoBaroSetting`, which should be set to `true`, if included.