Jump to content
scotg

Small Helicopter Turret - control options?

Recommended Posts

So, I've been talking with @reyhard on the Discord channels about solutions to the pilot turret issue. This thread will hopefully explore that. Older, unresolved threads have done so in the past, as well, but digging them up is not allowed. Arma 3 has changed a little bit since then, so exploring the options for one-man pilot turrets can resurface anew. Here's my first implementation, trying to use pilotcamera as a turret control:



Unfortunately, you need to enter a special optics mode to control it, and it cannot be moved with freelook/TrackIR. If you watched the video, it also demonstrated an alignment problem with the optics camera: it cannot be attached to animated parts and still move with them.

At reyhard's request I am providing the model.cfg for inspection:

Edit: This model.cfg is the most up to date.

Spoiler

class cfgSkeletons
{
	
	class fangBones
	{
		skeletonInherit = "";
		isDiscrete = 0;
		SkeletonBones[]=
		{
			//"rotorshaftm"	,"",
			"main_rotor" ,"",
			"rotor_teeter" ,"",
			"rotorheadm" ,"rotor_teeter",
			"bladem_1",	"rotorheadm",
			"bladeflex_1_1",	"rotorheadm",
			"bladeflex_1_2",	"rotorheadm",
			"bladeflex_1_3",	"rotorheadm",
			"bladeflex_1_axis",	"rotorheadm",
			"bladem_2",	"rotorheadm",
			"bladeflex_2_1",	"rotorheadm",
			"bladeflex_2_2",	"rotorheadm",
			"bladeflex_2_3",	"rotorheadm",
			"bladeflex_2_axis",	"rotorheadm",
			"tail_rotor"	,"",
			"engineFan" 	,"",
			"stick_pilot"	,"",
			"lever_pilot"	,"",
			"throttle_pilot"	,"lever_pilot",
			"throttle_switch_pilot"	,"lever_pilot",
			"pedall"	,"",
			"pedalr"	,"",
			"i_speed"	,"",
			"i_bank"	,"",
			"i_horizont"	,"i_bank",
			"i_alt_100f"	,"",
			"i_alt_1000f"	,"",
			"i_alt_10000f"	,"",
			"i_rpm"	,"",
			"i_compass"	,"",
			"i_vspeed"	,"",
			"i_torque"	,"",
			"i_fuel"	,"",
			"i_hour"	,"",
			"i_minute"	,"",
			"i_oiltemp"	,"",
			"i_oilpress"	,"",
			"i_tot"	,"",
			"i_wp"	,"",
			"i_temp"	,"",
			"i_ac"	,"",
			"damagehide"	,"",
			"gear"	,"",
			"z_tread"	,"gear",
			"z_tread_short"	,"gear",
			"i_rpm02"	,"",
			"i_rpm03"	,"",
			"i_compass02"	,"",
			"glass1"	,"",
			"glass2"	,"",
			"glass3"	,"",
			"mainturret"	,"",
			"maingun"	,"mainturret",
			"gunnerview"	,"maingun",
			"gun_barrel"	,"maingun",
			"pilotCam_pos"	,"maingun",
			"pip_0_dir"	,"maingun",
			"pip_0_dir"	,"maingun",
			"positionlights"	,"",
			"collisionlight_red"	,"",
			"collisionlight_white"	,"",
			"zasleh"	,"maingun"
		};
	};
};
class Rotation
{
	type = "rotation";
	memory = 1;
	minValue = 0;
	maxValue = 1;
	angle0 = 0;
	angle1 = 1;
};
class CfgModels
{
	class Default
	{
		sections[] = {};
		sectionsInherit="";
		skeletonName = "";
	};
	class fang1: Default
	{
		skeletonName="fangBones";
		sections[]=
		{
			"glass1",
			"glass2",
			"glass3",
			"glass4",
			"zbytek",
			"light_hitpoint",
			"tail rotor static",
			"main rotor static",
			"main rotor blur",
			"rotorheadm",
			"camo1",
			"podsvit pristroju",
			"zasleh",
			"clan",
			"tail rotor blur",
			"light",
			"landinglight01"
		};

		class Animations
		{
			class rotor_teeter_dive
			{
				type="rotationX";
				source="cyclicForward";
				selection="rotor_teeter";
				axis="rotor_teeter_axis";//*probably*
//				sourceAddress = clamp;// (default)
				minValue = -1.0;//rad -28.647831
				maxValue = 1.0;//rad 28.647831
				angle0 = 0.174533;//rad -1.6666667;
				angle1 = -0.174533;//rad 1.6666667;
				animPeriod = 0.0;
				initPhase = 0.0;
//				memory = true;//(default assumed)
			};
			class rotor_teeter_bank
			{
				type="rotationZ";
				source="cyclicAside";
				selection="rotor_teeter";
				axis="rotor_teeter_axis";//*probably*
//				sourceAddress = clamp;// (default)
				minValue = -1.0;//rad -28.647831
				maxValue = 1.0;//rad 28.647831
				angle0 = 0.174533;//rad -1.6666667;
				angle1 = -0.174533;//rad 1.6666667;
				animPeriod = 0.0;
				initPhase = 0.0;
//				memory = true;//(default assumed)
			};
			
			class stick_pilot_dive_01
			{
				type="rotationX";
				source="cyclicForward";
				selection="stick_pilot";
				axis="stick_pilot_axis";//*probably*
//				sourceAddress = clamp;// (default)
				minValue = -0.499999;//rad -28.647831
				maxValue = 0.499999;//rad 28.647831
				angle0 = 0.029088823;//rad 1.6666667;
				angle1 = -0.029088823;//rad -1.6666667;
				animPeriod = 0.0;
				initPhase = 0.0;
//				memory = true;//(default assumed)
			};
			class stick_pilot_dive_02
			{
				type="rotationX";
				source="cyclicForward";
				selection="stick_pilot";
				axis="stick_pilot_axis";//*probably*
//				sourceAddress = clamp;// (default)
				minValue = -0.849999;//rad -48.701355
				maxValue = -0.5;//rad -28.64789
				angle0 = 0.029088823;//rad 1.6666667;
				angle1 = 0.0;//rad 0.0;
				animPeriod = 0.0;
				initPhase = 0.0;
//				memory = true;//(default assumed)
			};
			class stick_pilot_dive_03
			{
				type="rotationX";
				source="cyclicForward";
				selection="stick_pilot";
				axis="stick_pilot_axis";//*probably*
//				sourceAddress = clamp;// (default)
				minValue = -1.0;//rad -57.29578
				maxValue = -0.85;//rad -48.701412
				angle0 = 0.029088823;//rad 1.6666667;
				angle1 = 0.0;//rad 0.0;
				animPeriod = 0.0;
				initPhase = 0.0;
//				memory = true;//(default assumed)
			};
			class stick_pilot_dive_04
			{
				type="rotationX";
				source="cyclicForward";
				selection="stick_pilot";
				axis="stick_pilot_axis";//*probably*
//				sourceAddress = clamp;// (default)
				minValue = 0.5;//rad 28.64789
				maxValue = 0.849999;//rad 48.701355
				angle0 = 0.0;//rad 0.0;
				angle1 = -0.029088823;//rad -1.6666667;
				animPeriod = 0.0;
				initPhase = 0.0;
//				memory = true;//(default assumed)
			};
			class stick_pilot_dive_05
			{
				type="rotationX";
				source="cyclicForward";
				selection="stick_pilot";
				axis="stick_pilot_axis";//*probably*
//				sourceAddress = clamp;// (default)
				minValue = 0.85;//rad 48.701412
				maxValue = 1.0;//rad 57.29578
				angle0 = 0.0;//rad 0.0;
				angle1 = -0.029088823;//rad -1.6666667;
				animPeriod = 0.0;
				initPhase = 0.0;
//				memory = true;//(default assumed)
			};
			class stick_pilot_bank_01
			{
				type="rotationZ";
				source="cyclicAside";
				selection="stick_pilot";
				axis="stick_pilot_axis";//*probably*
//				sourceAddress = clamp;// (default)
				minValue = -0.499999;//rad -28.647831
				maxValue = 0.499999;//rad 28.647831
				angle0 = 0.029088823;//rad -1.6666667;
				angle1 = -0.029088823;//rad 1.6666667;
				animPeriod = 0.0;
				initPhase = 0.0;
//				memory = true;//(default assumed)
			};
			class stick_pilot_bank_02
			{
				type="rotationZ";
				source="cyclicAside";
				selection="stick_pilot";
				axis="stick_pilot_axis";//*probably*
//				sourceAddress = clamp;// (default)
				minValue = -0.849999;//rad -48.701355
				maxValue = -0.5;//rad -28.64789
				angle0 = 0.029088823;//rad -1.6666667;
				angle1 = 0.0;//rad 0.0;
				animPeriod = 0.0;
				initPhase = 0.0;
//				memory = true;//(default assumed)
			};
			class stick_pilot_bank_03
			{
				type="rotationZ";
				source="cyclicAside";
				selection="stick_pilot";
				axis="stick_pilot_axis";//*probably*
//				sourceAddress = clamp;// (default)
				minValue = -1.0;//rad -57.29578
				maxValue = -0.85;//rad -48.701412
				angle0 = 0.029088823;//rad -1.6666667;
				angle1 = 0.0;//rad 0.0;
				animPeriod = 0.0;
				initPhase = 0.0;
//				memory = true;//(default assumed)
			};
			class stick_pilot_bank_04
			{
				type="rotationZ";
				source="cyclicAside";
				selection="stick_pilot";
				axis="stick_pilot_axis";//*probably*
//				sourceAddress = clamp;// (default)
				minValue = 0.5;//rad 28.64789
				maxValue = 0.849999;//rad 48.701355
				angle0 = 0.0;//rad 0.0;
				angle1 = -0.029088823;//rad 1.6666667;
				animPeriod = 0.0;
				initPhase = 0.0;
//				memory = true;//(default assumed)
			};
			class stick_pilot_bank_05
			{
				type="rotationZ";
				source="cyclicAside";
				selection="stick_pilot";
				axis="stick_pilot_axis";//*probably*
//				sourceAddress = clamp;// (default)
				minValue = 0.85;//rad 48.701412
				maxValue = 1.0;//rad 57.29578
				angle0 = 0.0;//rad 0.0;
				angle1 = -0.029088823;//rad 1.6666667;
				animPeriod = 0.0;
				initPhase = 0.0;
//				memory = true;//(default assumed)
			};
			
