Aircraft Systems – Arma 3

From Bohemia Interactive Community
Jump to navigation Jump to search
(Created page with "{{TOC|side}} {{GVI|arma3|1.68}} Arma 3 Jets DLC comes with a varity of new functionalities such as * Starting off an aircraft carrier via catapult * Landing on an aircraft...")
 
m (Some wiki formatting)
 
Line 1: Line 1:
{{TOC|side}} {{GVI|arma3|1.68}}
{{TOC|side}}
[[Arma 3 Jets]] DLC comes with a varity of new functionalities such as
{{GVI|arma3|1.68}}
[[Arma 3 Jets]] DLC comes with a varity of new functionalities such as:
* Starting off an aircraft carrier via catapult
* Starting off an aircraft carrier via catapult
* Landing on an aircraft carrier via tailhook
* Landing on an aircraft carrier via tailhook
Line 6: Line 7:
* Boat recovery
* Boat recovery
This page will give an overview of the needed config additions.
This page will give an overview of the needed config additions.


== Aircraft Configuration ==
== Aircraft Configuration ==


=== Requirements ===
=== Requirements ===
* Compatible aircraft must have an animation for arrest/tail hook selection defined in CfgVehicles and modeled in 3D model (model.cfg)
* Compatible aircraft must have an animation for arrest/tail hook selection defined in CfgVehicles and modeled in 3D model (model.cfg)
* Compatible aircraft must have a memory point for cable attach position
* Compatible aircraft must have a memory point for cable attach position


=== CarrierOpsCompatability Sub-Class ===
=== CarrierOpsCompatability Sub-Class ===
This class contains all the definitions needed for the catapult and tailhook functionality to work.
This class contains all the definitions needed for the catapult and tailhook functionality to work.
<syntaxhighlight lang="cpp">
<syntaxhighlight lang="cpp">
Line 23: Line 27:
class CarrierOpsCompatability
class CarrierOpsCompatability
{
{
ArrestHookAnimationList[] = {"tailhook", "tailhook_door_l", "tailhook_door_r"}; // List of animation played to animate tailhook. Defined in model.cfg (type user)
ArrestHookAnimationList[] = { "tailhook", "tailhook_door_l", "tailhook_door_r" }; // List of animation played to animate tailhook. Defined in model.cfg (type user)
ArrestHookAnimationStates[] = {0,0.53,1}; // Tailhook animation states when down, hooked, up.
ArrestHookAnimationStates[] = { 0, 0.53, 1 }; // Tailhook animation states when down, hooked, up.
ArrestHookMemoryPoint = "pos_tailhook"; // TailHook memory point in plane model.p3d
ArrestHookMemoryPoint = "pos_tailhook"; // TailHook memory point in plane model.p3d
ArrestMaxAllowedSpeed = 275; // Max speed km/h allowed for successful landing
ArrestMaxAllowedSpeed = 275; // Max speed km/h allowed for successful landing
Line 39: Line 43:


=== AircraftAutomatedSystems Sub-Class ===
=== AircraftAutomatedSystems Sub-Class ===
This class contains all definitions needed for the foldable wings to work.
This class contains all definitions needed for the foldable wings to work.
<syntaxhighlight lang="cpp">
<syntaxhighlight lang="cpp">
Line 47: Line 52:
class AircraftAutomatedSystems
class AircraftAutomatedSystems
{
{
wingStateControl = 1; //enable automated wing state control to prevent player to take off with folded wings
wingStateControl = 1; // enable automated wing state control to prevent player to take off with folded wings
wingFoldAnimations[] = {"wing_fold_l","wing_fold_r","wing_fold_cover_l", "wing_fold_cover_r"}; //foldable wing animation list
wingFoldAnimations[] = { "wing_fold_l", "wing_fold_r", "wing_fold_cover_l", "wing_fold_cover_r" }; // foldable wing animation list
wingStateFolded = 1; //animation state when folded
wingStateFolded = 1; // animation state when folded
wingStateUnFolded = 0; //animation state when un-folded
wingStateUnFolded = 0; // animation state when un-folded
wingAutoUnFoldSpeed = 40; //speed treshold when triger this feature, and unfold wings for player
wingAutoUnFoldSpeed = 40; // speed treshold when triger this feature, and unfold wings for player
};
};
};
};
};
};
</syntaxhighlight>
</syntaxhighlight>


