|
|
Line 1: |
Line 1: |
| {{TOC|side}}
| |
| 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.
| |
| <syntaxhighlight lang="cpp">
| |
| 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
| |
| };
| |
| };
| |
| };
| |
| </syntaxhighlight>
| |
|
| |
| === AircraftAutomatedSystems Sub-Class ===
| |
| 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
| |
| 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
| |
| };
| |
| };
| |
| };
| |
| </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>
| |