			class HRotor: Rotation
			{
				source="RotorH";
				selection="main_rotor";
				axis="main_rotor_axis";
				angle1="2 * 3.1415926536"; //angle1 = 6.2831855;//rad 360.0;
			};
			class HRotorHead: HRotor
			{
				selection="rotorheadm";
				axis="rotorheadm_axis";
				angle1="2 * 3.1415926536"; //angle1 = 6.2831855;//rad 360.0;
			};
			class VRotor
			{
				type="rotation";
				source="RotorV";
				selection="tail_rotor";
				axis="tail_rotor_axis";//*probably*
//				sourceAddress = clamp;// (default)
				minValue = 0.0;//rad 0.0
				maxValue = 1.0;//rad 57.29578
				angle0 = 0.0;//rad 0.0;
				angle1 = 6.2831855;//rad 360.0;
				animPeriod = 0.0;
				initPhase = 0.0;
//				memory = true;//(default assumed)
			};
			class Turbine
			{
				type="rotation";
				source="RotorV";
				selection="engineFan";
				axis="engineFan_axis";//*probably*
//				sourceAddress = clamp;// (default)
				minValue = 0.0;//rad 0.0
				maxValue = 1.0;//rad 57.29578
				angle0 = 0.0;//rad 0.0;
				angle1 = 6.2831855;//rad 360.0;
				animPeriod = 0.0;
				initPhase = 0.0;
//				memory = true;//(default assumed)
			};
			
			class rotorblade_flex_1_1
			{
				type="translation";
				source="rpm";
				selection="bladeflex_1_1";
				axis="bladeflex_1_axis";//*probably*
//				sourceAddress = clamp;// (default)
				minValue = 0.0;//rad 0.0
				maxValue = 12.0;//rad 687.5494
				offset0 = 0.0;
				offset1 = 1.1;
				animPeriod = 0.0;
				initPhase = 0.0;
//				memory = true;//(default assumed)
			};
			class rotorblade_flex_1_2: rotorblade_flex_1_1
			{
				selection="bladeflex_1_2";
				offset0 = 0.0;
				offset1 = 2.8;
			};
			class rotorblade_flex_1_3: rotorblade_flex_1_1
			{
				selection="bladeflex_1_3";
				offset0 = 0.0;
				offset1 = 5.5;
			};
			class rotorblade_flex_2_1: rotorblade_flex_1_1
			{
				selection="bladeflex_2_1";
				axis="bladeflex_2_axis";//*probably*
			};
			class rotorblade_flex_2_2: rotorblade_flex_1_2
			{
				selection="bladeflex_2_2";
				axis="bladeflex_2_axis";//*probably*
			};
			class rotorblade_flex_2_3: rotorblade_flex_1_3
			{
				selection="bladeflex_2_3";
				axis="bladeflex_2_axis";//*probably*
			};
			
			
			