== Aircraft Carrier Configuration ==
== Aircraft Carrier Configuration ==
<syntaxhighlight lang="cpp">
<syntaxhighlight lang="cpp">
class CfgVehicles
class CfgVehicles
Line 64: Line 71:
{
{
// Defines all the parts the carrier is build out of
// Defines all the parts the carrier is build out of
multiStructureParts[] = {["Land_Carrier_01_hull_01_F","pos_hull_1"],["Land_Carrier_01_hull_02_F","pos_hull_2"],["Land_Carrier_01_hull_03_1_F","pos_hull_3_1"],["Land_Carrier_01_hull_03_2_F","pos_hull_3_2"],["Land_Carrier_01_hull_04_1_F","pos_hull_4_1"],["Land_Carrier_01_hull_04_2_F","pos_hull_4_2"],["Land_Carrier_01_hull_05_1_F","pos_hull_5_1"],["Land_Carrier_01_hull_05_2_F","pos_hull_5_2"],["Land_Carrier_01_hull_06_1_F","pos_hull_6_1"],["Land_Carrier_01_hull_06_2_F","pos_hull_6_2"],["Land_Carrier_01_hull_07_1_F","pos_hull_7_1"],["Land_Carrier_01_hull_07_2_F","pos_hull_7_2"],["Land_Carrier_01_hull_08_1_F","pos_hull_8_1"],["Land_Carrier_01_hull_08_2_F","pos_hull_8_2"],["Land_Carrier_01_hull_09_1_F","pos_hull_9_1"],["Land_Carrier_01_hull_09_2_F","pos_hull_9_2"],["Land_Carrier_01_island_01_F","pos_island_1"],["Land_Carrier_01_island_02_F","pos_island_2"],["Land_Carrier_01_island_03_F","pos_island_3"],["DynamicAirport_01_F","pos_Airport"]};  
multiStructureParts[] = {
{ "Land_Carrier_01_hull_01_F", "pos_hull_1" },
{ "Land_Carrier_01_hull_02_F", "pos_hull_2" },
{ "Land_Carrier_01_hull_03_1_F", "pos_hull_3_1" }, { "Land_Carrier_01_hull_03_2_F", "pos_hull_3_2" },
{ "Land_Carrier_01_hull_04_1_F", "pos_hull_4_1" }, { "Land_Carrier_01_hull_04_2_F", "pos_hull_4_2" },
{ "Land_Carrier_01_hull_05_1_F", "pos_hull_5_1" }, { "Land_Carrier_01_hull_05_2_F", "pos_hull_5_2" },
{ "Land_Carrier_01_hull_06_1_F", "pos_hull_6_1" }, { "Land_Carrier_01_hull_06_2_F", "pos_hull_6_2" },
{ "Land_Carrier_01_hull_07_1_F", "pos_hull_7_1" }, { "Land_Carrier_01_hull_07_2_F", "pos_hull_7_2" },
{ "Land_Carrier_01_hull_08_1_F", "pos_hull_8_1" }, { "Land_Carrier_01_hull_08_2_F", "pos_hull_8_2" },
{ "Land_Carrier_01_hull_09_1_F", "pos_hull_9_1" }, { "Land_Carrier_01_hull_09_2_F", "pos_hull_9_2" },
{ "Land_Carrier_01_island_01_F", "pos_island_1" }, { "Land_Carrier_01_island_02_F", "pos_island_2" }, { "Land_Carrier_01_island_03_F", "pos_island_3" },
{ "DynamicAirport_01_F", "pos_Airport" }
};
 
class Eventhandlers
class Eventhandlers
{
{
init = "_this call BIS_fnc_Carrier01Init;"; // Initializes the carrier's functionality
init = "_this call BIS_fnc_Carrier01Init;"; // Initialises the carrier's functionality
attributesChanged3DEN = "_this call BIS_fnc_Carrier01PosUpdate;"; // Handles position changes when attributes are changed in Eden Editor
attributesChanged3DEN = "_this call BIS_fnc_Carrier01PosUpdate;"; // Handles position changes when attributes are changed in Eden Editor
dragged3DEN = "_this call BIS_fnc_Carrier01PosUpdate;"; // Handles position changes when attributes are changed in Eden Editor
dragged3DEN = "_this call BIS_fnc_Carrier01PosUpdate;"; // Handles position changes when attributes are changed in Eden Editor
registeredToWorld3DEN = "_this call BIS_fnc_Carrier01EdenInit;"; // Initializes the carrier's functionality when it's created in Eden Editor
registeredToWorld3DEN = "_this call BIS_fnc_Carrier01EdenInit;"; // Initializes the carrier's functionality when it's created in Eden Editor
unregisteredFromWorld3DEN = "_this call BIS_fnc_Carrier01EdenDelete;"; // Handles deletion of all parts when its deleted in Eden Editor
unregisteredFromWorld3DEN = "_this call BIS_fnc_Carrier01EdenDelete;"; // Handles deletion of all parts when its deleted in Eden Editor
};
};
};
};
};
};
</syntaxhighlight>
</syntaxhighlight>


[[Category: Introduced with Arma 3 version 1.68]]  
[[Category: Introduced with Arma 3 version 1.68]]  
{{GameCategory|arma3|Editing}}
{{GameCategory|arma3|Editing}}

Latest revision as of 00:16, 12 February 2024

Arma 3 logo black.png1.68 Arma 3 Jets DLC comes with a varity of new functionalities such as:

  • Starting off an aircraft carrier via catapult
  • Landing on an aircraft carrier via tailhook
  • Foldable wings for aircrafts
  • Boat recovery

