Aircraft Systems – Arma 3
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...") |
Lou Montana (talk | contribs) 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"}; | 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}; | 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; | 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; | wingStateFolded = 1; // animation state when folded | ||
wingStateUnFolded = 0; | wingStateUnFolded = 0; // animation state when un-folded | ||
wingAutoUnFoldSpeed = 40; | 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[] = { | 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;"; | init = "_this call BIS_fnc_Carrier01Init;"; // Initialises the carrier's functionality | ||
attributesChanged3DEN = "_this call BIS_fnc_Carrier01PosUpdate;"; | attributesChanged3DEN = "_this call BIS_fnc_Carrier01PosUpdate;"; // Handles position changes when attributes are changed in Eden Editor | ||
dragged3DEN = "_this call BIS_fnc_Carrier01PosUpdate;"; | dragged3DEN = "_this call BIS_fnc_Carrier01PosUpdate;"; // Handles position changes when attributes are changed in Eden Editor | ||
registeredToWorld3DEN = "_this call BIS_fnc_Carrier01EdenInit;"; | registeredToWorld3DEN = "_this call BIS_fnc_Carrier01EdenInit;"; // Initializes the carrier's functionality when it's created in Eden Editor | ||
unregisteredFromWorld3DEN = "_this call BIS_fnc_Carrier01EdenDelete;"; | 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
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 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
};
};
};