			class I_Speed
			{
				type="rotation";
				source="speed";
				selection="i_speed";
				axis="i_speed_axis";//*probably*
//				sourceAddress = clamp;// (default)
				minValue = 0.0;//rad 0.0
				maxValue = 10.288889;//rad 589.5099
				angle0 = -0.03490659;//rad -2.0000002;
				angle1 = 0.19198623;//rad 11.000001;
				animPeriod = 0.0;
				initPhase = 0.0;
//				memory = true;//(default assumed)
			};
			class I_Bank
			{
				type="rotation";
				source="horizonBank";
				selection="i_bank";
				axis="i_bank_axis";//*probably*
//				sourceAddress = clamp;// (default)
				minValue = -6.2831855;//rad -360.0
				maxValue = 6.2831855;//rad 360.0
				angle0 = 6.2831855;//rad 360.0;
				angle1 = -6.2831855;//rad -360.0;
				animPeriod = 0.0;
				initPhase = 0.0;
//				memory = true;//(default assumed)
			};
			class I_Altitude_100f
			{
				type="rotation";
				source="altBaro";
				selection="i_alt_100f";
				axis="i_alt_100f_axis";//*probably*
				sourceAddress = loop;
				minValue = 0.0;//rad 0.0
				maxValue = 304.8;//rad 17463.752
				angle0 = 0.0;//rad 0.0;
				angle1 = 6.2831855;//rad 360.0;
				animPeriod = 0.0;
				initPhase = 0.0;
//				memory = true;//(default assumed)
			};
			class I_Altitude_1000f
			{
				type="rotation";
				source="altBaro";
				selection="i_alt_1000f";
				axis="i_alt_1000f_axis";//*probably*
				sourceAddress = loop;
				minValue = 0.0;//rad 0.0
				maxValue = 3048.0;//rad 174637.53
				angle0 = 0.0;//rad 0.0;
				angle1 = 6.2831855;//rad 360.0;
				animPeriod = 0.0;
				initPhase = 0.0;
//				memory = true;//(default assumed)
			};
			class I_Altitude_10000f
			{
				type="rotation";
				source="altBaro";
				selection="i_alt_10000f";
				axis="i_alt_10000f_axis";//*probably*
				sourceAddress = loop;
				minValue = 0.0;//rad 0.0
				maxValue = 30480.0;//rad 1746375.4
				angle0 = 0.0;//rad 0.0;
				angle1 = 6.2831855;//rad 360.0;
				animPeriod = 0.0;
				initPhase = 0.0;
//				memory = true;//(default assumed)
			};
			class I_COmpass
			{
				type="rotation";
				source="direction";
				selection="i_compass";
				axis="i_compass_axis";//*probably*
//				sourceAddress = clamp;// (default)
				minValue = -3.1415927;//rad -180.0
				maxValue = 3.1415927;//rad 180.0
				angle0 = -3.1415927;//rad -180.0;
				angle1 = 3.1415927;//rad 180.0;
				animPeriod = 0.0;
				initPhase = 0.0;
//				memory = true;//(default assumed)
			};
			class I_WP
			{
				type="rotation";
				source="waypointDirection";
				selection="i_wp";
				axis="i_wp_axis";//*probably*
//				sourceAddress = clamp;// (default)
				minValue = -3.1415927;//rad -180.0
				maxValue = 3.1415927;//rad 180.0
				angle0 = -3.1415927;//rad -180.0;
				angle1 = 3.1415927;//rad 180.0;
				animPeriod = 0.0;
				initPhase = 0.0;
//				memory = true;//(default assumed)
			};
			class I_VSpeed
			{
				type="rotation";
				source="vertSpeed";
				selection="i_vspeed";
				axis="i_vspeed_axis";//*probably*
//				sourceAddress = clamp;// (default)
				minValue = -15.24;//rad -873.1877
				maxValue = 15.24;//rad 873.1877
				angle0 = -4.6076694;//rad -264.0;
				angle1 = 1.43117;//rad 82.0;
				animPeriod = 0.0;
				initPhase = 0.0;
//				memory = true;//(default assumed)
			};
			class I_Fuel
			{
				type="rotation";
				source="fuel";
				selection="i_fuel";
				axis="i_fuel_axis";//*probably*
//				sourceAddress = clamp;// (default)
				minValue = 0.0;//rad 0.0
				maxValue = 1.0;//rad 57.29578
				angle0 = -0.9250245;//rad -53.0;
				angle1 = -0.34906587;//rad -20.000002;
				animPeriod = 0.0;
				initPhase = 0.0;
//				memory = true;//(default assumed)
			};
			class I_OilPress
			{
				type="rotation";
				source="HitEngine";
				selection="i_oilpress";
				axis="i_oilpress_axis";//*probably*
//				sourceAddress = clamp;// (default)
				minValue = 0.0;//rad 0.0
				maxValue = 1.0;//rad 57.29578
				angle0 = 0.17453294;//rad 10.000001;
				angle1 = -2.321288;//rad -133.00002;
				animPeriod = 0.0;
				initPhase = 0.0;
//				memory = true;//(default assumed)
			};
			class I_Temp
			{
				type="rotation";
				source="altBaro";
				selection="i_temp";
				axis="i_temp_axis";//*probably*
//				sourceAddress = clamp;// (default)
				minValue = 0.0;//rad 0.0
				maxValue = 5400.0;//rad 309397.22
				angle0 = 0.043633234;//rad 2.5000002;
				angle1 = 1.8325958;//rad 105.00001;
				animPeriod = 0.0;
				initPhase = 0.0;
//				memory = true;//(default assumed)
			};
			class DamageHide
			{
				type="hide";
				source="damage";
				selection="damagehide";
//				sourceAddress = clamp;// (default)
				minValue = 0.0;//rad 0.0
				maxValue = 1.0;//rad 57.29578
				hideValue = 1.0;
//				unHideValue = -1.0;//(default)
				animPeriod = 0.0;
				initPhase = 0.0;
			};
			class lever_pilot
			{
				type="rotation";
				source="collectiveRTD";
				selection="lever_pilot";
				axis="lever_pilot_axis";//*probably*
//				sourceAddress = clamp;// (default)
				minValue = 0.0;//rad 0.0
				maxValue = 1.0;//rad 57.29578
				angle0 = -0.05235988;//rad -3.0;
				angle1 = 0.20943952;//rad 12.0;
				animPeriod = 0.0;
				initPhase = 0.0;
//				memory = true;//(default assumed)
			};
			class lever_copilot
			{
				type="rotation";
				source="collectiveRTD";
				selection="lever_copilot";
				axis="lever_copilot_axis";//*probably*
//				sourceAddress = clamp;// (default)
				minValue = 0.0;//rad 0.0
				maxValue = 1.0;//rad 57.29578
				angle0 = -0.05235988;//rad -3.0;
				angle1 = 0.20943952;//rad 12.0;
				animPeriod = 0.0;
				initPhase = 0.0;
//				memory = true;//(default assumed)
			};
			class pedalL
			{
				type="rotation";
				source="rudderRTD";
				selection="pedall";
				axis="pedall_axis";//*probably*
//				sourceAddress = clamp;// (default)
				minValue = -1.0;//rad -57.29578
				maxValue = 1.0;//rad 57.29578
				angle0 = -0.2617994;//rad -15.0;
				angle1 = 0.2617994;//rad 15.0;
				animPeriod = 0.0;
				initPhase = 0.0;
//				memory = true;//(default assumed)
			};
			class pedalR
			{
				type="rotation";
				source="rudderRTD";
				selection="pedalr";
				axis="pedalr_axis";//*probably*
//				sourceAddress = clamp;// (default)
				minValue = -1.0;//rad -57.29578
				maxValue = 1.0;//rad 57.29578
				angle0 = 0.2617994;//rad 15.0;
				angle1 = -0.2617994;//rad -15.0;
				animPeriod = 0.0;
				initPhase = 0.0;
//				memory = true;//(default assumed)
			};
			class TailRotorImpactHide
			{
				type="hide";
				source="tailRotorHFullyDestroyed";
				selection="tail_rotor";
//				sourceAddress = clamp;// (default)
				minValue = 0.0;//rad 0.0
				maxValue = 1.0;//rad 57.29578
				hideValue = 0.99;
//				unHideValue = -1.0;//(default)
				animPeriod = 0.0;
				initPhase = 0.0;
			};
			class I_Speed_02
			{
				type="rotation";
				source="speed";
				selection="i_speed";
				axis="i_speed_axis";//*probably*
//				sourceAddress = clamp;// (default)
				minValue = 10.28889;//rad 589.50995
				maxValue = 41.155556;//rad 2358.0396
				angle0 = 0.0;//rad 0.0;
				angle1 = 2.9496067;//rad 169.00002;
				animPeriod = 0.0;
				initPhase = 0.0;
//				memory = true;//(default assumed)
			};
			class I_Speed_03
			{
				type="rotation";
				source="speed";
				selection="i_speed";
				axis="i_speed_axis";//*probably*
//				sourceAddress = clamp;// (default)
				minValue = 41.155556;//rad 2358.0396
				maxValue = 46.3;//rad 2652.7944
				angle0 = 0.0;//rad 0.0;
				angle1 = 0.36651918;//rad 21.000002;
				animPeriod = 0.0;
				initPhase = 0.0;
//				memory = true;//(default assumed)
			};
			class I_Speed_04
			{
				type="rotation";
				source="speed";
				selection="i_speed";
				axis="i_speed_axis";//*probably*
//				sourceAddress = clamp;// (default)
				minValue = 46.3;//rad 2652.7944
				maxValue = 92.6;//rad 5305.589
				angle0 = 0.0;//rad 0.0;
				angle1 = 2.1816616;//rad 125.0;
				animPeriod = 0.0;
				initPhase = 0.0;
//				memory = true;//(default assumed)
			};
			class I_RPM
			{
				type="rotation";
				source="rpm";
				selection="i_rpm";
				axis="i_rpm_axis";//*probably*
//				sourceAddress = clamp;// (default)
				minValue = 0.0;//rad 0.0
				maxValue = 12.0;//rad 687.5494
				angle0 = 0.22689281;//rad 13.000001;
				angle1 = 5.2708945;//rad 302.0;
				animPeriod = 0.0;
				initPhase = 0.0;
//				memory = true;//(default assumed)
			};
			class I_RPM02
			{
				type="rotation";
				source="rpm";
				selection="i_rpm02";
				axis="i_rpm02_axis";//*probably*
//				sourceAddress = clamp;// (default)
				minValue = 0.0;//rad 0.0
				maxValue = 12.0;//rad 687.5494
				angle0 = 0.22689281;//rad 13.000001;
				angle1 = 5.2708945;//rad 302.0;
				animPeriod = 0.0;
				initPhase = 0.0;
//				memory = true;//(default assumed)
			};
			class I_RPM03
			{
				type="rotation";
				source="rpm";
				selection="i_rpm03";
				axis="i_rpm03_axis";//*probably*
//				sourceAddress = clamp;// (default)
				minValue = 0.0;//rad 0.0
				maxValue = 12.0;//rad 687.5494
				angle0 = 0.0;//rad 0.0;
				angle1 = 64.92625;//rad 3720.0;
				animPeriod = 0.0;
				initPhase = 0.0;
//				memory = true;//(default assumed)
			};
			class I_COmpass02
			{
				type="rotation";
				source="direction";
				selection="i_compass02";
				axis="i_compass02_axis";//*probably*
//				sourceAddress = clamp;// (default)
				minValue = -3.1415927;//rad -180.0
				maxValue = 3.1415927;//rad 180.0
				angle0 = -3.1415927;//rad -180.0;
				angle1 = 3.1415927;//rad 180.0;
				animPeriod = 0.0;
				initPhase = 0.0;
//				memory = true;//(default assumed)
			};
			class I_Horizont_Dive
			{
				type="rotation";
				source="horizonDive";
				selection="i_horizont";
				axis="i_horizont_axis";//*probably*
//				sourceAddress = clamp;// (default)
				minValue = -6.2831855;//rad -360.0
				maxValue = 6.2831855;//rad 360.0
				angle0 = -6.2831855;//rad -360.0;
				angle1 = 6.2831855;//rad 360.0;
				animPeriod = 0.0;
				initPhase = 0.0;
//				memory = true;//(default assumed)
			};
			class I_Torque
			{
				type="rotation";
				source="torqueRTD";
				selection="i_torque";
				axis="i_torque_axis";//*probably*
//				sourceAddress = clamp;// (default)
				minValue = 0.0;//rad 0.0
				maxValue = 1.1;//rad 63.02536
				angle0 = -3.3161259;//rad -190.00002;
				angle1 = 1.9547689;//rad 112.00001;
				animPeriod = 0.0;
				initPhase = 0.0;
//				memory = true;//(default assumed)
			};
			class I_Fuel_01a
			{
				type="rotation";
				source="fuel";
				selection="i_fuel";
				axis="i_fuel_axis";//*probably*
//				sourceAddress = clamp;// (default)
				minValue = 0.25;//rad 14.323945
				maxValue = 0.374999;//rad 21.485859
				angle0 = 0.0;//rad 0.0;
				angle1 = 0.27052605;//rad 15.500001;
				animPeriod = 0.0;
				initPhase = 0.0;
//				memory = true;//(default assumed)
			};
			class I_Fuel_01b
			{
				type="rotation";
				source="fuel";
				selection="i_fuel";
				axis="i_fuel_axis";//*probably*
//				sourceAddress = clamp;// (default)
				minValue = 0.375;//rad 21.485918
				maxValue = 0.499999;//rad 28.647831
				angle0 = 0.0;//rad 0.0;
				angle1 = 0.23561947;//rad 13.500001;
				animPeriod = 0.0;
				initPhase = 0.0;
//				memory = true;//(default assumed)
			};
			class I_Fuel_02a
			{
				type="rotation";
				source="fuel";
				selection="i_fuel";
				axis="i_fuel_axis";//*probably*
//				sourceAddress = clamp;// (default)
				minValue = 0.5;//rad 28.64789
				maxValue = 0.624999;//rad 35.809803
				angle0 = 0.0;//rad 0.0;
				angle1 = 0.19198623;//rad 11.000001;
				animPeriod = 0.0;
				initPhase = 0.0;
//				memory = true;//(default assumed)
			};
			class I_Fuel_02b
			{
				type="rotation";
				source="fuel";
				selection="i_fuel";
				axis="i_fuel_axis";//*probably*
//				sourceAddress = clamp;// (default)
				minValue = 0.625;//rad 35.809864
				maxValue = 0.749999;//rad 42.971775
				angle0 = 0.0;//rad 0.0;
				angle1 = 0.17453294;//rad 10.000001;
				animPeriod = 0.0;
				initPhase = 0.0;
//				memory = true;//(default assumed)
			};
			class I_Fuel_03a
			{
				type="rotation";
				source="fuel";
				selection="i_fuel";
				axis="i_fuel_axis";//*probably*
//				sourceAddress = clamp;// (default)
				minValue = 0.75;//rad 42.971836
				maxValue = 0.874999;//rad 50.13375
				angle0 = 0.0;//rad 0.0;
				angle1 = 0.17453294;//rad 10.000001;
				animPeriod = 0.0;
				initPhase = 0.0;
//				memory = true;//(default assumed)
			};
			class I_Fuel_03b
			{
				type="rotation";
				source="fuel";
				selection="i_fuel";
				axis="i_fuel_axis";//*probably*
//				sourceAddress = clamp;// (default)
				minValue = 0.875;//rad 50.13381
				maxValue = 1.0;//rad 57.29578
				angle0 = 0.0;//rad 0.0;
				angle1 = 0.08726647;//rad 5.0000005;
				animPeriod = 0.0;
				initPhase = 0.0;
//				memory = true;//(default assumed)
			};
			class I_OilTemp
			{
				type="rotation";
				source="rpm";
				selection="i_oiltemp";
				axis="i_oiltemp_axis";//*probably*
//				sourceAddress = clamp;// (default)
				minValue = 0.5;//rad 28.64789
				maxValue = 5.3;//rad 303.66763
				angle0 = -0.6108653;//rad -35.000004;
				angle1 = 0.2617994;//rad 15.0;
				animPeriod = 0.0;
				initPhase = 0.0;
//				memory = true;//(default assumed)
			};
			class I_OilTemp_random
			{
				type="rotation";
				source="torqueRTD";
				selection="i_oiltemp";
				axis="i_oiltemp_axis";//*probably*
//				sourceAddress = clamp;// (default)
				minValue = 0.0;//rad 0.0
				maxValue = 1.0;//rad 57.29578
				angle0 = -0.08726647;//rad -5.0000005;
				angle1 = 0.08726647;//rad 5.0000005;
				animPeriod = 0.0;
				initPhase = 0.0;
//				memory = true;//(default assumed)
			};
			class AddBenches
			{
				type="hide";
				source="AddBenches";
				selection="z_benches";
				sourceAddress = mirror;
				minValue = -1.0;//rad -57.29578
				maxValue = 0.0;//rad 0.0
				hideValue = 0.5;
//				unHideValue = -1.0;//(default)
				animPeriod = 0.0;
				initPhase = 0.0;
			};
			class AddScreen1
			{
				type="hide";
				source="AddScreen1";
				selection="z_screen1";
				sourceAddress = mirror;
				minValue = -1.0;//rad -57.29578
				maxValue = 0.0;//rad 0.0
				hideValue = 0.5;
//				unHideValue = -1.0;//(default)
				animPeriod = 0.0;
				initPhase = 0.0;
			};
			class AddGunHolder
			{
				type="hide";
				source="AddGunHolder";
				selection="z_gunholder";
				sourceAddress = mirror;
				minValue = -1.0;//rad -57.29578
				maxValue = 0.0;//rad 0.0
				hideValue = 0.5;
//				unHideValue = -1.0;//(default)
				animPeriod = 0.0;
				initPhase = 0.0;
			};
			