This page will give an overview of the needed config additions.


Aircraft Configuration

Requirements

  • Compatible aircraft must have an animation for arrest/tail hook selection defined in CfgVehicles and modeled in 3D model (model.cfg)
  • Compatible aircraft must have a memory point for cable attach position

CarrierOpsCompatability Sub-Class

This class contains all the definitions needed for the catapult and tailhook functionality to work.

class CfgVehicles
{
	class B_Plane_Fighter_01_F
	{
		tailHook = true;																		// Allow to land on carrier
		class CarrierOpsCompatability
		{
			ArrestHookAnimationList[] = { "tailhook", "tailhook_door_l", "tailhook_door_r" };	// List of animation played to animate tailhook. Defined in model.cfg (type user)
			ArrestHookAnimationStates[] = { 0, 0.53, 1 };										// Tailhook animation states when down, hooked, up.
			ArrestHookMemoryPoint = "pos_tailhook";												// TailHook memory point in plane model.p3d
			ArrestMaxAllowedSpeed = 275;														// Max speed km/h allowed for successful landing
			ArrestSlowDownStep = 0.8;															// Simulation step for calcualting how smooth plane will be slowed down.
			ArrestVelocityReduction = -12;														// Speed reduced per simulation step
			LaunchVelocity = 300;																// Speed required for take off
			LaunchVelocityIncrease = 10;														// Speed increased per simulation step
			LaunchAccelerationStep = 0.001;														// Simulation step for calcualting how smooth plane will launched from carrier catapult.
			LaunchBarMemoryPoint = "pos_gear_f_hook";											// LaunchBar memory point
		};
	};
};

AircraftAutomatedSystems Sub-Class

This class contains all definitions needed for the foldable wings to work.

class CfgVehicles
{
	class B_Plane_Fighter_01_F
	{
		class AircraftAutomatedSystems
		{
			wingStateControl = 1;																					// enable automated wing state control to prevent player to take off with folded wings
			wingFoldAnimations[] = { "wing_fold_l", "wing_fold_r", "wing_fold_cover_l", "wing_fold_cover_r" };		// foldable wing animation list
			wingStateFolded = 1;																					// animation state when folded
			wingStateUnFolded = 0;																					// animation state when un-folded
			wingAutoUnFoldSpeed = 40;																				// speed treshold when triger this feature, and unfold wings for player
		};
	};
};


Aircraft Carrier Configuration

class CfgVehicles
{
	class Land_Carrier_01_base_F
	{
		// Defines all the parts the carrier is build out of
		multiStructureParts[] = {
			{ "Land_Carrier_01_hull_01_F", "pos_hull_1" },
			{ "Land_Carrier_01_hull_02_F", "pos_hull_2" },
			{ "Land_Carrier_01_hull_03_1_F", "pos_hull_3_1" }, { "Land_Carrier_01_hull_03_2_F", "pos_hull_3_2" },
			{ "Land_Carrier_01_hull_04_1_F", "pos_hull_4_1" }, { "Land_Carrier_01_hull_04_2_F", "pos_hull_4_2" },
			{ "Land_Carrier_01_hull_05_1_F", "pos_hull_5_1" }, { "Land_Carrier_01_hull_05_2_F", "pos_hull_5_2" },
			{ "Land_Carrier_01_hull_06_1_F", "pos_hull_6_1" }, { "Land_Carrier_01_hull_06_2_F", "pos_hull_6_2" },
			{ "Land_Carrier_01_hull_07_1_F", "pos_hull_7_1" }, { "Land_Carrier_01_hull_07_2_F", "pos_hull_7_2" },
			{ "Land_Carrier_01_hull_08_1_F", "pos_hull_8_1" }, { "Land_Carrier_01_hull_08_2_F", "pos_hull_8_2" },
			{ "Land_Carrier_01_hull_09_1_F", "pos_hull_9_1" }, { "Land_Carrier_01_hull_09_2_F", "pos_hull_9_2" },
			{ "Land_Carrier_01_island_01_F", "pos_island_1" }, { "Land_Carrier_01_island_02_F", "pos_island_2" }, { "Land_Carrier_01_island_03_F", "pos_island_3" },
			{ "DynamicAirport_01_F", "pos_Airport" }
		};

		class Eventhandlers
		{
			init = "_this call BIS_fnc_Carrier01Init;";							// Initialises the carrier's functionality
			attributesChanged3DEN = "_this call BIS_fnc_Carrier01PosUpdate;";		// Handles position changes when attributes are changed in Eden Editor
			dragged3DEN = "_this call BIS_fnc_Carrier01PosUpdate;";				// Handles position changes when attributes are changed in Eden Editor
			registeredToWorld3DEN = "_this call BIS_fnc_Carrier01EdenInit;";		// Initializes the carrier's functionality when it's created in Eden Editor
			unregisteredFromWorld3DEN = "_this call BIS_fnc_Carrier01EdenDelete;";	// Handles deletion of all parts when its deleted in Eden Editor
		};
	};
};