R3vo/Sandbox – User

From Bohemia Interactive Community
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
Line 9: Line 9:


=== CarrierOpsCompatability Sub-Class ===
=== CarrierOpsCompatability Sub-Class ===
This class contains all the definitions needed for the catapult and tailhook functionality to work.
<syntaxhighlight lang="cpp">
<syntaxhighlight lang="cpp">
class CfgVehicles
class CfgVehicles
Line 31: Line 32:
};
};
</syntaxhighlight>
</syntaxhighlight>
== Aircraft Carrier Configuration ==
Requirments:
- Compatible carrier part must have a config definition for all sub-systems that will be invoked by this function
example of cfgVehicles subclass definitions for carrier part;
class Catapults
{
class Catapult1
{
memoryPoint = "pos_catapult_01"; Memory point in carrier part model.p3d
dirOffset = -5.5; Offset angle in degrees between carrier part direction and actual catapult launch direction
animations[] = {"Deflector_1","Deflector_1_hydraulic_1", "Deflector_1_hydraulic_2","Deflector_1_hydraulic_3"}; Array with animation names for carrier part jet blast deflectors
launchActionName = "$STR_A3_action_launchFromCatapult_1"; Visual display name of "Attach Action"
detachActionName = "$STR_A3_action_detachFromCatapult_1"; Visual display name of "Dettach Action"
};
};


=== AircraftAutomatedSystems Sub-Class ===
=== AircraftAutomatedSystems Sub-Class ===
class AircraftAutomatedSystems
This class contains all definitions needed for the foldable wings to work.
<syntaxhighlight lang="cpp">
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
wingStateControl = 1; //enable automated wing state control to prevent player to take off with folded wings
Line 58: Line 47:
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>


== Aircraft Carrier Configuration ==
<syntaxhighlight lang="cpp">
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;"; // Initializes 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
};
};
};
};
</syntaxhighlight>

Revision as of 11:10, 13 August 2021

Since Arma 3 Jets DLC (v1.68) it is possible to catapult Jets off an aircraft carrier. For this system to work properly a few new definitions need to be made inside the plane's config. This page will show an overview over the definitions and explain what they do.

Aircraft Configuration

Requirments

  • 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;"; 							// Initializes 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
		};
	};
};