			class hidePG_1
			{
				type="hide";
				source="Missiles_revolving";
				selection="rocketb1";
				sourceAddress = mirror;
				minValue = -1.0;//rad -57.29578
				maxValue = 0.0;//rad 0.0
				hideValue = 0.95833343;
//				unHideValue = -1.0;//(default)
				animPeriod = 0.0;
				initPhase = 0.0;
			};
			class hidePG_2
			{
				type="hide";
				source="Missiles_revolving";
				selection="rocketa1";
				sourceAddress = mirror;
				minValue = -1.0;//rad -57.29578
				maxValue = 0.0;//rad 0.0
				hideValue = 0.9166668;
//				unHideValue = -1.0;//(default)
				animPeriod = 0.0;
				initPhase = 0.0;
			};
			class hidePG_3
			{
				type="hide";
				source="Missiles_revolving";
				selection="rocketb2";
				sourceAddress = mirror;
				minValue = -1.0;//rad -57.29578
				maxValue = 0.0;//rad 0.0
				hideValue = 0.8750001;
//				unHideValue = -1.0;//(default)
				animPeriod = 0.0;
				initPhase = 0.0;
			};
			class hidePG_4
			{
				type="hide";
				source="Missiles_revolving";
				selection="rocketa2";
				sourceAddress = mirror;
				minValue = -1.0;//rad -57.29578
				maxValue = 0.0;//rad 0.0
				hideValue = 0.83333343;
//				unHideValue = -1.0;//(default)
				animPeriod = 0.0;
				initPhase = 0.0;
			};
			class hidePG_5
			{
				type="hide";
				source="Missiles_revolving";
				selection="rocketb3";
				sourceAddress = mirror;
				minValue = -1.0;//rad -57.29578
				maxValue = 0.0;//rad 0.0
				hideValue = 0.7916668;
//				unHideValue = -1.0;//(default)
				animPeriod = 0.0;
				initPhase = 0.0;
			};
			class hidePG_6
			{
				type="hide";
				source="Missiles_revolving";
				selection="rocketa3";
				sourceAddress = mirror;
				minValue = -1.0;//rad -57.29578
				maxValue = 0.0;//rad 0.0
				hideValue = 0.7500001;
//				unHideValue = -1.0;//(default)
				animPeriod = 0.0;
				initPhase = 0.0;
			};
			class hidePG_7
			{
				type="hide";
				source="Missiles_revolving";
				selection="rocketb4";
				sourceAddress = mirror;
				minValue = -1.0;//rad -57.29578
				maxValue = 0.0;//rad 0.0
				hideValue = 0.70833343;
//				unHideValue = -1.0;//(default)
				animPeriod = 0.0;
				initPhase = 0.0;
			};
			class hidePG_8
			{
				type="hide";
				source="Missiles_revolving";
				selection="rocketa4";
				sourceAddress = mirror;
				minValue = -1.0;//rad -57.29578
				maxValue = 0.0;//rad 0.0
				hideValue = 0.6250001;
//				unHideValue = -1.0;//(default)
				animPeriod = 0.0;
				initPhase = 0.0;
			};
			class hidePG_9
			{
				type="hide";
				source="Missiles_revolving";
				selection="rocketb5";
				sourceAddress = mirror;
				minValue = -1.0;//rad -57.29578
				maxValue = 0.0;//rad 0.0
				hideValue = 0.6250001;
//				unHideValue = -1.0;//(default)
				animPeriod = 0.0;
				initPhase = 0.0;
			};
			class hidePG_10
			{
				type="hide";
				source="Missiles_revolving";
				selection="rocketa5";
				sourceAddress = mirror;
				minValue = -1.0;//rad -57.29578
				maxValue = 0.0;//rad 0.0
				hideValue = 0.58333343;
//				unHideValue = -1.0;//(default)
				animPeriod = 0.0;
				initPhase = 0.0;
			};
			class hidePG_11
			{
				type="hide";
				source="Missiles_revolving";
				selection="rocketb6";
				sourceAddress = mirror;
				minValue = -1.0;//rad -57.29578
				maxValue = 0.0;//rad 0.0
				hideValue = 0.5416668;
//				unHideValue = -1.0;//(default)
				animPeriod = 0.0;
				initPhase = 0.0;
			};
			class hidePG_12
			{
				type="hide";
				source="Missiles_revolving";
				selection="rocketa6";
				sourceAddress = mirror;
				minValue = -1.0;//rad -57.29578
				maxValue = 0.0;//rad 0.0
				hideValue = 0.5000001;
//				unHideValue = -1.0;//(default)
				animPeriod = 0.0;
				initPhase = 0.0;
			};
			class hidePG_13
			{
				type="hide";
				source="Missiles_revolving";
				selection="rocketb7";
				sourceAddress = mirror;
				minValue = -1.0;//rad -57.29578
				maxValue = 0.0;//rad 0.0
				hideValue = 0.45833343;
//				unHideValue = -1.0;//(default)
				animPeriod = 0.0;
				initPhase = 0.0;
			};
			class hidePG_14
			{
				type="hide";
				source="Missiles_revolving";
				selection="rocketa7";
				sourceAddress = mirror;
				minValue = -1.0;//rad -57.29578
				maxValue = 0.0;//rad 0.0
				hideValue = 0.41666675;
//				unHideValue = -1.0;//(default)
				animPeriod = 0.0;
				initPhase = 0.0;
			};
			class hidePG_15
			{
				type="hide";
				source="Missiles_revolving";
				selection="rocketb8";
				sourceAddress = mirror;
				minValue = -1.0;//rad -57.29578
				maxValue = 0.0;//rad 0.0
				hideValue = 0.3750001;
//				unHideValue = -1.0;//(default)
				animPeriod = 0.0;
				initPhase = 0.0;
			};
			class hidePG_16
			{
				type="hide";
				source="Missiles_revolving";
				selection="rocketa8";
				sourceAddress = mirror;
				minValue = -1.0;//rad -57.29578
				maxValue = 0.0;//rad 0.0
				hideValue = 0.33333343;
//				unHideValue = -1.0;//(default)
				animPeriod = 0.0;
				initPhase = 0.0;
			};
			class hidePG_17
			{
				type="hide";
				source="Missiles_revolving";
				selection="rocketb9";
				sourceAddress = mirror;
				minValue = -1.0;//rad -57.29578
				maxValue = 0.0;//rad 0.0
				hideValue = 0.29166675;
//				unHideValue = -1.0;//(default)
				animPeriod = 0.0;
				initPhase = 0.0;
			};
			class hidePG_18
			{
				type="hide";
				source="Missiles_revolving";
				selection="rocketa9";
				sourceAddress = mirror;
				minValue = -1.0;//rad -57.29578
				maxValue = 0.0;//rad 0.0
				hideValue = 0.2500001;
//				unHideValue = -1.0;//(default)
				animPeriod = 0.0;
				initPhase = 0.0;
			};
			class hidePG_19
			{
				type="hide";
				source="Missiles_revolving";
				selection="rocketb10";
				sourceAddress = mirror;
				minValue = -1.0;//rad -57.29578
				maxValue = 0.0;//rad 0.0
				hideValue = 0.20833343;
//				unHideValue = -1.0;//(default)
				animPeriod = 0.0;
				initPhase = 0.0;
			};
			class hidePG_20
			{
				type="hide";
				source="Missiles_revolving";
				selection="rocketa10";
				sourceAddress = mirror;
				minValue = -1.0;//rad -57.29578
				maxValue = 0.0;//rad 0.0
				hideValue = 0.16666678;
//				unHideValue = -1.0;//(default)
				animPeriod = 0.0;
				initPhase = 0.0;
			};
			class hidePG_21
			{
				type="hide";
				source="Missiles_revolving";
				selection="rocketb11";
				sourceAddress = mirror;
				minValue = -1.0;//rad -57.29578
				maxValue = 0.0;//rad 0.0
				hideValue = 0.1250001;
//				unHideValue = -1.0;//(default)
				animPeriod = 0.0;
				initPhase = 0.0;
			};
			class hidePG_22
			{
				type="hide";
				source="Missiles_revolving";
				selection="rocketa11";
				sourceAddress = mirror;
				minValue = -1.0;//rad -57.29578
				maxValue = 0.0;//rad 0.0
				hideValue = 0.08333343;
//				unHideValue = -1.0;//(default)
				animPeriod = 0.0;
				initPhase = 0.0;
			};
			class hidePG_23
			{
				type="hide";
				source="Missiles_revolving";
				selection="rocketb12";
				sourceAddress = mirror;
				minValue = -1.0;//rad -57.29578
				maxValue = 0.0;//rad 0.0
				hideValue = 0.04166677;
//				unHideValue = -1.0;//(default)
				animPeriod = 0.0;
				initPhase = 0.0;
			};
			class hidePG_24
			{
				type="hide";
				source="Missiles_revolving";
				selection="rocketa12";
				sourceAddress = mirror;
				minValue = -1.0;//rad -57.29578
				maxValue = 0.0;//rad 0.0
				hideValue = 1e-007;
//				unHideValue = -1.0;//(default)
				animPeriod = 0.0;
				initPhase = 0.0;
			};
			class zaslehROT
			{
				type="rotationZ";
				source="Muzzle_flash";
				selection="zasleh";
				axis="zasleh_axis";//*probably*
				sourceAddress = loop;
				minValue = 0.0;//rad 0.0
				maxValue = 4.0;//rad 229.18312
				angle0 = 0.0;//rad 0.0;
				angle1 = 6.2831855;//rad 360.0;
				animPeriod = 0.0;
				initPhase = 0.0;
//				memory = true;//(default assumed)
			};
			class PositionLights
			{
				type="hide";
				source="collisionLights";
				selection="positionlights";
//				sourceAddress = clamp;// (default)
				minValue = 0.0;//rad 0.0
				maxValue = 1.0;//rad 57.29578
				hideValue = 0.0;
				unHideValue = 0.5;
				animPeriod = 0.0;
				initPhase = 0.0;
			};
			class CollisionLight_Red_blinking
			{
				type="hide";
				source="CollisionLightRed_source";
				selection="collisionlight_red";
//				sourceAddress = clamp;// (default)
				minValue = 0.0;//rad 0.0
				maxValue = 1.0;//rad 57.29578
				hideValue = 0.0;
				unHideValue = 0.5;
				animPeriod = 0.0;
				initPhase = 0.0;
			};
			class CollisionLight_White_blinking
			{
				type="hide";
				source="CollisionLightWhite_source";
				selection="collisionlight_white";
//				sourceAddress = clamp;// (default)
				minValue = 0.0;//rad 0.0
				maxValue = 1.0;//rad 57.29578
				hideValue = 0.0;
				unHideValue = 0.5;
				animPeriod = 0.0;
				initPhase = 0.0;
			};
			class RotorImpactHide
			{
				type="hide";
				source="rotorHFullyDestroyed";
				selection="rotorshaftm";
//				sourceAddress = clamp;// (default)
				minValue = 0.0;//rad 0.0
				maxValue = 1.0;//rad 57.29578
				hideValue = 0.99;
//				unHideValue = -1.0;//(default)
				animPeriod = 0.0;
				initPhase = 0.0;
			};
			
			class rotorBlur_phase_1_hide
			{
				type="hide";
				source="rpm";
				selection="phase_1";
				sourceAddress= mirror;
				minValue = 0.0;//rad 0.0
				maxValue = 0.0001;//rad 57.29578
				hideValue = 0.0;
//				unHideValue = 0.5;//(default)
				animPeriod = 0.0;
				initPhase = 0.0;
			};
			class rotorBlur_phase_2_hide
			{
				type="hide";
				source="rpm";
				selection="phase_1";
				sourceAddress= mirror;
				minValue = 0.0001;//rad 0.0
				maxValue = 0.0002;//rad 57.29578
				hideValue = 0.0;
//				unHideValue = 0.5;//(default)
				animPeriod = 0.0;
				initPhase = 0.0;
			};
			class MainTurret
			{
				type="rotationY";
				source="pilotcamerarotx";
				selection="mainturret";
				axis="mainturret_axis";// *probably*
				sourceAddress = loop;
				minValue = -6.2831855;//rad -360.0
				maxValue = 6.2831855;//rad 360.0
				angle0 = -6.2831855;//rad -360.0;
				angle1 = 6.2831855;//rad 360.0;
				animPeriod = 0.0;
				initPhase = 0.0;
//				memory = true;//(default assumed)
			};
			class MainGun
			{
				type="rotationX";
				source="pilotcameraroty";
				selection="maingun";
				axis="maingun_axis";// *probably*
//				sourceAddress = clamp;// (default)
				minValue = -6.2831855;//rad -360.0
				maxValue = 6.2831855;//rad 360.0
				angle0 = 6.2831855;//rad -360.0;
				angle1 = -6.2831855;//rad 360.0;
				animPeriod = 0.0;
				initPhase = 0.0;
//				memory = true;//(default assumed)
			};
		};//Animations
	};//modelclass
};//CfgModels

 


...and here's the most up to date config.cpp:
 

Spoiler


#define _ARMA_

//Class E:/Program Files (x86)/Steam/SteamApps/common/Arma 3/@GIJOE/Addons/GIJOE/cobra/vehicle/cobra_heli/config.bin{
class CfgPatches
{
	class CobraHeli
	{
		units[] = {"Fang_Pilot","Fang1"};
		weapons[] = {};
		requiredVersion = 1;
		requiredAddons[] = {"A3_Air_F","A3_Weapons_F"};
	};
};
class CfgMovesBasic
{
	class DefaultDie;
	class ManActions
	{
		wyvern_Pilot = "wyvern_Pilot";
	};
};
class CfgMovesMaleSdr: CfgMovesBasic
{
	class States
	{
		class Crew;
		class Wyvern_Dead: DefaultDie
		{
			actions = "DeadActions";
			file = "vhx_heli\cobra_fang\Anims\Wyvern_Dead.rtm";
			speed = 0.5;
			looped = 0;
			terminal = 1;
			soundEnabled = 0;
			connectTo[] = {"Unconscious",0.1};
		};
		class KIA_Wyvern_Pilot: DefaultDie
		{
			actions = "DeadActions";
			speed = 0.5;
			looped = 0;
			terminal = 1;
			file = "vhx_heli\cobra_fang\Anims\KIA_Wyvern_Pilot.rtm";
			connectTo[] = {"Unconscious",0.1};
		};
		class Wyvern_Pilot: Crew
		{
			file = "vhx_heli\cobra_fang\Anims\pilot_Wyvern_static.rtm";
			interpolateTo[] = {"KIA_Wyvern_Pilot",1};
		};
	};
};
class CfgWeapons
{
	class LMG_Minigun;
	class RocketPods;
	class Safe: RocketPods
	{
		CanLock = 0;
		displayName = "Safe";
		displayNameMagazine = "Safe";
		shortNameMagazine = "Safe";
		nameSound = "";
		cursor = "EmptyCursor";
		cursorAim = "EmptyCursor";
		magazines[] = {};
		burst = 0;
		reloadTime = 0.01;
		magazineReloadTime = 0.1;
	};
	class LMG_Minigun2: LMG_Minigun
	{
		class gunParticles
		{
			class effect1
			{
				positionName = "machinegun2_eject_pos";
				directionName = "machinegun2_eject_dir";
				effectName = "MachineGunCartridge1";
			};
		};
	};
	class HMG_127: LMG_Minigun
	{
		class gunParticles
		{
			class effect1
			{
				positionName = "machinegun_eject_pos";
				directionName = "machinegun_eject_dir";
				effectName = "MachineGunCartridge1";
			};
		};
	};
	class HMG_127_APC: HMG_127
	{
		class gunParticles
		{
			class effect1
			{
				positionName = "machinegun2_eject_pos";
				directionName = "machinegun2_eject_dir";
				effectName = "MachineGunCartridge1";
			};
		};
	};
};
class WeaponFireGun;
class WeaponCloudsGun;
class WeaponFireMGun;
class WeaponCloudsMGun;
class RCWSOptics;
class Optics_Armored;

class CfgVehicles
{
	class B_Helipilot_F;
	class Wyvern_Pilot: B_Helipilot_F
	{
		class SpeechVariants
		{
			class Default
			{
				speechSingular[] = {"veh_infantry_pilot_s"};
				speechPlural[] = {"veh_infantry_pilot_p"};
			};
		};
		textSingular = "$STR_A3_nameSound_veh_infantry_pilot_s";
		textPlural = "$STR_A3_nameSound_veh_infantry_pilot_p";
		nameSound = "veh_infantry_pilot_s";
		scope = 2;
		side = 2;
		faction = "VIBORA";
		identityTypes[] = {"LanguageENG_F","Head_NATO","G_NATO_pilot"};
		modelSides[] = {3,1};
		uniformClass = "cobra_troop_kit03";
		displayName = "Wyvern Pilot";
		linkedItems[] = {"cobra_scho"};
		respawnLinkedItems[] = {"cobra_scho"};
		weapons[] = {"hgun_Rook40_F","Throw","Put"};
		respawnWeapons[] = {"hgun_Rook40_F","Throw","Put"};
		magazines[] = {"16Rnd_9x21_Mag","16Rnd_9x21_Mag","16Rnd_9x21_Mag","16Rnd_9x21_Mag","SmokeShellGreen","Chemlight_green","SmokeShellGreen","B_IR_Grenade","Chemlight_green"};
		respawnMagazines[] = {"16Rnd_9x21_Mag","16Rnd_9x21_Mag","16Rnd_9x21_Mag","16Rnd_9x21_Mag","SmokeShellGreen","Chemlight_green","SmokeShellGreen","B_IR_Grenade","Chemlight_green"};
		cost = 160000;
		camouflage = 2;
	};
	class AllVehicles;
	class Air;
	class Helicopter: Air
	{
		class Turrets
		{
			class MainTurret;
		};
		class NewTurret;
		class AnimationSources;
		class HitPoints;
		class ViewPilot;
		class ViewOptics;
	};
	class FANG_Base: Helicopter
	{
		class SpeechVariants
		{
			class Default
			{
				speechSingular[] = {"veh_air_gunship_s"};
				speechPlural[] = {"veh_air_gunship_p"};
			};
		};
		scope = 0;
		side = 2;
		faction = "COBRA";
		vehicleClass = "Cobra_Air";
		accuracy = 0.5;
		availableForSupportTypes[] = {"CAS_Heli"};
		displayName = "FANG";
		hiddenSelections[] = {"Camo1","Camo2"};
		driverCanEject = 0;
		altFullForce = 2000;
		altNoForce = 3000;
		fuelCapacity = 100;
		fuelConsumptionRate = 0.05;
		LockDetectionSystem = "2 + 8 + 4";
		incomingMissileDetectionSystem = 16;
		bodyFrictionCoef = 0.9;
		supplyRadius = 0;
		simulation = "helicopterX";
		maxFordingDepth = 1.5;
		mainBladeRadius = 3.65;
		mainRotorSpeed = 1.5;
		backRotorSpeed = 4;
		liftForceCoef = 1.2;
		cyclicAsideForceCoef = 1.0;
		cyclicForwardForceCoef = 1.0;
		backRotorForceCoef = 1.2;
		
		#include "sounds.hpp"
		
		class MFD
		{
			class AirplaneHUD
			{
				class Pos10Vector
				{
					type = "vector";
					pos0[] = {0.502,0.49};
					pos10[] = {1.112,1.03};
				};
				topLeft = "HUD LH";
				topRight = "HUD PH";
				bottomLeft = "HUD LD";
				borderLeft = 0;
				borderRight = 0;
				borderTop = 0;
				borderBottom = 0;
				color[] = {0,1,0,0.1};
				class Bones
				{
					class PlaneW
					{
						type = "fixed";
						pos[] = {0.502,0.49};
					};
					class WeaponAim: Pos10Vector
					{
						source = "weapon";
					};
					class GunnerAim: Pos10Vector
					{
						source = "weapon";
						pos0[] = {0,-0.0025};
						pos10[] = {0.01,0.0025};
					};
					class Target: Pos10Vector
					{
						source = "target";
					};
					class Velocity: Pos10Vector
					{
						type = "vector";
						source = "velocity";
						pos0[] = {0.5,0.49};
						pos10[] = {1.11,1.03};
					};
					class ILS_H
					{
						type = "ils";
						pos0[] = {0.5,0.49};
						pos3[] = {0.683,0.49};
					};
					class ILS_W: ILS_H
					{
						pos3[] = {0.5,0.652};
					};
					class Level0: Pos10Vector
					{
						pos0[] = {0.5,0.49};
						pos10[] = {1.11,1.03};
						type = "horizon";
						angle = 0;
					};
					class LevelP10: Level0
					{
						angle = 10;
					};
					class LevelM10: Level0
					{
						angle = -10;
					};
					class LevelP20: Level0
					{
						angle = 20;
					};
					class LevelM20: Level0
					{
						angle = -20;
					};
					class LevelP30: Level0
					{
						angle = 30;
					};
					class LevelM30: Level0
					{
						angle = -30;
					};
					class LevelP40: Level0
					{
						angle = 40;
					};
					class LevelM40: Level0
					{
						angle = -40;
					};
					class LevelP50: Level0
					{
						angle = 50;
					};
					class LevelM50: Level0
					{
						angle = -50;
					};
				};
				class Draw
				{
					alpha = 0.6;
					color[] = {0,1,0};
					condition = "on";
					class PlaneW
					{
						clipTL[] = {0,1};
						clipBR[] = {1,0};
						type = "line";
						width = 4;
						points[] = {{ "PlaneW",{ 0,-0.0177049 },1 },{ "PlaneW",{ 0.014,-0.0123934 },1 },{ "PlaneW",{ 0.02,0 },1 },{ "PlaneW",{ 0.014,0.0123934 },1 },{ "PlaneW",{ 0,0.0177049 },1 },{ "PlaneW",{ -0.014,0.0123934 },1 },{ "PlaneW",{ -0.02,0 },1 },{ "PlaneW",{ -0.014,-0.0123934 },1 },{ "PlaneW",{ 0,-0.0177049 },1 },{  }};
					};
					class PlaneHeading
					{
						clipTL[] = {0,1};
						clipBR[] = {1,0};
						type = "line";
						width = 4;
						points[] = {{ "Velocity",{ 0,-0.0177049 },1 },{ "Velocity",{ 0.014,-0.0123934 },1 },{ "Velocity",{ 0.02,0 },1 },{ "Velocity",{ 0.014,0.0123934 },1 },{ "Velocity",{ 0,0.0177049 },1 },{ "Velocity",{ -0.014,0.0123934 },1 },{ "Velocity",{ -0.02,0 },1 },{ "Velocity",{ -0.014,-0.0123934 },1 },{ "Velocity",{ 0,-0.0177049 },1 },{  },{ "Velocity",{ 0.04,0 },1 },{ "Velocity",{ 0.02,0 },1 },{  },{ "Velocity",{ -0.04,0 },1 },{ "Velocity",{ -0.02,0 },1 },{  },{ "Velocity",{ 0,-0.0354098 },1 },{ "Velocity",{ 0,-0.0177049 },1 },{  }};
					};
					class Static
					{
						clipTL[] = {0,0.1};
						clipBR[] = {1,0};
						type = "line";
						width = 4;
						points[] = {{ { 0.79,0.52 },1 },{ { 0.81,0.5 },1 },{ { 0.79,0.48 },1 },{  },{ { 0.52,"0.08+0.06" },1 },{ { 0.5,"0.06+0.06" },1 },{ { 0.48,"0.08+0.06" },1 },{  },{ { "0.5-0.1","0.9-0.04" },1 },{ { "0.5-0.1","0.9+0.04" },1 },{ { "0.5+0.1","0.9+0.04" },1 },{ { "0.5+0.1","0.9-0.04" },1 },{ { "0.5-0.1","0.9-0.04" },1 },{  },{ { "0.5-0.1",0.9 },1 },{ { "0.5-0.092",0.9 },1 },{  },{ { "0.5+0.1",0.9 },1 },{ { "0.5+0.092",0.9 },1 },{  },{ { 0.5,"0.9-0.04" },1 },{ { 0.5,"0.9-0.032" },1 },{  },{ { 0.5,"0.9+0.04" },1 },{ { 0.5,"0.9+0.032" },1 },{  }};
					};
					class Gunner
					{
						type = "line";
						width = 4;
						points[] = {{ "GunnerAim",{ "0.5-0.015","0.9-0.008" },1 },{ "GunnerAim",{ "0.5-0.015","0.9+0.008" },1 },{ "GunnerAim",{ "0.5+0.015","0.9+0.008" },1 },{ "GunnerAim",{ "0.5+0.015","0.9-0.008" },1 },{ "GunnerAim",{ "0.5-0.015","0.9-0.008" },1 }};
					};
					class MGun
					{
						condition = "mgun";
						class Circle
						{
							type = "line";
							width = 4;
							points[] = {{ "WeaponAim",{ 0.05,0 },1 },{ "WeaponAim",{ 0.015,0 },1 },{  },{ "WeaponAim",{ 0,0.0442623 },1 },{ "WeaponAim",{ 0,0.0132787 },1 },{  },{ "WeaponAim",{ -0.05,0 },1 },{ "WeaponAim",{ -0.015,0 },1 },{  },{ "WeaponAim",{ 0,-0.0442623 },1 },{ "WeaponAim",{ 0,-0.0132787 },1 },{  }};
						};
					};
					class Bomb
					{
						condition = "bomb";
						class Circle
						{
							type = "line";
							width = 4;
							points[] = {{ "WeaponAim",{ 0,-0.0885246 },1 },{ "WeaponAim",{ 0.05,-0.0770164 },1 },{ "WeaponAim",{ 0.087,-0.0442623 },1 },{ "WeaponAim",{ 0.1,0 },1 },{ "WeaponAim",{ 0.087,0.0442623 },1 },{ "WeaponAim",{ 0.05,0.0770164 },1 },{ "WeaponAim",{ 0,0.0885246 },1 },{ "WeaponAim",{ -0.05,0.0770164 },1 },{ "WeaponAim",{ -0.087,0.0442623 },1 },{ "WeaponAim",{ -0.1,0 },1 },{ "WeaponAim",{ -0.087,-0.0442623 },1 },{ "WeaponAim",{ -0.05,-0.0770164 },1 },{ "WeaponAim",{ 0,-0.0885246 },1 },{  },{ "Velocity",0.001,"WeaponAim",{ 0,0 },1 },{ "Velocity",{ 0,0 },1 },{  },{ "Target",{ 0,-0.0619672 },1 },{ "Target",{ 0.07,0 },1 },{ "Target",{ 0,0.0619672 },1 },{ "Target",{ -0.07,0 },1 },{ "Target",{ 0,-0.0619672 },1 }};
						};
					};
					class AAMissile
					{
						condition = "AAmissile";
						class Circle
						{
							type = "line";
							width = 4;
							points[] = {{ "WeaponAim",{ 0,-0.221311 },1 },{ "WeaponAim",{ 0.125,-0.192541 },1 },{ "WeaponAim",{ 0.2175,-0.110656 },1 },{ "WeaponAim",{ 0.25,0 },1 },{ "WeaponAim",{ 0.2175,0.110656 },1 },{ "WeaponAim",{ 0.125,0.192541 },1 },{ "WeaponAim",{ 0,0.221311 },1 },{ "WeaponAim",{ -0.125,0.192541 },1 },{ "WeaponAim",{ -0.2175,0.110656 },1 },{ "WeaponAim",{ -0.25,0 },1 },{ "WeaponAim",{ -0.2175,-0.110656 },1 },{ "WeaponAim",{ -0.125,-0.192541 },1 },{ "WeaponAim",{ 0,-0.221311 },1 },{  },{ "Target",{ 0,-0.0619672 },1 },{ "Target",{ 0.07,0 },1 },{ "Target",{ 0,0.0619672 },1 },{ "Target",{ -0.07,0 },1 },{ "Target",{ 0,-0.0619672 },1 }};
						};
					};
					class ATMissile
					{
						condition = "ATmissile";
						class Circle
						{
							type = "line";
							width = 4;
							points[] = {{ "WeaponAim",{ -0.15,-0.15 },1 },{ "WeaponAim",{ -0.15,"-0.15+0.02" },1 },{  },{ "WeaponAim",{ -0.15,0.15 },1 },{ "WeaponAim",{ -0.15,"+0.15-0.02" },1 },{  },{ "WeaponAim",{ 0.15,-0.15 },1 },{ "WeaponAim",{ 0.15,"-0.15+0.02" },1 },{  },{ "WeaponAim",{ 0.15,0.15 },1 },{ "WeaponAim",{ 0.15,"+0.15-0.02" },1 },{  },{ "WeaponAim",{ -0.15,-0.15 },1 },{ "WeaponAim",{ "-0.15+0.02",-0.15 },1 },{  },{ "WeaponAim",{ -0.15,0.15 },1 },{ "WeaponAim",{ "-0.15+0.02",0.15 },1 },{  },{ "WeaponAim",{ 0.15,-0.15 },1 },{ "WeaponAim",{ "0.15-0.02",-0.15 },1 },{  },{ "WeaponAim",{ 0.15,0.15 },1 },{ "WeaponAim",{ "0.15-0.02",0.15 },1 },{  }};
						};
					};
					class Rockets
					{
						condition = "Rocket";
						class Circle
						{
							type = "line";
							width = 4;
							points[] = {{ "WeaponAim",{ -0.25,-0.25 },1 },{ "WeaponAim",{ -0.25,"-0.25+0.05" },1 },{  },{ "WeaponAim",{ -0.25,0.25 },1 },{ "WeaponAim",{ -0.25,"+0.25-0.05" },1 },{  },{ "WeaponAim",{ 0.25,-0.25 },1 },{ "WeaponAim",{ 0.25,"-0.25+0.05" },1 },{  },{ "WeaponAim",{ 0.25,0.25 },1 },{ "WeaponAim",{ 0.25,"+0.25-0.05" },1 },{  },{ "WeaponAim",{ -0.25,-0.25 },1 },{ "WeaponAim",{ "-0.25+0.05",-0.25 },1 },{  },{ "WeaponAim",{ -0.25,0.25 },1 },{ "WeaponAim",{ "-0.25+0.05",0.25 },1 },{  },{ "WeaponAim",{ 0.25,-0.25 },1 },{ "WeaponAim",{ "0.25-0.05",-0.25 },1 },{  },{ "WeaponAim",{ 0.25,0.25 },1 },{ "WeaponAim",{ "0.25-0.05",0.25 },1 },{  }};
						};
					};
					class SpeedNumber
					{
						type = "text";
						align = "right";
						scale = 1;
						source = "speed";
						sourceScale = 3.6;
						pos[] = {{ 0.06,0.47 },1};
						right[] = {{ "0.14-0.02",0.47 },1};
						down[] = {{ 0.06,0.52 },1};
					};
					class AltNumber: SpeedNumber
					{
						source = "altitudeAGL";
						sourceScale = 1;
						pos[] = {{ "0.86-0.15",0.47 },1};
						right[] = {{ "0.94-0.15-0.02",0.47 },1};
						down[] = {{ "0.86-0.15",0.52 },1};
					};
					class AltScale
					{
						type = "scale";
						scale = 1;
						source = "altitudeAGL";
						sourceScale = 1;
						align = "right";
						width = 4;
						pos[] = {0.86,0.82};
						right[] = {"0.94-0.02",0.82};
						down[] = {0.86,0.87};
						lineXleft = 0.825;
						lineYright = 0.835;
						lineXleftMajor = 0.825;
						lineYrightMajor = 0.845;
						bottom = 0.2;
						top = 0.85;
						center = 0.5;
						step = 20;
						StepSize = "(0.85- 0.2)/20";
						horizontal = 0;
						min = "none";
						max = "none";
						numberEach = 5;
						majorLineEach = 5;
					};
					class weapons
					{
						type = "text";
						source = "weapon";
						align = "right";
						scale = 0.5;
						sourceScale = 1;
						pos[] = {{ 0.1,0.88 },1};
						right[] = {{ "0.16-0.02",0.88 },1};
						down[] = {{ 0.1,0.92 },1};
					};
					class ammo
					{
						type = "text";
						source = "ammo";
						align = "right";
						scale = 0.5;
						sourceScale = 1;
						pos[] = {{ 0.1,0.93 },1};
						right[] = {{ "0.16-0.02",0.93 },1};
						down[] = {{ 0.1,0.97 },1};
					};
					class HeadingScale
					{
						type = "scale";
						scale = 1;
						source = "Heading";
						sourceScale = 1;
						align = "center";
						width = 4;
						pos[] = {"0.32-0.01","0.0+0.05"};
						right[] = {"0.38-0.01","0.0+0.05"};
						down[] = {"0.32-0.01","0.04+0.05"};
						lineXleft = "0.06+0.05";
						lineYright = "0.05+0.05";
						lineXleftMajor = "0.07+0.05";
						lineYrightMajor = "0.04+0.05";
						bottom = 0.7;
						center = 0.5;
						top = 0.3;
						step = 10;
						StepSize = "(0.70- 0.3)/15";
						horizontal = 1;
						min = "none";
						max = "none";
						numberEach = 3;
						majorLineEach = 3;
					};
					class HorizontalLine
					{
						clipTL[] = {0.2,0.12};
						clipBR[] = {0.8,0.96};
						class HorizontalLineDraw
						{
							type = "line";
							source = "Level0";
							points[] = {{ "Level0",{ "-6*0.075/2",0.02 },1 },{ "Level0",{ "-5*0.075/2",0.02 },1 },{  },{ "Level0",{ "-4*0.075/2",0.02 },1 },{ "Level0",{ "-3*0.075/2",0.02 },1 },{  },{ "Level0",{ "-2*0.075/2",0.02 },1 },{ "Level0",{ "-1*0.075/2",0.02 },1 },{  },{ "Level0",{ "1*0.075/2",0.02 },1 },{ "Level0",{ "2*0.075/2",0.02 },1 },{  },{ "Level0",{ "3*0.075/2",0.02 },1 },{ "Level0",{ "4*0.075/2",0.02 },1 },{  },{ "Level0",{ "5*0.075/2",0.02 },1 },{ "Level0",{ "6*0.075/2",0.02 },1 }};
						};
					};
				};
				helmetMountedDisplay = 1;
				helmetPosition[] = {-0.025,0.025,0.1};
				helmetRight[] = {0.055,0,0};
				helmetDown[] = {0,-0.05,0};
			};
		};
	};
	class fang1: FANG_Base
	{
		selectionHRotorStill = "rotor_static";
		selectionHRotorMove = "rotor_blur";
		selectionVRotorStill = "tailRotorStatic";
		selectionVRotorMove = "tailRotorBlurred";
		memoryPointLMissile = "Missile_1";
		memoryPointRMissile = "Missile_2";
		memoryPointLRocket = "Rocket_1";
		memoryPointRRocket = "Rocket_2";
		selectionFireAnim = "muzzleflash";
		availableForSupportTypes[] = {"CAS_Heli"};
		memoryPointCM[] = {"flare_launcher1","flare_launcher2"};
		memoryPointCMDir[] = {"flare_launcher1_dir","flare_launcher2_dir"};
		radarType = 4;
		LockDetectionSystem = "2 + 8 + 4";
		incomingMissileDetectionSystem = 16;
		threat[] = {0.8,1,0.8};
		weapons[] = {"M134_minigun"};
		magazines[] = {"5000Rnd_762x51_Belt"};
		memoryPointGun = "z_gun_muzzle";
		gunBeg = "z_gun_muzzle";
		gunEnd = "z_gun_chamber";
		laserScanner = 1;
		hiddenSelectionsTextures[] = {};
		crew = "Wyvern_Pilot";
		scope = 2;
		side = 2;
		faction = "VIBORA";
		displayName = "<V> Wyvern";
		vehicleClass = "Vibora_Air";
		accuracy = 1;
		driverAction = "wyvern_Pilot";
		memoryPointsGetInDriver = "pos_driver";
		memoryPointsGetInDriverDir = "pos_driver_dir";
		//driverAction = "Chopperlight_L_Static_H";
		//getInAction = "ChopperLight_L_In_H";
		getInAction = "GetInLow";
		getOutAction = "GetOutLow";
		driverlefthandanimname = "lever_pilot";
		driverleftleganimname = "";
		driverrighthandanimname = "stick_pilot";
		driverrightleganimname = "";
		maxSpeed = 200;
		typicalCargo[] = {"B_Helipilot_F"};
		class Exhausts
		{
			class Exhaust1
			{
				position = "exhaust1";
				direction = "exhaust1_dir";
				effect = "ExhaustsEffectHeliCom";
			};
		};
		class MarkerLights
		{
			class WhiteStill
			{
				name = "bily pozicni";
				color[] = {1,1,1};
				ambient[] = {0.1,0.1,0.1};
				blinking = 1;
				intensity = 75;
				blinkingPattern[] = {0.1,0.9};
				blinkingPatternGuarantee = 0;
				drawLightSize = 0.2;
				drawLightCenterSize = 0.04;
			};
			class RedStill
			{
				name = "cerveny pozicni";
				color[] = {0.8,0,0};
				ambient[] = {0.08,0,0};
				intensity = 75;
				drawLight = 1;
				drawLightSize = 0.15;
				drawLightCenterSize = 0.04;
				activeLight = 0;
				blinking = 0;
				dayLight = 0;
				useFlare = 0;
			};
			class GreenStill
			{
				name = "zeleny pozicni";
				color[] = {0,0.8,0};
				ambient[] = {0,0.08,0};
				intensity = 75;
				drawLight = 1;
				drawLightSize = 0.15;
				drawLightCenterSize = 0.04;
				activeLight = 0;
				blinking = 0;
				dayLight = 0;
				useFlare = 0;
			};
			class RedBlinking
			{
				name = "bily pozicni blik";
				color[] = {0.9,0.15,0.1};
				ambient[] = {0.09,0.015,0.01};
				intensity = 75;
				blinking = 1;
				blinkingPattern[] = {0.1,0.9};
				blinkingPatternGuarantee = 0;
				drawLightSize = 0.2;
				drawLightCenterSize = 0.04;
			};
			class WhiteBlinking
			{
				name = "cerveny pozicni blik";
				color[] = {0.9,0.15,0.1};
				intensity = 75;
				ambient[] = {0.09,0.015,0.01};
				blinking = 1;
				blinkingPattern[] = {0.2,1.3};
				blinkingPatternGuarantee = 0;
				drawLightSize = 0.25;
				drawLightCenterSize = 0.08;
			};
		};
		class Reflectors
		{
			class Middle
			{
				color[] = {7000,7500,10000,1};
				ambient[] = {100,100,100,0};
				position = "searchlight";
				direction = "searchlight_end";
				hitpoint = "searchlight";
				selection = "searchlight";
				size = 1;
				innerAngle = 20;
				outerAngle = 60;
				coneFadeCoef = 10;
				intensity = 50;
				useFlare = 1;
				dayLight = 0;
				FlareSize = 6;
				class Attenuation
				{
					start = 1;
					constant = 0;
					linear = 0;
					quadratic = 4;
				};
			};
		};
		class HitPoints: HitPoints{};
		armor = 30;
		damageResistance = 0.01039;
		cost = 30000000;
		model = "vhx_heli\cobra_fang\fang1.p3d";
		picture = "vhx_heli\cobra_fang\data\ui\map_fang_a.paa";
		mapSize = 10;
		Icon = "vhx_heli\cobra_fang\data\ui\map_fang_a.paa";
		/* 
		weapons[] = {"Safe","rockets_Skyfire","CMFlareLauncher"};
		magazines[] = {"38Rnd_80mm_rockets","168Rnd_CMFlare_Chaff_Magazine"};
		 */
		//enableManualFire = 1;
		//hasDriver = -1;
		//hasGunner = 0;
		//driverIsCommander = 1;
		class MFD
		{
			class AirplaneHUD
			{
				topLeft = "HUD_top_left";
				topRight = "HUD_top_right";
				bottomLeft = "HUD_bottom_left";
				borderLeft = 0;
				borderRight = 0;
				borderTop = 0;
				borderBottom = 0;
				color[] = {1,1,1,1};
				helmetMountedDisplay = 1;
				helmetPosition[] = {-0.025,0.025,0.1};
				helmetRight[] = {0.05,0,0};
				helmetDown[] = {0,-0.05,0};
				class Bones
				{
					class HUDCenter
					{
						type = "fixed";
						pos[] = {0.5,0.5};
					};
					class WeaponAim
					{
						type = "vector";
						source = "weapon";
						pos0[] = {0.5,0.5};
						pos10[] = {0.847,0.845};
					};
					class VelocityVector
					{
						type = "vector";
						source = "velocityToView";
						pos0[] = {0.5,0.5};
						pos10[] = {0.847,0.845};
					};
					class ForwardVector
					{
						type = "vector";
						source = "forward";
						pos0[] = {0,0};
						pos10[] = {0.347,0.345};
					};
					class HorizonVector
					{
						type = "horizon";
						pos0[] = {0.5,0.5};
						pos10[] = {0.990727,0.987899};
						angle = 0;
					};
					class GunnerAim
					{
						type = "vector";
						source = "weapon";
						pos0[] = {0,-0.0025};
						pos10[] = {0.01,0.0025};
					};
					class VerticalSpeedBone
					{
						type = "linear";
						source = "vspeed";
						sourceScale = 1;
						min = -15;
						max = 15;
						minPos[] = {0,-0.15};
						maxPos[] = {0,0.15};
					};
				};
				class Draw
				{
					alpha = 1;
					color[] = {0.25,1,0.25};
					condition = "on";
					class Static
					{
						type = "line";
						width = 4;
						points[] = {{ { 0.48,0.14 },1 },{ { 0.5,0.12 },1 },{ { 0.52,0.14 },1 },{  },{ { 0.4,0.86 },1 },{ { 0.4,0.94 },1 },{ { 0.6,0.94 },1 },{ { 0.6,0.86 },1 },{ { 0.4,0.86 },1 },{  },{ { 0.4,0.9 },1 },{ { 0.408,0.9 },1 },{  },{ { 0.6,0.9 },1 },{ { 0.592,0.9 },1 },{  },{ { 0.5,0.86 },1 },{ { 0.5,0.868 },1 },{  },{ { 0.5,0.94 },1 },{ { 0.5,0.932 },1 }};
					};
					class CollectiveGroup
					{
						condition = "simulRTD";
						class CollectiveText
						{
							type = "text";
							source = "static";
							text = "%";
							align = "right";
							scale = 1;
							pos[] = {{ 0.22,0.2 },1};
							right[] = {{ 0.28,0.2 },1};
							down[] = {{ 0.22,0.24 },1};
						};
						class CollectiveNumber
						{
							type = "text";
							source = "rtdCollective";
							sourceScale = 100;
							align = "left";
							scale = 1;
							pos[] = {{ 0.22,0.2 },1};
							right[] = {{ 0.28,0.2 },1};
							down[] = {{ 0.22,0.24 },1};
						};
					};
					class SpeedNumber
					{
						type = "text";
						source = "speed";
						sourceScale = 3.6;
						align = "right";
						scale = 1;
						pos[] = {{ 0.16,0.48 },1};
						right[] = {{ 0.22,0.48 },1};
						down[] = {{ 0.16,0.52 },1};
					};
					class AltNumber
					{
						type = "text";
						source = "altitudeAGL";
						sourceScale = 1;
						align = "left";
						scale = 1;
						pos[] = {{ 0.84,0.48 },1};
						right[] = {{ 0.9,0.48 },1};
						down[] = {{ 0.84,0.52 },1};
					};
					class Weapons
					{
						type = "text";
						source = "weapon";
						sourceScale = 1;
						align = "right";
						scale = 0.5;
						pos[] = {{ 0,0.85 },1};
						right[] = {{ 0.04,0.85 },1};
						down[] = {{ 0,0.89 },1};
					};
					class Ammo
					{
						type = "text";
						source = "ammo";
						sourceScale = 1;
						align = "right";
						scale = 0.5;
						pos[] = {{ 0,0.9 },1};
						right[] = {{ 0.04,0.9 },1};
						down[] = {{ 0,0.94 },1};
					};
					class VerticalSpeedScale
					{
						type = "line";
						width = 4;
						points[] = {{ "VerticalSpeedBone",{ 0.85,0.48 },1 },{ "VerticalSpeedBone",{ 0.87,0.5 },1 },{ "VerticalSpeedBone",{ 0.85,0.52 },1 },{  },{ { 0.875,0.35 },1 },{ { 0.885,0.35 },1 },{  },{ { 0.875,0.4 },1 },{ { 0.885,0.4 },1 },{  },{ { 0.875,0.45 },1 },{ { 0.885,0.45 },1 },{  },{ { 0.875,0.5 },1 },{ { 0.895,0.5 },1 },{  },{ { 0.875,0.55 },1 },{ { 0.885,0.55 },1 },{  },{ { 0.875,0.6 },1 },{ { 0.885,0.6 },1 },{  },{ { 0.875,0.65 },1 },{ { 0.885,0.65 },1 }};
					};
					class HeadingScale
					{
						type = "scale";
						horizontal = 1;
						source = "heading";
						sourceScale = 1;
						width = 4;
						top = 0.2;
						center = 0.5;
						bottom = 0.8;
						lineXleft = 0.11;
						lineYright = 0.1;
						lineXleftMajor = 0.11;
						lineYrightMajor = 0.09;
						majorLineEach = 2;
						numberEach = 2;
						step = 22.5;
						stepSize = "(0.80 - 0.20) / 6";
						align = "center";
						scale = 1;
						pos[] = {0.2,0.05};
						right[] = {0.26,0.05};
						down[] = {0.2,0.09};
					};
					class HorizonLine
					{
						clipTL[] = {0.2,0.145};
						clipBR[] = {0.8,0.855};
						class HorizonLineDraw
						{
							type = "line";
							width = 4;
							points[] = {{ "HorizonVector",{ "-6 * 0.0375",0 },1 },{ "HorizonVector",{ "-5 * 0.0375",0 },1 },{  },{ "HorizonVector",{ "-4 * 0.0375",0 },1 },{ "HorizonVector",{ "-3 * 0.0375",0 },1 },{  },{ "HorizonVector",{ "-2 * 0.0375",0 },1 },{ "HorizonVector",{ "-1 * 0.0375",0 },1 },{  },{ "HorizonVector",{ "1 * 0.0375",0 },1 },{ "HorizonVector",{ "2 * 0.0375",0 },1 },{  },{ "HorizonVector",{ "3 * 0.0375",0 },1 },{ "HorizonVector",{ "4 * 0.0375",0 },1 },{  },{ "HorizonVector",{ "5 * 0.0375",0 },1 },{ "HorizonVector",{ "6 * 0.0375",0 },1 }};
						};
					};
					class Gunner
					{
						type = "line";
						width = 4;
						points[] = {{ "GunnerAim",{ "0.5 - 0.015","0.9 - 0.008" },1 },{ "GunnerAim",{ "0.5 - 0.015","0.9 + 0.008" },1 },{ "GunnerAim",{ "0.5 + 0.015","0.9 + 0.008" },1 },{ "GunnerAim",{ "0.5 + 0.015","0.9 - 0.008" },1 },{ "GunnerAim",{ "0.5 - 0.015","0.9 - 0.008" },1 }};
					};
					class MGun
					{
						condition = "mgun";
						class Circle
						{
							type = "line";
							width = 4;
							points[] = {{ "ForwardVector",1,"WeaponAim",{ 0.025,0 },1 },{ "ForwardVector",1,"WeaponAim",{ 0.01,0 },1 },{  },{ "ForwardVector",1,"WeaponAim",{ 0,0.0248559 },1 },{ "ForwardVector",1,"WeaponAim",{ 0,0.00994236 },1 },{  },{ "ForwardVector",1,"WeaponAim",{ -0.025,0 },1 },{ "ForwardVector",1,"WeaponAim",{ -0.01,0 },1 },{  },{ "ForwardVector",1,"WeaponAim",{ 0,-0.0248559 },1 },{ "ForwardVector",1,"WeaponAim",{ 0,-0.00994236 },1 }};
						};
					};
				};
			};
		};
		memoryPointDriverOptics = "pilotCam_pos";
		//
		class PilotCamera
		{
			class OpticsIn
			{
				class Wide
				{
					opticsDisplayName = "WFOV";
					initAngleX = 0;
					minAngleX = 0;
					maxAngleX = 0;
					initAngleY = 0;
					minAngleY = 0;
					maxAngleY = 0;
					initFov = "(56 / 120)";
					minFov = "(56 / 120)";
					maxFov = "(56/ 120)";
					directionStabilized = 1;
					visionMode[] = {"Normal","NVG","Ti"};
					thermalMode[] = {0,1};
					gunnerOpticsModel = "\A3\Drones_F\Weapons_F_Gamma\Reticle\UAV_Optics_Gunner_wide_F.p3d";
					opticsPPEffects[] = {"OpticsCHAbera2","OpticsBlur2"};
				};
				class Medium: Wide
				{
					opticsDisplayName = "MFOV";
					initFov = "(12 / 120)";
					minFov = "(12 / 120)";
					maxFov = "(12 / 120)";
					gunnerOpticsModel = "\A3\Drones_F\Weapons_F_Gamma\Reticle\UAV_Optics_Gunner_medium_F.p3d";
				};
				class Narrow: Wide
				{
					opticsDisplayName = "NFOV";
					initFov = "(4 / 120)";
					minFov = "(4 / 120)";
					maxFov = "(4 / 120)";
					gunnerOpticsModel = "\A3\Drones_F\Weapons_F_Gamma\Reticle\UAV_Optics_Gunner_narrow_F.p3d";
				};
				class VeryNarrow: Wide
				{
					opticsDisplayName = "NFOV";
					initFov = "(2 / 120)";
					minFov = "(2 / 120)";
					maxFov = "(2 / 120)";
					gunnerOpticsModel = "\A3\Drones_F\Weapons_F_Gamma\Reticle\UAV_Optics_Gunner_narrow_F.p3d";
				};
			};
			minTurn = -75;
			maxTurn = 75;
			initTurn = 0;
			minElev = -40;
			maxElev = 60;
			initElev = -10;
			maxXRotSpeed = 1.3;
			maxYRotSpeed = 1.3;
			maxMouseXRotSpeed = 0.5;
			maxMouseYRotSpeed = 0.5;
			pilotOpticsShowCursor = 1;
			LODDriverOpticsIn = 1201;
			controllable = 1;
		};
		class UserActions
		{
			class fang_gun_yaw_left
			{
				priority = 0.05;
				displayName = "";
				shortcut = "LookLeft"; 
				condition = "this animationPhase 'gun_yaw' < 1.001 and player in this";
				statement = "this animate ['gun_yaw',1]; this animate ['Rightwing',1]; this say3D 'Plane_Fighter_01_foldwing_sound'";
				position = "pilotcontrol";
				radius = 10;
				onlyforplayer = 1;
				showWindow = 0;
				hideOnUse = 1;
			};      
		};
		class AnimationSources: AnimationSources
		{
			class gun_yaw
			{
				source = "user";
				animPeriod = 1;
				initPhase = 0;
				displayName = "";
				mass = 0;
				forceAnimatePhase = 0;
				//forceAnimate[] = {"Leftwing",1,"Rightwing",1};
			};
			class AddScreen1
			{
				source = "user";
				animPeriod = 1e-006;
				initPhase = 0;
			};
		};
		class RenderTargets
		{
			class DriverCam
			{
				renderTarget = "rendertarget0";
				class DriverView
				{
					pointPosition = "pip0_pos";
					pointDirection = "pip0_dir";
					renderQuality = 2;
					renderVisionMode = 0;
					fov = 0.8;
				};
			};
		};
		class Turrets{};class Library
		{
			libTextDesc = "AH-1";
		};
		class Damage
		{
			tex[] = {};
			mat[] = {"vhx_heli\cobra_fang\data\fang_ext.rvmat"};
		};
	};
};

//};

 

 

  • Like 1

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×