Jump to content
Sign in to follow this  
Chairborne

Problem with commander camera and pintle mounted gun

Recommended Posts

I managed to add a working m240 on the pintle mount of my LAV, everything is working fine EXCEPT the internal camera won't elevate no matter what.

I tried a few different parameters but i haven't been able to figure it out so i was wondering if any of you could give me a hand.

I did some tests and the animations and model.cfg seem to be fine.

I linked a box to the ObsGun animation in buldozer and it was working as intended so i'm *almost* sure the problem lies in the config:

#include "basicdefines.hpp"
#include "CrewAnimations.hpp"
#define VIEW_GUNNER 1000
#define VIEW_PILOT 1100
#define VIEW_CARGO 1200

enum {
destructengine = 2,
destructdefault = 6,
destructwreck = 7,
destructtree = 3,
destructtent = 4,
stabilizedinaxisx = 1,
stabilizedinaxesxyz = 4,
stabilizedinaxisy = 2,
stabilizedinaxesboth = 3,
destructno = 0,
stabilizedinaxesnone = 0,
destructman = 5,
destructbuilding = 1
};

#include "CfgFactionClasses.hpp"

class CfgPatches
{
class Cha_LAV25
{
	units[] = {"Cha_LAV25","Cha_LAV25_HQ","Cha_LAV25A2"};
	weapons[] = {};
	requiredVersion = 0.10;
	requiredAddons[] = {};
};
};
#include "CfgWeapons.hpp"

class RCWSOptics;
class DefaultEventHandlers;
class WeaponFireGun;
class WeaponCloudsGun;
class WeaponFireMGun;
class WeaponCloudsMGun;
class CfgVehicles
{
class Car;
class Car_F: Car
{
	class Sounds;
	class HitPoints
	{
		class HitLFWheel;
		class HitLBWheel;
		class HitLMWheel;
		class HitLF2Wheel;

		class HitRFWheel;
		class HitRBWheel;
		class HitRMWheel;
		class HitRF2Wheel;

		class HitBody;
	};
	class NewTurret;
	class Turrets
	{
		class MainTurret:NewTurret
		{
			class HitPoints;
		};
	};
	class ViewPilot;
};
class Wheeled_APC_F : Car_F 
{
	class Sounds: Sounds
	{
		class Engine;
		class Movement;
	};
	class AnimationSources;
	class EventHandlers;
};
class Cha_LAV25_Base: Wheeled_APC_F
{
	scope = 0;
	model = "\Cha\Cha_LAV25\LAV25";
	attenuationEffectType = "TankAttenuation";
	class Library {libTextDesc = $STR_LIB_LAV25;};
	vehicleClass = "Armored";
	picture="\Cha\Cha_Lav25\Data\UI\Picture_LAV25_CA.paa";
	Icon="\Cha\Cha_Lav25\Data\UI\Icon_LAV25_CA.paa";
	mapSize = 7;
	radarType = 8;
	canFloat=true;
	waterangulardampingcoef = 5.0;//10;
	waterresistance = 5;//9;
	waterPPInVehicle = 0;
	waterResistanceCoef = 0.1;
	waterLinearDampingCoefX = 2.5;
	waterLinearDampingCoefY = 1.5;
	engineShiftY = 1.05;
	armorLights = 0.1;
	armorStructural = 12;
	fuelCapacity = 300;
	unitInfoType = RscUnitInfoTank;
	hideProxyInCombat = 1;

	//threat[] VSoft, VArmor, VAir
	threat[]={0.5, 0.5, 0.5};

	armor = 100;
	damageResistance = 0.02432;


	class HitPoints : HitPoints
	{
		class HitBody 
		{
			armor=1;
			material=-1;
			name="zbytek";
			visual="zbytek";
			minimalHit = 0.4;
			passThrough=1;
		};
		class HitEngine 
		{
			armor=2;
			material=-1;
			name="motor";
			visual="zbytek";
			passThrough=0.5; //passthrough
		}; 
		class HitFuel 
		{
			armor=1;
			material=-1;
			name="palivo";
			visual="zbytek";
			passThrough=0;
		};
		class HitLFWheel: HitLFWheel
		{
			armor = 0.7;
			minimalHit = 0.02;
			explosionShielding = 4;
			radius = 0.25;
		};
		class HitLBWheel: HitLBWheel
		{
			armor = 0.7;
			minimalHit = 0.02;
			explosionShielding = 4;
			radius = 0.25;
		};
		class HitLMWheel: HitLMWheel
		{
			armor = 0.7;
			minimalHit = 0.02;
			explosionShielding = 4;
			radius = 0.25;
		};
		class HitLF2Wheel: HitLF2Wheel
		{
			armor = 0.7;
			minimalHit = 0.02;
			explosionShielding = 4;
			radius = 0.25;
		};
		class HitRFWheel: HitRFWheel
		{
			armor = 0.7;
			minimalHit = 0.02;
			explosionShielding = 4;
			radius = 0.25;
		};
		class HitRBWheel: HitRBWheel
		{
			armor = 0.7;
			minimalHit = 0.02;
			explosionShielding = 4;
			radius = 0.25;
		};
		class HitRMWheel: HitRMWheel
		{
			armor = 0.7;
			minimalHit = 0.02;
			explosionShielding = 4;
			radius = 0.25;
		};
		class HitRF2Wheel: HitRF2Wheel
		{
			armor = 0.7;
			minimalHit = 0.02;
			explosionShielding = 4;
			radius = 0.25;
		};
	};

	class Damage
	{
		tex[]={};
		mat[]=
		{
			"Cha\Cha_LAV25\Data\lavalfa.rvmat",
			"Cha\Cha_LAV25\Data\lavalfa_damage.rvmat",
			"Cha\Cha_LAV25\Data\lavalfa_destruct.rvmat",

			"Cha\Cha_LAV25\Data\lavbody.rvmat",
			"Cha\Cha_LAV25\Data\lavbody_damage.rvmat",
			"Cha\Cha_LAV25\Data\lavbody_destruct.rvmat",

			"Cha\Cha_LAV25\Data\lavbody2.rvmat",
			"Cha\Cha_LAV25\Data\lavbody2_damage.rvmat",
			"Cha\Cha_LAV25\Data\lavbody2_destruct.rvmat",

			"Cha\Cha_LAV25\Data\lav_glass_green.rvmat",
			"Cha\Cha_LAV25\Data\lav_glass_green_damage.rvmat",
			"Cha\Cha_LAV25\Data\lav_glass_green_destruct.rvmat",

			"Cha\Cha_LAV25\Data\lav_glass_red.rvmat",
			"Cha\Cha_LAV25\Data\lav_glass_red_damage.rvmat",
			"Cha\Cha_LAV25\Data\lav_glass_red_destruct.rvmat",

			"Cha\Cha_LAV25\Data\lav_hq.rvmat",
			"Cha\Cha_LAV25\Data\lav_hq_damage.rvmat",
			"Cha\Cha_LAV25\Data\lav_hq_destruct.rvmat",

			"Cha\Cha_LAV25\Data\lav_int_0.rvmat",
			"Cha\Cha_LAV25\Data\lav_int_0_damage.rvmat",
			"Cha\Cha_LAV25\Data\lav_int_0_destruct.rvmat",

			"Cha\Cha_LAV25\Data\lav_int_1.rvmat",
			"Cha\Cha_LAV25\Data\lav_int_1_damage.rvmat",
			"Cha\Cha_LAV25\Data\lav_int_1_destruct.rvmat",

			"Cha\Cha_LAV25\Data\lav_int_2.rvmat",
			"Cha\Cha_LAV25\Data\lav_int_2_damage.rvmat",
			"Cha\Cha_LAV25\Data\lav_int_2_destruct.rvmat"
		};
	};
	hiddenSelections[] =
	{
		"Camo1",
		"Camo2",
		"clan",
		"clan_sign"
	};
	hiddenSelectionsTextures[] =
	{
		"\Cha\Cha_LAV25\data\lavbody_co.paa",
		"\Cha\Cha_LAV25\data\lavbody2_co.paa",
		"",
		""
	};
	insideSoundCoef = 0.9;
	soundGear[]={"",db-85,1};
	soundGetIn[]={"A3\sounds_f\vehicles\armor\noises\get_in_out",db0,1};
	soundGetOut[]={"A3\sounds_f\vehicles\armor\noises\get_in_out",db0,1, 50};
	soundEngineOnInt[] = {"A3\Sounds_F\vehicles\armor\APC\APC1\int_engine_start", db0, 1.0};
	soundEngineOnExt[] = {"A3\Sounds_F\vehicles\armor\APC\APC1\ext_engine_start", db0, 1.0, 300};
	soundEngineOffInt[] ={"A3\Sounds_F\vehicles\armor\APC\APC1\int_engine_stop", db0, 1.0};
	soundEngineOffExt[] ={"A3\Sounds_F\vehicles\armor\APC\APC1\ext_engine_stop", db0, 1.0, 300};

	buildCrash0[]={"A3\sounds_f\Vehicles\crashes\crash_08", db-3, 1,150};
	buildCrash1[]={"A3\sounds_f\Vehicles\crashes\crash_09", db-3, 1,150};
		buildCrash2[]={"A3\sounds_f\Vehicles\crashes\crash_10", db-3, 1,150};
		buildCrash3[]={"A3\sounds_f\Vehicles\crashes\crash_11", db-3, 1,150};
		soundBuildingCrash[]={"buildCrash0", 0.25, "buildCrash1", 0.25, "buildCrash2", 0.25, "buildCrash3", 0.25};

	WoodCrash0[] = {"A3\sounds_f\Vehicles\crashes\crash_08",1.0,1,150};
	WoodCrash1[] = {"A3\sounds_f\Vehicles\crashes\crash_09",1.0,1,150};
	WoodCrash2[] = {"A3\sounds_f\Vehicles\crashes\crash_10",1.0,1,150};
	WoodCrash3[] = {"A3\sounds_f\Vehicles\crashes\crash_11",1.0,1,150};
	WoodCrash4[] = {"A3\sounds_f\Vehicles\crashes\crash_01",1.0,1,150};
	WoodCrash5[] = {"A3\sounds_f\Vehicles\crashes\crash_08",1.0,1,150};
	soundWoodCrash[] = {"woodCrash0",0.166,"woodCrash1",0.166,"woodCrash2",0.166,"woodCrash3",0.166,"woodCrash4",0.166,"woodCrash5",0.166};

	ArmorCrash0[] = {"A3\sounds_f\Vehicles\crashes\crash_08",1.0,1,150};
	ArmorCrash1[] = {"A3\sounds_f\Vehicles\crashes\crash_09",1.0,1,150};
	ArmorCrash2[] = {"A3\sounds_f\Vehicles\crashes\crash_10",1.0,1,150};
	ArmorCrash3[] = {"A3\sounds_f\Vehicles\crashes\crash_11",1.0,1,150};
	soundArmorCrash[] = {"ArmorCrash0",0.25,"ArmorCrash1",0.25,"ArmorCrash2",0.25,"ArmorCrash3",0.25};

	class SoundEvents
	{
		class AccelerationIn
		{
			sound[] = {"A3\Sounds_F\vehicles\armor\APC\APC1\int_exhaust_03", db0, 1.0};
			limit = "0.15";
			expression = "engineOn*(1-camPos)*2*gmeterZ*((speed factor[1.5, 5]) min (speed factor[5, 1.5]))";
		};
		class AccelerationOut
		{
			sound[] = {"A3\Sounds_F\vehicles\armor\APC\APC1\ext_exhaust_03", db0, 1.0, 350};
			limit = "0.15";
			expression = "engineOn*camPos*2*gmeterZ*((speed factor[1.5, 5]) min (speed factor[5, 1.5]))";
		};
	};

	class Sounds
	{
	/* --------------------------------- */
	// 			EXTERNAL SOUNDS LAV25				 */
	/* --------------------------------- */
		class Idle_ext
		{
			sound[] = {"A3\Sounds_F\vehicles\armor\APC\APC1\ext_engine_01",0.35481337,1,200};
			frequency = "0.95	+	((rpm/	2300) factor[(10/	2300),(200/	2300)])*0.15";
			volume = "engineOn*camPos*(((rpm/	2300) factor[(10/	2300),(200/	2300)])	*	((rpm/	2300) factor[(500/	2300),(425/	2300)]))";
		};
		class Engine
		{
			sound[] = {"A3\Sounds_F\vehicles\armor\APC\APC1\ext_engine_02",0.39810717,1,200};
			frequency = "0.8	+	((rpm/	2300) factor[(430/	2300),(730/	2300)])*0.2";
			volume = "engineOn*camPos*(((rpm/	2300) factor[(430/	2300),(510/	2300)])	*	((rpm/	2300) factor[(730/	2300),(620/	2300)]))";
		};
		class Engine1_ext
		{
			sound[] = {"A3\Sounds_F\vehicles\armor\APC\APC1\ext_engine_03",0.4466836,1,200};
			frequency = "0.8	+	((rpm/	2300) factor[(630/	2300),(1000/	2300)])*0.2";
			volume = "engineOn*camPos*(((rpm/	2300) factor[(600/	2300),(720/	2300)])	*	((rpm/	2300) factor[(1100/	2300),(840/	2300)]))";
		};
		class Engine2_ext
		{
			sound[] = {"A3\Sounds_F\vehicles\armor\APC\APC1\ext_engine_06",0.5011872,1,250};
			frequency = "0.8	+	((rpm/	2300) factor[(850/	2300),(1300/	2300)])*0.2";
			volume = "engineOn*camPos*(((rpm/	2300) factor[(800/	2300),(1000/	2300)])	*	((rpm/	2300) factor[(1300/	2300),(1100/	2300)]))";
		};
		class Engine3_ext
		{
			sound[] = {"A3\Sounds_F\vehicles\armor\APC\APC1\ext_engine_07",0.56234133,1,300};
			frequency = "0.8	+	((rpm/	2300) factor[(1100/	2300),(1600/	2300)])*0.1";
			volume = "engineOn*camPos*(((rpm/	2300) factor[(1100/	2300),(1270/	2300)])	*	((rpm/	2300) factor[(1550/	2300),(1380/	2300)]))";
		};
		class Engine4_ext
		{
			sound[] = {"A3\Sounds_F\vehicles\armor\APC\APC1\ext_engine_08",0.63095737,1,300};
			frequency = "0.8	+	((rpm/	2300) factor[(1400/	2300),(2000/	2300)])*0.1";
			volume = "engineOn*camPos*(((rpm/	2300) factor[(1380/	2300),(1500/	2300)])	*	((rpm/	2300) factor[(2000/	2300),(1700/	2300)]))";
		};
		class Engine5_ext
		{
			sound[] = {"A3\Sounds_F\vehicles\armor\APC\APC1\ext_engine_10",0.70794576,1,300};
			frequency = "0.8	+	((rpm/	2300) factor[(1700/	2300),(2300/	2300)])*0.1";
			volume = "engineOn*camPos*((rpm/	2300) factor[(1600/	2300),(2100/	2300)])";
		};
		class IdleThrust
		{
			sound[] = {"A3\Sounds_F\vehicles\armor\APC\APC1\ext_exhaust_01",0.56234133,1,200};
			frequency = "0.8	+	((rpm/	2300) factor[(10/	2300),(200/	2300)])*0.15";
			volume = "engineOn*camPos*(0.4+(0.6*(thrust factor[0.1,1])))*(((rpm/	2300) factor[(10/	2300),(200/	2300)])	*	((rpm/	2300) factor[(500/	2300),(425/	2300)]))";
		};
		class EngineThrust
		{
			sound[] = {"A3\Sounds_F\vehicles\armor\APC\APC1\ext_exhaust_02",0.63095737,1,200};
			frequency = "0.8	+	((rpm/	2300) factor[(430/	2300),(730/	2300)])*0.2";
			volume = "engineOn*camPos*(0.4+(0.6*(thrust factor[0.1,1])))*(((rpm/	2300) factor[(430/	2300),(510/	2300)])	*	((rpm/	2300) factor[(730/	2300),(620/	2300)]))";
		};
		class Engine1_Thrust_ext
		{
			sound[] = {"A3\Sounds_F\vehicles\armor\APC\APC1\ext_exhaust_03",0.63095737,1,230};
			frequency = "0.8	+	((rpm/	2300) factor[(630/	2300),(1000/	2300)])*0.2";
			volume = "engineOn*camPos*(0.4+(0.6*(thrust factor[0.1,1])))*(((rpm/	2300) factor[(600/	2300),(720/	2300)])	*	((rpm/	2300) factor[(1100/	2300),(840/	2300)]))";
		};
		class Engine2_Thrust_ext
		{
			sound[] = {"A3\Sounds_F\vehicles\armor\APC\APC1\ext_exhaust_06",0.70794576,1,250};
			frequency = "0.8	+	((rpm/	2300) factor[(850/	2300),(1300/	2300)])*0.2";
			volume = "engineOn*camPos*(0.4+(0.6*(thrust factor[0.1,1])))*(((rpm/	2300) factor[(800/	2300),(1000/	2300)])	*	((rpm/	2300) factor[(1300/	2300),(1100/	2300)]))";
		};
		class Engine3_Thrust_ext
		{
			sound[] = {"A3\Sounds_F\vehicles\armor\APC\APC1\ext_exhaust_07",0.70794576,1,350};
			frequency = "0.8	+	((rpm/	2300) factor[(1100/	2300),(1600/	2300)])*0.1";
			volume = "engineOn*camPos*(0.4+(0.6*(thrust factor[0.1,1])))*(((rpm/	2300) factor[(1100/	2300),(1270/	2300)])	*	((rpm/	2300) factor[(1550/	2300),(1380/	2300)]))";
		};
		class Engine4_Thrust_ext
		{
			sound[] = {"A3\Sounds_F\vehicles\armor\APC\APC1\ext_exhaust_08",1.0,1,350};
			frequency = "0.8	+	((rpm/	2300) factor[(1400/	2300),(2000/	2300)])*0.1";
			volume = "engineOn*camPos*(0.4+(0.6*(thrust factor[0.1,1])))*(((rpm/	2300) factor[(1380/	2300),(1500/	2300)])	*	((rpm/	2300) factor[(2000/	2300),(1700/	2300)]))";
		};
		class Engine5_Thrust_ext
		{
			sound[] = {"A3\Sounds_F\vehicles\armor\APC\APC1\ext_exhaust_10",1.1220185,1,400};
			frequency = "0.8	+	((rpm/	2300) factor[(1700/	2300),(2300/	2300)])*0.1";
			volume = "engineOn*camPos*(0.4+(0.6*(thrust factor[0.1,1])))*((rpm/	2300) factor[(1600/	2300),(2100/	2300)])";
		};
		class NoiseExt
		{
			sound[] = {"A3\sounds_f\vehicles\armor\noises\noise_tank_ext_1",0.63095737,1.0,150};
			frequency = "1";
			volume = "camPos*(angVelocity max 0.04)*(speed factor[4, 15])";
		};
		class TiresRockOut
		{
			sound[] = {"A3\Sounds_F\vehicles\soft\tires\ext_tires_dirt_soft_1",1.0,1.0,60};
			frequency = "1";
			volume = "camPos*rock*(speed factor[2, 20])";
		};
		class TiresSandOut
		{
			sound[] = {"A3\Sounds_F\vehicles\soft\tires\ext-tires-sand1",1.0,1.0,60};
			frequency = "1";
			volume = "camPos*sand*(speed factor[2, 20])";
		};
		class TiresGrassOut
		{
			sound[] = {"A3\Sounds_F\vehicles\soft\tires\ext_tires_dirt_soft_2",1.0,1.0,60};
			frequency = "1";
			volume = "camPos*grass*(speed factor[2, 20])";
		};
		class TiresMudOut
		{
			sound[] = {"A3\Sounds_F\vehicles\soft\tires\ext-tires-mud2",1.0,1.0,60};
			frequency = "1";
			volume = "camPos*mud*(speed factor[2, 20])";
		};
		class TiresGravelOut
		{
			sound[] = {"A3\Sounds_F\vehicles\soft\tires\ext_tires_gravel_1",1.0,1.0,60};
			frequency = "1";
			volume = "camPos*gravel*(speed factor[2, 20])";
		};
		class TiresAsphaltOut
		{
			sound[] = {"A3\Sounds_F\vehicles\soft\tires\ext_tires_asfalt_2",1.0,1.0,60};
			frequency = "1";
			volume = "camPos*asphalt*(speed factor[2, 20])";
		};
		class NoiseOut
		{
			sound[] = {"A3\Sounds_F\vehicles\soft\noises\noise_int_car_3",1.5848932,1.0,90};
			frequency = "1";
			volume = "camPos*(damper0 max 0.02)*(speed factor[0, 8])";
		};
		class breaking_ext_road
		{
			sound[] = {"A3\Sounds_F\vehicles\soft\noises\slipping_tires_loop_04",1.0,1,100};
			frequency = 1;
			volume = "engineOn*camPos*(LongSlipDrive Factor[-0.2, -0.3])*(Speed Factor[2, 10])";
		};
		class acceleration_ext_road
		{
			sound[] = {"A3\Sounds_F\vehicles\soft\noises\slipping_tires_loop_02",1.0,1,100};
			frequency = 1;
			volume = "engineOn*camPos*(LongSlipDrive Factor[0.2, 0.3])*(Speed Factor[10, 1])";
		};
		class turn_left_ext_road
		{
			sound[] = {"A3\Sounds_F\vehicles\soft\noises\slipping_tires_loop_02",1.0,1,100};
			frequency = 1;
			volume = "engineOn*camPos*(latSlipDrive Factor[0.15, 0.3])*(Speed Factor[0, 10])";
		};
		class turn_right_ext_road
		{
			sound[] = {"A3\Sounds_F\vehicles\soft\noises\slipping_tires_loop_02",1.0,1,100};
			frequency = 1;
			volume = "engineOn*camPos*(latSlipDrive Factor[-0.15, -0.3])*(Speed Factor[0, 10])";
		};
		class breaking_ext_dirt
		{
			sound[] = {"A3\Sounds_F\vehicles\soft\noises\slipping_tires_loop_04",1.0,1,100};
			frequency = 1;
			volume = "engineOn*camPos*(LongSlipDrive Factor[-0.2, -0.3])*(Speed Factor[2, 10])";
		};
		class acceleration_ext_dirt
		{
			sound[] = {"A3\Sounds_F\vehicles\soft\noises\slipping_tires_loop_02",1.0,1,100};
			frequency = 1;
			volume = "engineOn*camPos*(LongSlipDrive Factor[0.2, 0.3])*(Speed Factor[10, 1])";
		};
		class turn_left_ext_dirt
		{
			sound[] = {"A3\Sounds_F\vehicles\soft\noises\slipping_tires_loop_02",1.0,1,100};
			frequency = 1;
			volume = "engineOn*camPos*(latSlipDrive Factor[0.15, 0.3])*(Speed Factor[0, 10])";
		};
		class turn_right_ext_dirt
		{
			sound[] = {"A3\Sounds_F\vehicles\soft\noises\slipping_tires_loop_02",1.0,1,100};
			frequency = 1;
			volume = "engineOn*camPos*(latSlipDrive Factor[-0.15, -0.3])*(Speed Factor[0, 10])";
		};
	/* --------------------------------- */
  //        INTERNAL SOUNDS LAV25	  	 */
	/* --------------------------------- */
		class Idle_int
		{
			sound[] = {"A3\Sounds_F\vehicles\armor\APC\APC1\int_engine_01",0.31622776,1};
			frequency = "0.8	+	((rpm/	2300) factor[(10/	2300),(200/	2300)])*0.15";
			volume = "engineOn*(1-camPos)*(((rpm/	2300) factor[(10/	2300),(200/	2300)])	*	((rpm/	2300) factor[(500/	2300),(425/	2300)]))";
		};
		class Engine_int
		{
			sound[] = {"A3\Sounds_F\vehicles\armor\APC\APC1\int_engine_02",0.35481337,1};
			frequency = "0.8	+	((rpm/	2300) factor[(430/	2300),(730/	2300)])*0.2";
			volume = "engineOn*(1-camPos)*(((rpm/	2300) factor[(430/	2300),(510/	2300)])	*	((rpm/	2300) factor[(730/	2300),(620/	2300)]))";
		};
		class Engine1_int
		{
			sound[] = {"A3\Sounds_F\vehicles\armor\APC\APC1\int_engine_03",0.39810717,1};
			frequency = "0.8	+	((rpm/	2300) factor[(630/	2300),(1000/	2300)])*0.2";
			volume = "engineOn*(1-camPos)*(((rpm/	2300) factor[(600/	2300),(720/	2300)])	*	((rpm/	2300) factor[(1100/	2300),(840/	2300)]))";
		};
		class Engine2_int
		{
			sound[] = {"A3\Sounds_F\vehicles\armor\APC\APC1\int_engine_06",0.4466836,1};
			frequency = "0.8	+	((rpm/	2300) factor[(850/	2300),(1300/	2300)])*0.2";
			volume = "engineOn*(1-camPos)*(((rpm/	2300) factor[(800/	2300),(1000/	2300)])	*	((rpm/	2300) factor[(1300/	2300),(1100/	2300)]))";
		};
		class Engine3_int
		{
			sound[] = {"A3\Sounds_F\vehicles\armor\APC\APC1\int_engine_07",0.5011872,1};
			frequency = "0.8	+	((rpm/	2300) factor[(1100/	2300),(1600/	2300)])*0.1";
			volume = "engineOn*(1-camPos)*(((rpm/	2300) factor[(1100/	2300),(1270/	2300)])	*	((rpm/	2300) factor[(1550/	2300),(1380/	2300)]))";
		};
		class Engine4_int
		{
			sound[] = {"A3\Sounds_F\vehicles\armor\APC\APC1\int_engine_08",0.56234133,1};
			frequency = "0.8	+	((rpm/	2300) factor[(1400/	2300),(2000/	2300)])*0.1";
			volume = "engineOn*(1-camPos)*(((rpm/	2300) factor[(1380/	2300),(1500/	2300)])	*	((rpm/	2300) factor[(2000/	2300),(1700/	2300)]))";
		};
		class Engine5_int
		{
			sound[] = {"A3\Sounds_F\vehicles\armor\APC\APC1\int_engine_10",0.63095737,1};
			frequency = "0.8	+	((rpm/	2300) factor[(1700/	2300),(2300/	2300)])*0.1";
			volume = "engineOn*(1-camPos)*((rpm/	2300) factor[(1600/	2300),(2100/	2300)])";
		};
		class IdleThrust_int
		{
			sound[] = {"A3\Sounds_F\vehicles\armor\APC\APC1\int_exhaust_01",0.35481337,1};
			frequency = "0.8	+	((rpm/	2300) factor[(10/	2300),(200/	2300)])*0.15";
			volume = "engineOn*(1-camPos)*(0.4+(0.6*(thrust factor[0.1,1])))*(((rpm/	2300) factor[(10/	2300),(200/	2300)])	*	((rpm/	2300) factor[(500/	2300),(425/	2300)]))";
		};
		class EngineThrust_int
		{
			sound[] = {"A3\Sounds_F\vehicles\armor\APC\APC1\int_exhaust_02",0.39810717,1};
			frequency = "0.8	+	((rpm/	2300) factor[(430/	2300),(730/	2300)])*0.2";
			volume = "engineOn*(1-camPos)*(0.4+(0.6*(thrust factor[0.1,1])))*(((rpm/	2300) factor[(430/	2300),(510/	2300)])	*	((rpm/	2300) factor[(730/	2300),(620/	2300)]))";
		};
		class Engine1_Thrust_int
		{
			sound[] = {"A3\Sounds_F\vehicles\armor\APC\APC1\int_exhaust_03",0.4466836,1};
			frequency = "0.8	+	((rpm/	2300) factor[(630/	2300),(1000/	2300)])*0.2";
			volume = "engineOn*(1-camPos)*(0.4+(0.6*(thrust factor[0.1,1])))*(((rpm/	2300) factor[(600/	2300),(720/	2300)])	*	((rpm/	2300) factor[(1100/	2300),(840/	2300)]))";
		};
		class Engine2_Thrust_int
		{
			sound[] = {"A3\Sounds_F\vehicles\armor\APC\APC1\int_exhaust_06",0.4466836,1};
			frequency = "0.8	+	((rpm/	2300) factor[(850/	2300),(1300/	2300)])*0.2";
			volume = "engineOn*(1-camPos)*(0.4+(0.6*(thrust factor[0.1,1])))*(((rpm/	2300) factor[(800/	2300),(1000/	2300)])	*	((rpm/	2300) factor[(1300/	2300),(1100/	2300)]))";
		};
		class Engine3_Thrust_int
		{
			sound[] = {"A3\Sounds_F\vehicles\armor\APC\APC1\int_exhaust_07",0.5011872,1};
			frequency = "0.8	+	((rpm/	2300) factor[(1100/	2300),(1600/	2300)])*0.1";
			volume = "engineOn*(1-camPos)*(0.4+(0.6*(thrust factor[0.1,1])))*(((rpm/	2300) factor[(1100/	2300),(1270/	2300)])	*	((rpm/	2300) factor[(1550/	2300),(1380/	2300)]))";
		};
		class Engine4_Thrust_int
		{
			sound[] = {"A3\Sounds_F\vehicles\armor\APC\APC1\int_exhaust_08",0.56234133,1};
			frequency = "0.8	+	((rpm/	2300) factor[(1400/	2300),(2000/	2300)])*0.1";
			volume = "engineOn*(1-camPos)*(0.4+(0.6*(thrust factor[0.1,1])))*(((rpm/	2300) factor[(1380/	2300),(1500/	2300)])	*	((rpm/	2300) factor[(2000/	2300),(1700/	2300)]))";
		};
		class Engine5_Thrust_int
		{
			sound[] = {"A3\Sounds_F\vehicles\armor\APC\APC1\int_exhaust_10",0.63095737,1};
			frequency = "0.8	+	((rpm/	2300) factor[(1700/	2300),(2300/	2300)])*0.1";
			volume = "engineOn*(1-camPos)*(0.4+(0.6*(thrust factor[0.1,1])))*((rpm/	2300) factor[(1600/	2300),(2100/	2300)])";
		};
		class NoiseInt
		{
			sound[] = {"A3\sounds_f\vehicles\armor\noises\noise_tank_int_1",0.5011872,1.0};
			frequency = "1";
			volume = "(1-camPos)*(angVelocity max 0.04)*(speed factor[4, 15])";
		};
		class TiresRockIn
		{
			sound[] = {"A3\Sounds_F\vehicles\soft\tires\int_tires_dirt_soft_1",0.70794576,1.0};
			frequency = "1";
			volume = "(1-camPos)*rock*(speed factor[2, 20])";
		};
		class TiresSandIn
		{
			sound[] = {"A3\Sounds_F\vehicles\soft\tires\int-tires-sand2",0.70794576,1.0};
			frequency = "1";
			volume = "(1-camPos)*sand*(speed factor[2, 20])";
		};
		class TiresGrassIn
		{
			sound[] = {"A3\Sounds_F\vehicles\soft\tires\int_tires_dirt_soft_2",0.70794576,1.0};
			frequency = "1";
			volume = "(1-camPos)*grass*(speed factor[2, 20])";
		};
		class TiresMudIn
		{
			sound[] = {"A3\Sounds_F\vehicles\soft\tires\int-tires-mud2",0.70794576,1.0};
			frequency = "1";
			volume = "(1-camPos)*mud*(speed factor[2, 20])";
		};
		class TiresGravelIn
		{
			sound[] = {"A3\Sounds_F\vehicles\soft\tires\int_tires_gravel_1",0.70794576,1.0};
			frequency = "1";
			volume = "(1-camPos)*gravel*(speed factor[2, 20])";
		};
		class TiresAsphaltIn
		{
			sound[] = {"A3\Sounds_F\vehicles\soft\tires\int_tires_asfalt_2",0.70794576,1.0};
			frequency = "1";
			volume = "(1-camPos)*asphalt*(speed factor[2, 20])";
		};
		class NoiseIn
		{
			sound[] = {"A3\Sounds_F\vehicles\soft\noises\noise_int_car_3",0.5011872,1.0};
			frequency = "1";
			volume = "(damper0 max 0.1)*(speed factor[0, 8])*(1-camPos)";
		};
		class breaking_int_road
		{
			sound[] = {"A3\Sounds_F\vehicles\soft\noises\slipping_tires_loop_04_int",1.0,1};
			frequency = 1;
			volume = "engineOn*(1-camPos)*(LongSlipDrive Factor[-0.2, -0.3])*(Speed Factor[2, 6])";
		};
		class acceleration_int_road
		{
			sound[] = {"A3\Sounds_F\vehicles\soft\noises\slipping_tires_loop_02_int",1.0,1};
			frequency = 1;
			volume = "engineOn*(1-camPos)*(LongSlipDrive Factor[0.2, 0.3])*(Speed Factor[10, 1])";
		};
		class turn_left_int_road
		{
			sound[] = {"A3\Sounds_F\vehicles\soft\noises\slipping_tires_loop_02_int",1.0,1};
			frequency = 1;
			volume = "engineOn*(1-camPos)*(latSlipDrive Factor[0.15, 0.3])*(Speed Factor[0, 10])";
		};
		class turn_right_int_road
		{
			sound[] = {"A3\Sounds_F\vehicles\soft\noises\slipping_tires_loop_02_int",1.0,1};
			frequency = 1;
			volume = "engineOn*(1-camPos)*(latSlipDrive Factor[-0.15, -0.3])*(Speed Factor[0, 10])";
		};
		class breaking_int_dirt
		{
			sound[] = {"A3\Sounds_F\vehicles\soft\noises\slipping_tires_loop_04_int",1.0,1};
			frequency = 1;
			volume = "engineOn*(1-camPos)*(LongSlipDrive Factor[-0.2, -0.3])*(Speed Factor[2, 6])";
		};
		class acceleration_int_dirt
		{
			sound[] = {"A3\Sounds_F\vehicles\soft\noises\slipping_tires_loop_02_int",1.0,1};
			frequency = 1;
			volume = "engineOn*(1-camPos)*(LongSlipDrive Factor[0.2, 0.3])*(Speed Factor[10, 1])";
		};
		class turn_left_int_dirt
		{
			sound[] = {"A3\Sounds_F\vehicles\soft\noises\slipping_tires_loop_02_int",1.0,1};
			frequency = 1;
			volume = "engineOn*(1-camPos)*(latSlipDrive Factor[0.15, 0.3])*(Speed Factor[0, 10])";
		};
		class turn_right_int_dirt
		{
			sound[] = {"A3\Sounds_F\vehicles\soft\noises\slipping_tires_loop_02_int",1.0,1};
			frequency = 1;
			volume = "engineOn*(1-camPos)*(latSlipDrive Factor[-0.15, -0.3])*(Speed Factor[0, 10])";
		};
	};

	waterLeakiness = 2.5;
	turnCoef=4.0;
	steerAheadSimul=0.6;
	steerAheadPlan=0.4;
	enableGPS = true;
	commanderCanSee = 31; //See all
	gunnerCanSee = 30;
	//               driverCanSee = 31;
	forceHideDriver = false;
	gunnerHasFlares = true;
	weapons[]={"TruckHorn3"};
	magazines[]={};

	driverForceOptics = 1;
	driverOpticsModel = "\a3\weapons_f\reticle\Optics_Driver_01_F";
	memoryPointdriverOptics="driverview";
	class ViewOptics
	{
		visionMode[] = {"Normal","NVG"};
		initAngleX=0; minAngleX=-30; maxAngleX=+30;
		initAngleY=0; minAngleY=-100; maxAngleY=+100;
		initFov=0.466; minFov=0.466; maxFov=0.466;
	};
	// internal camera viewing limitations
	class ViewPilot
	{
    	 	initAngleX=10; minAngleX=-65; maxAngleX=+85; //Rg 30;
     		initAngleY=20; minAngleY=-150; maxAngleY=+150; //Rg 100;
		initFov=0.7; minFov=0.25; maxFov=1.4;
	};


	class Turrets: Turrets
	{
		class MainTurret: MainTurret
		{
			// TODO proper Weapons (M242 25mm gun + M240C 7.62mm)
			weapons[]={"Cha_M242_25mm_autocannon","Cha_M240_Coax"};
			magazines[]={"Cha_210Rnd_25mm_HEI_T","Cha_210Rnd_25mm_APFSDS_T","Cha_2000rnd_762x51_Belt_M240"};
			soundServo[]={"A3\sounds_f\dummysound",db-35,1.0,15};
			minElev=-08;
			maxElev=+50;
			initElev=0;
			minTurn=-360;
			maxTurn=+360;
			initTurn=0;
			gunnerAction = "LAV25_Gunner_out";
			gunnerInAction = "LAV25_Gunner";
			forceHideGunner = false;
			gunnerOpticsModel = "\A3\weapons_f\reticle\Optics_Gunner_02_F";
			discreteDistance[] = {100,200,300,400,500,600,700,800,900,1000,1100,1200,1300,1400,1500};
			discreteDistanceInitIndex = 2;
			turretInfoType = "RscWeaponRangeZeroing";
			gunnerOutOpticsModel = "";
			memoryPointGun = "machinegun";
			// selectionFireAnim = "zasleh_1";
			gunBeg = "muzzle_1";
			gunEnd = "chamber_1";
			particlesdir= "muzzle_1";
			particlespos= "chamber_1";            
               missileBeg = "muzzle_1";
               missileEnd = "chamber_1"; 
			body = "MainTurret";
			gun =  "MainGun";
			animationSourceBody = "MainTurret";
			animationSourceGun =  "MainGun";
			gunnerForceOptics = true;
			outGunnerMayFire = 0;
			startEngine = 1;
			primaryGunner = 4;
			stabilizedInAxes = 3;
			class ViewOptics: RCWSOptics
			{
				visionMode[] = {"Normal","TI"};
				thermalMode[] = {2,3};
				initAngleX=0; minAngleX=-30; maxAngleX=+30;
				initAngleY=0; minAngleY=-100; maxAngleY=+100;
				initFov=0.200; minFov=0.050; maxFov=0.200;
			};
			class OpticsIn
			{
				class Wide: ViewOptics
				{
					initFov = 0.234;
					minFov = 0.234;
					maxFov = 0.234;
					gunnerOpticsModel = "\a3\weapons_f\reticle\Optics_Gunner_01_wide_F";
				};
				class Narrow: Wide
				{
					initFov = 0.07;
					minFov = 0.07;
					maxFov = 0.07;
					gunnerOpticsModel = "\a3\weapons_f\reticle\Optics_Gunner_01_narrow_F";
				};
			};
			class HitPoints : HitPoints
			{
				class HitTurret {armor=0.8;material=-1;name="otocvez";visual="otocvez";passThrough=1;};
			};


			selectionFireAnim = "zasleh_1";
			class ViewGunner
			{
     				initAngleX=5; minAngleX=-65; maxAngleX=+85; //Rg 30;
     				initAngleY=0; minAngleY=-150; maxAngleY=+150; //Rg 100;
				initFov=0.7; minFov=0.25; maxFov=1.1;

			};

			class Turrets
			{
				class CommanderOptics: NewTurret
				{
					proxyType = CPCommander;
					proxyIndex = 1;
					gunnerName = $STR_POSITION_COMMANDER;
					primaryGunner = 0;
					primaryObserver = 1;
					gunnerOpticsShowCursor=0;
					body = "obsTurret";
					gun = "obsGun";
					animationSourceBody =  "obsTurret";
					animationSourceGun =   "obsGun";
					animationSourceHatch = "hatchCommander";
					soundServo[] = {"", db-50, 1.0};
					startEngine = 0;

					gunBeg = ""; //gunBeg = endpoint of the gun
					gunEnd = ""; //gunEnd = chamber of the gun

					minElev=-4; maxElev=+20; initElev=0;
					minTurn=-360; maxTurn=+360; initTurn=0;
					commanding = 2;
					viewGunnerInExternal = 0;
					gunnerOpticsModel = "\A3\weapons_f\reticle\Optics_Commander_02_F";
					gunnerOutOpticsModel = "";
					gunnerOutOpticsColor[] = {0, 0, 0, 1};
					gunnerOutForceOptics = false;
					gunnerOutOpticsShowCursor = false;
					memoryPointGunnerOutOptics = "commander_weapon_view";
					memoryPointGunnerOptics= "commanderview";
					memoryPointsGetInGunner= "pos driver";
					memoryPointsGetInGunnerDir= "pos driver dir";

					class ViewGunner
					{
						visionMode[] = {"Normal","NVG","TI"};
						thermalMode[] = {2,3};
     						initAngleX=5; minAngleX=-65; maxAngleX=+85; //Rg 30;
     						initAngleY=0; minAngleY=-150; maxAngleY=+150; //Rg 100;
						initFov=0.7; minFov=0.25; maxFov=1.1;

					};


					gunnerOpticsEffect[] = {"TankGunnerOptics2","OpticsBlur1","OpticsCHAbera1"}; 

					class ViewOptics
					{
						initAngleX=0; minAngleX=-30; maxAngleX=+30;
						initAngleY=0; minAngleY=-100; maxAngleY=+100;
						initFov=0.300; minFov=0.025; maxFov=0.300;
					};
					gunnerInAction = "LAV25_Commander";
					gunnerAction = "LAV25_Commander_out";
					outGunnerMayFire = true;
					weapons[] = {"SmokeLauncher"};
					magazines[] = {"SmokeLauncherMag","SmokeLauncherMag"};


					stabilizedInAxes = 3;
				};
			};
		};
	};
	crew = "B_crew_F";
	transportSoldier = 6;
	typicalCargo[]={"B_crew_F","B_crew_F","B_crew_F"};
	DriverAction = "LAV25_Driver_OUT";
	driverInAction = "LAV25_Driver_OUT";
	cargoAction[] = {"passenger_apc_narrow_generic02","passenger_apc_narrow_generic01","passenger_apc_narrow_generic03","passenger_apc_generic03","passenger_apc_generic02","passenger_generic01_foldhands","passenger_apc_narrow_generic01","passenger_apc_narrow_generic02"};

	viewCargoShadow = true;
	viewCargoShadowDiff = 0.05;
	viewDriverShadowDiff = 0.05;
	viewGunnerShadowDiff = 0.05;

	transportAmmo = 100;
	supplyRadius = 1.7;
	transportMaxMagazines = 100;
	transportMaxWeapons = 10;

	//For smoke launchers
	smokeLauncherGrenadeCount=4; //Number of smoke shells launched at once
	smokeLauncherVelocity=14; //Velocity which smoke shells are launched at
	smokeLauncherOnTurret=1; //0 if smoke launchers are on hull, 1 if on turret
	smokeLauncherAngle=90; //Angle within which smoke grenades are launched (actual spacing may end up smaller so use slighty higher number)
	class Reflectors
	{
		class Left
		{
			color[] = {0.9, 0.8, 0.8, 1.0};
			ambient[] = {0.1, 0.1, 0.1, 1.0};
			coneFadeCoef = 10;
			dayLight = 0;
			flareSize = 1;
			innerAngle = 100;
			intensity = 1000;
			outerAngle = 140;
			position = "L svetlo";
			direction = "konec L svetla";
			hitpoint = "L svetlo";
			selection = "L svetlo";
			size = 1;
			brightness =0.5;
			useFlare = true;
			class Attenuation
			{
				constant = 0;
				hardLimitEnd = 60;
				hardLimitStart = 30;
				linear = 0;
				quadratic = 0.25;
				start = 1.0;
			};
		};
		class Right:Left
		{
			position = "P svetlo";
			direction = "konec P svetla";
			hitpoint = "P svetlo";
			selection = "P svetlo";
		};
		/*
			class gunner_light:Left
		{
			position = "svetlo gunner";
			direction = "svetlo gunner konec";
			hitpoint = "svetlo gunner";
			selection = "svetlo gunner";
		};
		class commander_light:Left
		{
			position = "svetlo commnader";
			direction = "svetlo commander konec";
			hitpoint = "svetlo commnader";
			selection = "svetlo commnader";
		};*/
	};
	aggregateReflectors[] = {};

	class Exhausts
	{
		class Exhaust1
		{
			position = "vyfuk start";
			direction = "vyfuk konec";
			effect = "ExhaustsEffect";
		};
		class Exhaust2: Exhaust1
		{
			position = "vyfuk2 start";
			direction = "vyfuk2 konec";
		};
	};
/*
	// TODO add damage materials
	class Damage
	{
		tex[]={};
		mat[]=
		{
			"ca\wheeled2\btr90\data\body.rvmat",
			"ca\wheeled2\btr90\data\body_damage.rvmat",
			"ca\wheeled2\btr90\data\body_destruct.rvmat",
			"ca\wheeled2\btr90\data\body2.rvmat",
			"ca\wheeled2\btr90\data\body2_damage.rvmat",
			"ca\wheeled2\btr90\data\body2_destruct.rvmat",
			"ca\wheeled2\btr90\data\interrior.rvmat",
			"ca\wheeled2\btr90\data\interrior_damage.rvmat",
			"ca\wheeled2\btr90\data\interrior_destruct.rvmat",
			"ca\wheeled2\btr90\data\interrior2.rvmat",
			"ca\wheeled2\btr90\data\interrior2_damage.rvmat",
			"ca\wheeled2\btr90\data\interrior2_destruct.rvmat"
		};
	};
               */

	// Physx Config

	#include "CfgPhysX.hpp"

	class AnimationSources : AnimationSources
	{
		class front_panel_anim
		{
			source="user";
			animperiod=2;
			initPhase=0;
		};
		class recoil_source
		{
			source="reload";
			weapon="autocannon_40mm_CTWS";
		};
		class HitLFWheel
		{
			source = "Hit";
			hitpoint = "HitLFWheel";
			raw = 1;
		};
		class HitLF2Wheel
		{
			source = "Hit";
			hitpoint = "HitLBWheel";
			raw = 1;
		};
		class HitLMWheel
		{
			source = "Hit";
			hitpoint = "HitLMWheel";
			raw = 1;
		};
		class HitLBWheel
		{
			source = "Hit";
			hitpoint = "HitLF2Wheel";
			raw = 1;
		};
		class HitRFWheel
		{
			source = "Hit";
			hitpoint = "HitRFWheel";
			raw = 1;
		};
		class HitRF2Wheel
		{
			source = "Hit";
			hitpoint = "HitRBWheel";
			raw = 1;
		};
		class HitRMWheel
		{
			source = "Hit";
			hitpoint = "HitRMWheel";
			raw = 1;
		};
		class HitRBWheel
		{
			source = "Hit";
			hitpoint = "HitRF2Wheel";
			raw = 1;
		};
	};
	class EventHandlers : DefaultEventhandlers
	{
		init="_this execVM ""\cha\cha_lav25\scripts\init.sqf""";
	};
};
class Cha_LAV25: Cha_LAV25_Base
{
	scope = 2;
	side= 1;
	faction = "Cha_LAR";
	displayName = "LAV-25A1";
	author = "Chairborne";
	class AnimationSources : AnimationSources
	{
		class recoil_source
		{
			source="reload";
			weapon="Cha_M242_25mm_autocannon";
		};
	};
};
class Cha_LAV25A2: Cha_LAV25
{
	scope = 2;
	side= 1;
	model = "\Cha\Cha_LAV25\lav25a2";
	faction = "Cha_LAR";
	displayName = "LAV-25A2";
	author = "Chairborne";
	class AnimationSources : AnimationSources
	{
		class recoil_source
		{
			source="reload";
			weapon="Cha_M242_25mm_autocannon";
		};
		class ReloadAnim {source="reload";weapon="Cha_M240_Pintle_2";};
		class ReloadMagazine {source="reloadmagazine";weapon="Cha_M240_Pintle_2";};
		class Revolving {source="revolving";weapon="Cha_M240_Pintle_2";};
	};
	class Turrets: Turrets
	{
		class MainTurret: MainTurret
		{
			class Turrets: Turrets
			{
				class CommanderOptics: CommanderOptics
				{
					weapons[]={"Cha_M240_Pintle_2","SmokeLauncher"};
					magazines[]={"Cha_200rnd_762x51_Belt_M240","Cha_200rnd_762x51_Belt_M240","Cha_200rnd_762x51_Belt_M240","Cha_200rnd_762x51_Belt_M240","Cha_200rnd_762x51_Belt_M240","Cha_200rnd_762x51_Belt_M240","Cha_200rnd_762x51_Belt_M240","SmokeLauncherMag"};

					startEngine = 0;
					gunnerOutOpticsModel = "\Cha\Cha_Lav25\proxies\optika_empty";
					memoryPointGun = "usti hlavne3";
					gunBeg = "usti hlavne3";
					gunEnd = "konec hlavne3";
					particlesdir= "usti hlavne3";
					particlespos= "konec hlavne3";
					memoryPointGunnerOutOptics= "comgunview";
					animationSourceBody = "obsTurret";
					animationSourceGun = "obsGun";
					//animationSourceHatch = "hatchCommander";
					body = "ComTurret";
					gun = "ComGun";

					gunnerOutOpticsShowCursor= true;
					viewGunnerInExternal=0;
					gunnerForceOptics = 1;
					outGunnerMayFire = 1;
					forceHideGunner = 0;
					canHideGunner = 1;
					InGunnerMayFire= false;

					castGunnerShadow = false;

					gunnerOpticsEffect[] = {"TankGunnerOptics2","OpticsBlur1","OpticsCHAbera1"}; 
					class ViewOptics
					{
						initAngleX=0; minAngleX=-30; maxAngleX=+30;
						initAngleY=0; minAngleY=-100; maxAngleY=+100;
						initFov=0.7; minFov=0.25; maxFov=1.1;
						visionMode[] = {"Normal","TI"};
						thermalMode[] = {0,1};
					};

					minTurn=-90; 
					maxTurn=90;
					minElev = -20;
					maxElev = 60;
					commanding = 2;

					stabilizedInAxes = 0;
					gunnerOpticsModel = "\A3\weapons_f\reticle\Optics_Commander_02_F";
					gunnerOutForceOptics = false;
					memoryPointGunnerOptics = "commanderview";
					memoryPointsGetInGunner= "pos driver";
					memoryPointsGetInGunnerDir= "pos driver dir";

					class ViewGunner
					{
						visionMode[] = {"Normal","NVG","TI"};
						thermalMode[] = {2,3};
     						initAngleX=5; minAngleX=-65; maxAngleX=+85; //Rg 30;
     						initAngleY=0; minAngleY=-150; maxAngleY=+150; //Rg 100;
						initFov=0.7; minFov=0.25; maxFov=1.1;

					};

					gunnerInAction = "LAV25_Commander";
					gunnerAction = "LAV25_Commander_out";
				};
			};
		};
	};
};
class Cha_LAV25_HQ: Cha_LAV25
{
	scope = 2;
	model = "\Cha\Cha_LAV25\lav_hq";
	displayName = "LAV-C2";
	author = "Chairborne";
	picture="\Cha\Cha_LAV25\data\UI\Picture_LAV25_CA.paa";// TODO
	Icon="\Cha\Cha_LAV25\data\UI\Icon_lav25_hq_CA.paa";
	hideProxyInCombat = 1;
	enableManualFire = false;
               class Library {libTextDesc = $STR_LIB_LAV25_HQ;};
	class Turrets: Turrets
	{
		class MainTurret: NewTurret
		{
			weapons[]={"Cha_M240_Pintle","SmokeLauncher"};
			magazines[]={"Cha_200rnd_762x51_Belt_M240","Cha_200rnd_762x51_Belt_M240","Cha_200rnd_762x51_Belt_M240","Cha_200rnd_762x51_Belt_M240","Cha_200rnd_762x51_Belt_M240","Cha_200rnd_762x51_Belt_M240","Cha_200rnd_762x51_Belt_M240","SmokeLauncherMag"};
			class Turrets{};

			LODTurnedOut = VIEW_GUNNER;
			LODTurnedIn= VIEW_GUNNER;

			startEngine = 0;
			gunnerOutOpticsModel = "\Cha\Cha_Lav25\proxies\optika_empty";
			gunnerAction = LAV25_Gunner2;
			gunnerInAction = LAV25_Gunner2;
			memoryPointGun = "usti hlavne";
			gunBeg = "usti hlavne";
			gunEnd = "konec hlavne";
			particlesdir= "usti hlavne";
			particlespos= "konec hlavne";            
               missileBeg = "usti hlavne";
               missileEnd = "konec hlavne"; 
			memoryPointGunnerOutOptics= "gunnerview";
			gunnerName = $STR_POSITION_COMMANDER;

			viewGunnerInExternal=1;
			gunnerForceOptics = 0;
			outGunnerMayFire = 1;
			forceHideGunner = 0;
			canHideGunner = 0;

			castGunnerShadow = false;
			class ViewOptics
			{
				initAngleX=0; minAngleX=-30; maxAngleX=+30;
				initAngleY=0; minAngleY=-100; maxAngleY=+100;
				initFov=0.7; minFov=0.25; maxFov=1.1;
			};

			minTurn=-90; maxTurn=90;
			minElev = __EVAL(-0.3*180/3.1415926);
			maxElev = __EVAL(0.6*180/3.1415926);
			commanding = 1;
			primaryGunner = 0;
			primaryObserver = 1;

			stabilizedInAxes = 0;
		};
	};
	class AnimationSources:AnimationSources
	{
		class Antena1
		{
			source = "user";
			animPeriod = 2;
			initPhase = 0;
		};
		class Antena2
		{
			source = "user";
			animPeriod = 2;
			initPhase = 0;
		};
		class Antena3
		{
			source = "user";
			animPeriod = 2;
			initPhase = 0;
		};
		class ReloadAnim{source="reload";weapon="Cha_M240_Pintle";};
		class ReloadMagazine{source="reloadmagazine";weapon="Cha_M240_Pintle";};
		class Revolving{source="revolving";weapon="Cha_M240_Pintle";};
	};
	class UserActions
	{
		class ExtendAnt
		{
			displayName = "Extend Antenna";
			position = "driverview";
			showWindow = 0;
			radius = 8;
			priority = 5;
			condition = "(player == commander this) AND (this animationPhase ""antena1"" == 0);";
			statement = "ext = [this,7] execvm ""Cha\Cha_Lav25\scripts\ext_ant.sqf""";
			onlyforplayer = true;
		};
		class RetractAnt
		{
			displayName = "Retract Antenna";
			position = "driverview";
			showWindow = 0;
			radius = 8;
			priority = 5;
			condition = "(player == commander this) AND (this animationPhase ""antena1"" > 1);;";
			statement = "ret = [this,0] execvm ""Cha\Cha_Lav25\scripts\ext_ant.sqf""";
			onlyforplayer = true;
		};
	};
	transportSoldier = 0;
	typicalCargo[]={};
	threat[]={0.5, 0.0, 0.2};
	hiddenSelections[] =
	{
		"Camo1",
		"Camo2",
		"Camo3"
	};
	hiddenSelectionsTextures[] =
	{
		"\Cha\Cha_LAV25\data\lavbody_co.paa",
		"\Cha\Cha_LAV25\data\lavbody2_co.paa",
		"\Cha\Cha_LAV25\data\lav_hq_co.paa"
	};
};
};

Share this post


Link to post
Share on other sites

is the optic part of the weapon that moves?

If so, make sure you have the point in memoryLOD of the p3d either as part of the same selection that the gun barrel has, or make it a seperate bone in model.cfg with the barrel selection as parrent.

Share this post


Link to post
Share on other sites

No the optic is separated.

Basically the internal camera is in one place, then in another place i have the view point for the machine gun (which works absolutely fine in all directions).

The properties in model.cfg are exactly the same for the standard model, which is basically the original vehicle without the machinegun:

#define BULLET_HIDE(x,from,count) class Bullet##x\
		{\
			type="hide";\
			source="revolving";\
			sourceAddress="mirror";\
			selection=bullet##x;\
			minValue=-1.000000;\
			maxValue= 0.000000;\
			hideValue=((count+x-from-2)/count)+0.00001;\
		};
class CfgSkeletons
{
class Vehicle;
class LAV25Base: Vehicle
{
	isDiscrete=1;
	skeletonInherit="";
	skeletonBones[]=
	{
		"OtocVez","",
		"front_panel","",
		"rotor1","",
		"rotor2","",
		"otocvelitele","OtocVez",
		"OtocHlavenVelitele","otocvelitele",
		"hatch_commander","OtocVez",
		"hatch_driver","",
		"damageHide","",

		"wheel_1_1_damper_land","",
		"wheel_1_2_damper_land","",
		"wheel_1_3_damper_land","",
		"wheel_1_4_damper_land","",

		"wheel_2_1_damper_land","",
		"wheel_2_2_damper_land","",
		"wheel_2_3_damper_land","",
		"wheel_2_4_damper_land","",

		"wheel_1_1_damper","wheel_1_1_damper_land",
		"wheel_1_2_damper","wheel_1_2_damper_land",
		"wheel_1_3_damper","wheel_1_3_damper_land",
		"wheel_1_4_damper","wheel_1_4_damper_land",

		"wheel_2_1_damper","wheel_2_1_damper_land",
		"wheel_2_2_damper","wheel_2_2_damper_land",
		"wheel_2_3_damper","wheel_2_3_damper_land",
		"wheel_2_4_damper","wheel_2_4_damper_land",

		"wheel_1_1_steering","wheel_1_1_damper",
		"wheel_1_2_steering","wheel_1_2_damper",
		"wheel_1_3_steering","wheel_1_3_damper",
		"wheel_1_4_steering","wheel_1_4_damper",

		"wheel_2_1_steering","wheel_2_1_damper",
		"wheel_2_2_steering","wheel_2_2_damper",
		"wheel_2_3_steering","wheel_2_3_damper",
		"wheel_2_4_steering","wheel_2_4_damper",

		"wheel_1_1","wheel_1_1_steering",
		"wheel_1_2","wheel_1_2_steering",
		"wheel_1_3","wheel_1_3_steering",
		"wheel_1_4","wheel_1_4_steering",

		"wheel_2_1","wheel_2_1_steering",
		"wheel_2_2","wheel_2_2_steering",
		"wheel_2_3","wheel_2_3_steering",
		"wheel_2_4","wheel_2_4_steering",

		"wheel_1_1_unhide","wheel_1_1",
		"wheel_1_2_unhide","wheel_1_2",
		"wheel_1_3_unhide","wheel_1_3",
		"wheel_1_4_unhide","wheel_1_4",

		"wheel_2_1_unhide","wheel_2_1",
		"wheel_2_2_unhide","wheel_2_2",
		"wheel_2_3_unhide","wheel_2_3",
		"wheel_2_4_unhide","wheel_2_4",

		"wheel_1_1_hide","wheel_1_1",
		"wheel_1_2_hide","wheel_1_2",
		"wheel_1_3_hide","wheel_1_3",
		"wheel_1_4_hide","wheel_1_4",

		"wheel_2_1_hide","wheel_2_1",
		"wheel_2_2_hide","wheel_2_2",
		"wheel_2_3_hide","wheel_2_3",
		"wheel_2_4_hide","wheel_2_4"

	};
};
class LAV25Skeleton: LAV25Base
{
	skeletonInherit="LAV25Base";
	skeletonBones[]=
	{
		"otochlaven","OtocVez",
		"hatch_gunner","OtocVez",
		"RecoilHlaven","otocHlaven"
	};
};
class LAV25A2Skeleton: LAV25Skeleton
{
	skeletonInherit="LAV25Skeleton";
	skeletonBones[]=
	{
		"Com_Gun_Base","OtocVez",
		"OtocHlaven2","Com_Gun_Base",
		"OtocHlaven_Shake","OtocHlaven2",
		"ammo_belt","OtocHlaven_Shake",
		"magazine","OtocHlaven_Shake",
		"feedtray_cover","OtocHlaven_Shake",
		"bolt","OtocHlaven_Shake",
		"charging_handle","OtocHlaven_Shake",
		"bullet001","bullet002",
		"bullet002","bullet003",
		"bullet003","bullet004",
		"bullet004","bullet005",
		"bullet005","bullet006",
		"bullet006","bullet007",
		"bullet007","bullet008",
		"bullet008","ammo_belt"
	};
};
class LAV_HQSkeleton: LAV25Base
{
	skeletonInherit="LAV25Base";
	skeletonBones[]=
	{
		"antena1","",
		"antena2","antena1",
		"antena3","antena2",
		"hatch_gunner","",
		"OtocHlaven","OtocVez",
		"OtocHlaven_Shake","OtocHlaven",
		"ammo_belt","OtocHlaven_Shake",
		"magazine","OtocHlaven_Shake",
		"feedtray_cover","OtocHlaven_Shake",
		"bolt","OtocHlaven_Shake",
		"charging_handle","OtocHlaven_Shake",
		"bullet001","bullet002",
		"bullet002","bullet003",
		"bullet003","bullet004",
		"bullet004","bullet005",
		"bullet005","bullet006",
		"bullet006","bullet007",
		"bullet007","bullet008",
		"bullet008","ammo_belt"
	};
};
};
class CfgModels
{
class Vehicle;
class Car: Vehicle
{
	sectionsInherit="";
	sections[]={};
	class Animations
	{
		class damageHide
		{
			type="hide";
			source="damage";
			selection="damageHide";
			hideValue=1.0;
		};
		class damageHideVez:damageHide
		{
			selection="OtocVez";
		};
		class damageHideHlaven:damageHide
		{
			selection="OtocHlaven";
		};
		class wheel_1_1_destruct
		{
			type="hide";
			selection="wheel_1_1_hide";
			source="HitLFWheel";
			minValue=0;
			maxValue=1;
			hidevalue=0.99999;
		};
		class wheel_1_2_destruct:wheel_1_1_destruct {source="HitLBWheel";selection="wheel_1_2_hide";};
		class wheel_1_3_destruct:wheel_1_1_destruct {source="HitLMWheel";selection="wheel_1_3_hide";};
		class wheel_1_4_destruct:wheel_1_1_destruct {source="HitLF2Wheel";selection="wheel_1_4_hide";};

		class wheel_2_1_destruct:wheel_1_1_destruct {source="HitRFWheel";selection="wheel_2_1_hide";};
		class wheel_2_2_destruct:wheel_1_1_destruct {source="HitRBWheel";selection="wheel_2_2_hide";};
		class wheel_2_3_destruct:wheel_1_1_destruct {source="HitRMWheel";selection="wheel_2_3_hide";};
		class wheel_2_4_destruct:wheel_1_1_destruct {source="HitRF2Wheel";selection="wheel_2_4_hide";};

		class wheel_1_1_destruct_unhide
		{
			type="hide";
			selection="wheel_1_1_unhide";
			source="HitLFWheel";
			minValue=0;
			maxValue=1;
			hidevalue = 0.00000;
			UnHidevalue = 1.00000;
		};
		class wheel_1_2_destruct_unhide:wheel_1_1_destruct_unhide {source="HitLBWheel";selection="wheel_1_2_unhide";};
		class wheel_1_3_destruct_unhide:wheel_1_1_destruct_unhide {source="HitLMWheel";selection="wheel_1_3_unhide";};
		class wheel_1_4_destruct_unhide:wheel_1_1_destruct_unhide {source="HitLF2Wheel";selection="wheel_1_4_unhide";};

		class wheel_2_1_destruct_unhide:wheel_1_1_destruct_unhide {source="HitRFWheel";selection="wheel_2_1_unhide";};
		class wheel_2_2_destruct_unhide:wheel_1_1_destruct_unhide {source="HitRBWheel";selection="wheel_2_2_unhide";};
		class wheel_2_3_destruct_unhide:wheel_1_1_destruct_unhide {source="HitRMWheel";selection="wheel_2_3_unhide";};
		class wheel_2_4_destruct_unhide:wheel_1_1_destruct_unhide {source="HitRF2Wheel";selection="wheel_2_4_unhide";};

		class wheel_1_1_Damage: wheel_1_1_destruct
		{
			type="translation";
			axis="Basic_Damper_Destruct_Axis";
			memory=1;
			selection="wheel_1_1_damper_land";
			source="damage";
			minValue=0;
			maxValue=1;
			offset0=0;
			offset1=0.2;
		};
		class wheel_1_2_Damage: wheel_1_1_Damage { selection="wheel_1_2_damper_land"; };
		class wheel_1_3_Damage: wheel_1_1_Damage { selection="wheel_1_3_damper_land"; };
		class wheel_1_4_Damage: wheel_1_1_Damage { selection="wheel_1_4_damper_land"; };

		class wheel_2_1_Damage: wheel_1_1_Damage { selection="wheel_2_1_damper_land"; };
		class wheel_2_2_Damage: wheel_1_1_Damage { selection="wheel_2_2_damper_land"; };
		class wheel_2_3_Damage: wheel_1_1_Damage { selection="wheel_2_3_damper_land"; };
		class wheel_2_4_Damage: wheel_1_1_Damage { selection="wheel_2_4_damper_land"; };

		class wheel_1_1_Damper_Damage_BackAnim: wheel_1_1_Damage { selection="wheel_1_1_damper"; offset1="-1.2*0.2"; };
		class wheel_1_2_Damper_Damage_BackAnim: wheel_1_1_Damper_Damage_BackAnim { selection="wheel_1_2_damper"; };
		class wheel_1_3_Damper_Damage_BackAnim: wheel_1_1_Damper_Damage_BackAnim { selection="wheel_1_3_damper"; };
		class wheel_1_4_Damper_Damage_BackAnim: wheel_1_1_Damper_Damage_BackAnim { selection="wheel_1_4_damper"; };

		class wheel_2_1_Damper_Damage_BackAnim: wheel_1_1_Damper_Damage_BackAnim { selection="wheel_2_1_damper"; };
		class wheel_2_2_Damper_Damage_BackAnim: wheel_1_1_Damper_Damage_BackAnim { selection="wheel_2_2_damper"; };
		class wheel_2_3_Damper_Damage_BackAnim: wheel_1_1_Damper_Damage_BackAnim { selection="wheel_2_3_damper"; };
		class wheel_2_4_Damper_Damage_BackAnim: wheel_1_1_Damper_Damage_BackAnim { selection="wheel_2_4_damper"; };
	};
};
class LAV25: Car
{
	skeletonName="LAV25Skeleton";
	sectionsInherit="Car";
	sections[]=
	{
		"zasleh_1",
		"Camo1",
		"Camo2",
		"clan",
		"clan_sign",
		"zadni svetlo",
		"brzdove svetlo",
		"P svetlo",
		"L svetlo",
		"zbytek"
	};
	class Animations: Animations
	{
		class wheel_1_1_Damage: wheel_1_1_Damage { offset1="0.23999999"; };
		class wheel_1_2_Damage: wheel_1_2_Damage { offset1="0.23999999"; };
		class wheel_1_3_Damage: wheel_1_3_Damage { offset1="0.23999999"; };
		class wheel_1_4_Damage: wheel_1_4_Damage { offset1="0.23999999"; };

		class wheel_2_1_Damage: wheel_2_1_Damage { offset1="0.23999999"; };
		class wheel_2_2_Damage: wheel_2_2_Damage { offset1="0.23999999"; };
		class wheel_2_3_Damage: wheel_2_3_Damage { offset1="0.23999999"; };
		class wheel_2_4_Damage: wheel_2_4_Damage { offset1="0.23999999"; };

		class wheel_1_1_Damper_Damage_BackAnim: wheel_1_1_Damper_Damage_BackAnim { offset1="-1.2*0.24"; };
		class wheel_1_2_Damper_Damage_BackAnim: wheel_1_2_Damper_Damage_BackAnim { offset1="-1.2*0.24"; };
		class wheel_1_3_Damper_Damage_BackAnim: wheel_1_3_Damper_Damage_BackAnim { offset1="-1.2*0.24"; };
		class wheel_1_4_Damper_Damage_BackAnim: wheel_1_4_Damper_Damage_BackAnim { offset1="-1.2*0.24"; };

		class wheel_2_1_Damper_Damage_BackAnim: wheel_2_1_Damper_Damage_BackAnim { offset1="-1.2*0.24"; };
		class wheel_2_2_Damper_Damage_BackAnim: wheel_2_2_Damper_Damage_BackAnim { offset1="-1.2*0.24"; };
		class wheel_2_3_Damper_Damage_BackAnim: wheel_2_3_Damper_Damage_BackAnim { offset1="-1.2*0.24"; };
		class wheel_2_4_Damper_Damage_BackAnim: wheel_2_4_Damper_Damage_BackAnim { offset1="-1.2*0.24"; };

		class Steering_1_1
		{
			type="rotationY";
			source="drivingwheel";
			selection="wheel_1_1_steering";
			axis="wheel_1_1_steering_axis";
			minvalue=-1;
			maxvalue=1;
			angle0="rad 30";
			angle1="rad -30";
		};
		class Steering_1_2: Steering_1_1
		{
			selection="wheel_1_2_steering";
			axis="wheel_1_2_steering_axis";
		};
		class Steering_2_1: Steering_1_1
		{
			selection="wheel_2_1_steering";
			axis="wheel_2_1_steering_axis";
		};
		class Steering_2_2: Steering_1_1
		{
			selection="wheel_2_2_steering";
			axis="wheel_2_2_steering_axis";
		};
		class wheel_1_1_rot
		{
			type="rotationX";
			source="wheel";
			selection="wheel_1_1_hide";
			axis="";
			sourceAddress="loop";
			minValue=0;
			maxValue=1;
			angle0=0;
			angle1="rad -180";
		};
		class wheel_1_2_rot: wheel_1_1_rot
		{
			selection="wheel_1_2_hide";
		};
		class wheel_2_1_rot: wheel_1_1_rot
		{
			selection="wheel_2_1_hide";
		};
		class wheel_2_2_rot: wheel_1_1_rot
		{
			selection="wheel_2_2_hide";
		};
		class wheel_1_3_rot: wheel_1_1_rot
		{
			selection="wheel_1_3_hide";
		};
		class wheel_2_3_rot: wheel_1_1_rot
		{
			selection="wheel_2_3_hide";
		};
		class wheel_1_4_rot: wheel_1_1_rot
		{
			selection="wheel_1_4_hide";
		};
		class wheel_2_4_rot: wheel_1_1_rot
		{
			selection="wheel_2_4_hide";
		};
		class Wheel_1_1_Damper
		{
			type="translation";
			source="damper";
			selection="wheel_1_1_damper_land";
			axis="posun wheel_1_1";
			animPeriod=1;
			minValue="0";
			maxValue="1";
			offset0="1";
			offset1="-1";
			memory=1;
		};
		class Wheel_1_2_Damper: Wheel_1_1_Damper
		{
			selection="wheel_1_2_damper_land";
			axis="posun levy dalsi";
		};
		class Wheel_1_3_Damper: Wheel_1_1_Damper
		{
			selection="wheel_1_3_damper_land";
			axis="posun wheel_1_3";
		};
		class Wheel_1_4_Damper: Wheel_1_1_Damper
		{
			selection="wheel_1_4_damper_land";
			axis="posun wheel_1_2";
		};
		class Wheel_2_1_Damper: Wheel_1_1_Damper
		{
			selection="wheel_2_1_damper_land";
			axis="posun wheel_2_1";
		};
		class Wheel_2_2_Damper: Wheel_1_1_Damper
		{
			selection="wheel_2_2_damper_land";
			axis="posun pravy dalsi";
		};
		class Wheel_2_3_Damper: Wheel_1_1_Damper
		{
			selection="wheel_2_3_damper_land";
			axis="posun wheel_2_3";
		};
		class Wheel_2_4_Damper: Wheel_1_1_Damper
		{
			selection="wheel_2_4_damper_land";
			axis="posun wheel_2_2";
		};
		class MainTurret
		{
			type="rotationY";
			source="mainTurret";
			selection="OtocVez";
			axis="OsaVeze";
			animPeriod=0;
			minValue="rad -360";
			maxValue="rad +360";
			angle0="rad -360";
			angle1="rad +360";
		};
		class MainGun: MainTurret
		{
			type="rotationX";
			source="mainGun";
			selection="OtocHlaven";
			axis="OsaHlavne";/*
			minValue="rad -10";
			maxValue="rad +90";
			angle0="rad -10";
			angle1="rad +60";*/
		};
		class ObsTurret
		{
			type="rotationY";
			source="obsTurret";
			selection="OtocVelitele";
			axis="OsaVelitele";
			animPeriod=0;
			minValue="rad -360";
			maxValue="rad +360";
			angle0="rad -360";
			angle1="rad +360";
		};
		class ObsGun: ObsTurret
		{
			type="rotationX";
			source="obsGun";
			selection="OtocHlavenVelitele";
			axis="OsaHlavneVelitele";
		};
		class HatchGunner
		{
			source="hatchGunner";
			type="rotation";
			selection="hatch_gunner";
			axis="hatch_gunner_axis";
			memory=1;
			animPeriod=0;
			angle0="rad 0";
			angle1="rad 135";
		};
		class HatchDriver: HatchGunner
		{
			source="hatchdriver";
			selection="hatch_driver";
			axis="hatch_driver_axis";
			angle1="rad 170";
		};
		class HatchCommander: HatchGunner
		{
			source="hatchCommander";
			selection="hatch_commander";
			axis="hatch_commander_axis";
			angle1="rad 135";
		};
		class recoil_BEGIN
		{
			type="translation";
			source="recoil_source";
			selection="RecoilHlaven";
			axis="RecoilHlaven_axis";
			memory=1;
			minValue=0.5;
			maxValue=0.80000001;
			offset0=0;
			offset1=-0.2;
		};
		class recoil_END: recoil_BEGIN
		{
			minValue=0.85000002;
			maxValue=1;
			offset0=0;
			offset1=0.2;
		};
		class front_panel
		{
			type="translation";
			source="front_panel_anim";
			animperiod=2;
			minvalue=0;
			maxvalue=1;
			offset0=0;
			offset1=0.8;
			selection="front_panel";
			axis="front_panel_axis";
		};
		class rotor1
		{
			type = "rotation";
			source = "propeller";
			selection = "rotor1";
			axis = "rotor1_axis";
			memory = 1;
			sourceAddress = "loop";
			minValue = -1.000000;
			maxValue = 1.000000;
			angle0 = (rad 0);
			angle1 = (rad +720);
		};
		class rotor2: rotor1
		{
			selection = "rotor2";
			axis = "rotor2_axis";
		};
	};
};
class LAV25A2: LAV25 
{
	skeletonName="LAV25A2Skeleton";
	sectionsInherit="LAV25";
	class Animations: Animations
	{
		class ComTurret
		{
			type="rotationY";
			source="ObsTurret";
			selection="Com_Gun_Base";
			axis="Com_Gun_Base";
			animPeriod=0;
			minValue="rad -360";
			maxValue="rad +360";
			angle0="rad -360";
			angle1="rad +360";
		};
		class ComGun: ComTurret
		{
			type="rotationX";
			source="ObsGun";
			selection="OtocHlaven2";
			axis="ComGunAxis";
		};
		class ammo_belt_rotation
		{
			type="rotation";
			selection="ammo_belt";
			source="ReloadAnim";
			axis="ammo_belt_axis";
			memory=1;
			sourceAddress="loop";
			minValue=0;
			maxValue=1;
			angle0=0;
			angle1="7.5*3.14159265358/180";
		};
		class feedtray_cover_up
		{
			type="rotation";
			source="reloadMagazine";
			selection="feedtray_cover";
			axis="feedtray_cover_axis";
			memory=1;
			minValue=0;
			maxValue=0.050000001;
			angle0=0;
			angle1=1.570796;
		};
		class feedtray_cover_down: feedtray_cover_up
		{
			minValue=0.94999999;
			maxValue=1;
			angle0=0;
			angle1=-1.570796;
		};
		class Turret_shake: ammo_belt_rotation
		{
			type="translation";
			sourceAddress="mirror";
			selection="OtocHlaven_Shake";
			axis="osaveze2";
			offset0=0;
			offset1=-0.0020000001;
			minValue=0;
			maxValue=0.050000001;
		};
		class Turret_shake_aside: Turret_shake
		{
			axis="osahlavne2";
			maxValue="0.05*1.3";
			offset0=0;
			offset1=-0.02;
		};
		class Magazine_hide
		{
			type="hide";
			source="reloadMagazine";
			sourceAddress="mirror";
			selection="magazine";
			minValue=0;
			maxValue=0.5;
			hideValue=0.56;
		};
		class Bullet001
		{
			type="hide";
			source="revolving";
			sourceAddress="mirror";
			selection="bullet001";
			minValue=-1;
			maxValue=0;
			hideValue="((100+001-8-2)/100)+0.00001";
		};
		class Bullet002
		{
			type="hide";
			source="revolving";
			sourceAddress="mirror";
			selection="bullet002";
			minValue=-1;
			maxValue=0;
			hideValue="((100+002-8-2)/100)+0.00001";
		};
		class Bullet003
		{
			type="hide";
			source="revolving";
			sourceAddress="mirror";
			selection="bullet003";
			minValue=-1;
			maxValue=0;
			hideValue="((100+003-8-2)/100)+0.00001";
		};
		class Bullet004
		{
			type="hide";
			source="revolving";
			sourceAddress="mirror";
			selection="bullet004";
			minValue=-1;
			maxValue=0;
			hideValue="((100+004-8-2)/100)+0.00001";
		};
		class Bullet005
		{
			type="hide";
			source="revolving";
			sourceAddress="mirror";
			selection="bullet005";
			minValue=-1;
			maxValue=0;
			hideValue="((100+005-8-2)/100)+0.00001";
		};
		class Bullet006
		{
			type="hide";
			source="revolving";
			sourceAddress="mirror";
			selection="bullet006";
			minValue=-1;
			maxValue=0;
			hideValue="((100+006-8-2)/100)+0.00001";
		};
		class Bullet007
		{
			type="hide";
			source="revolving";
			sourceAddress="mirror";
			selection="bullet007";
			minValue=-1;
			maxValue=0;
			hideValue="((100+007-8-2)/100)+0.00001";
		};
		class Bullet008
		{
			type="hide";
			source="revolving";
			sourceAddress="mirror";
			selection="bullet008";
			minValue=-1;
			maxValue=0;
			hideValue="((100+008-8-2)/100)+0.00001";
		};
		class Bolt_recoil
		{
			type="translation";
			selection="bolt";
			source="ReloadAnim";
			axis="recoil_axis";
			memory=1;
			sourceAddress="mirror";
			minValue=0;
			maxValue=0.44999999;
			offset0=0;
			offset1=-0.2;
		};
		class Bolt_reload_begin: Bolt_recoil
		{
			type="translation";
			sourceAddress="clamp";
			source="reloadMagazine";
			minValue=0;
			maxValue=0.02;
		};
		class Bolt_reload_end: Bolt_reload_begin
		{
			minValue=0.050000001;
			maxValue=0.059999999;
			offset0=0;
			offset1=0.2;
		};
	};
};
class lav_hq: LAV25
{
	skeletonName="LAV_HQSkeleton";
	sectionsInherit="LAV25";
	sections[]=
	{
		"Camo3",
		"zasleh"
	};
	class Animations: Animations
	{/*
		class HatchGunner
		{
			source="hatchGunner";
			type="rotation";
			selection="hatch_gunner";
			axis="hatch_gunner_axis";
			memory=1;
			animPeriod=0;
			angle0="rad 137";
			angle1="rad 0";
		};*/
		class antena1
		{
			type="translation";
			source="antena1";
			selection="antena1";
			axis="antena_axis";
			minValue=0;
			maxValue="0.33*7";
			offset0=-0.80000001;
			offset1=0;
		};
		class antena2: antena1
		{
			selection="antena2";
			axis="antena_axis";
			source="antena2";
			minValue="0.33*7";
			maxValue="0.66*7";
			offset0=-1;
			offset1=0;
		};
		class antena3: antena1
		{
			selection="antena3";
			axis="antena_axis";
			minValue="0.66*7";
			source="antena3";
			maxValue="1.0*7";
			offset0=-1;
			offset1=0;
		};
		class ammo_belt_rotation
		{
			type="rotation";
			selection="ammo_belt";
			source="ReloadAnim";
			axis="ammo_belt_axis";
			memory=1;
			sourceAddress="loop";
			minValue=0;
			maxValue=1;
			angle0=0;
			angle1="7.5*3.14159265358/180";
		};
		class feedtray_cover_up
		{
			type="rotation";
			source="reloadMagazine";
			selection="feedtray_cover";
			axis="feedtray_cover_axis";
			memory=1;
			minValue=0;
			maxValue=0.050000001;
			angle0=0;
			angle1=1.570796;
		};
		class feedtray_cover_down: feedtray_cover_up
		{
			minValue=0.94999999;
			maxValue=1;
			angle0=0;
			angle1=-1.570796;
		};
		class Turret_shake: ammo_belt_rotation
		{
			type="translation";
			sourceAddress="mirror";
			selection="OtocHlaven_Shake";
			axis="osaveze";
			offset0=0;
			offset1=-0.0020000001;
			minValue=0;
			maxValue=0.050000001;
		};
		class Turret_shake_aside: Turret_shake
		{
			axis="osahlavne";
			maxValue="0.05*1.3";
			offset0=0;
			offset1=-0.02;
		};
		class Magazine_hide
		{
			type="hide";
			source="reloadMagazine";
			sourceAddress="mirror";
			selection="magazine";
			minValue=0;
			maxValue=0.5;
			hideValue=0.56;
		};
		class Bullet001
		{
			type="hide";
			source="revolving";
			sourceAddress="mirror";
			selection="bullet001";
			minValue=-1;
			maxValue=0;
			hideValue="((100+001-8-2)/100)+0.00001";
		};
		class Bullet002
		{
			type="hide";
			source="revolving";
			sourceAddress="mirror";
			selection="bullet002";
			minValue=-1;
			maxValue=0;
			hideValue="((100+002-8-2)/100)+0.00001";
		};
		class Bullet003
		{
			type="hide";
			source="revolving";
			sourceAddress="mirror";
			selection="bullet003";
			minValue=-1;
			maxValue=0;
			hideValue="((100+003-8-2)/100)+0.00001";
		};
		class Bullet004
		{
			type="hide";
			source="revolving";
			sourceAddress="mirror";
			selection="bullet004";
			minValue=-1;
			maxValue=0;
			hideValue="((100+004-8-2)/100)+0.00001";
		};
		class Bullet005
		{
			type="hide";
			source="revolving";
			sourceAddress="mirror";
			selection="bullet005";
			minValue=-1;
			maxValue=0;
			hideValue="((100+005-8-2)/100)+0.00001";
		};
		class Bullet006
		{
			type="hide";
			source="revolving";
			sourceAddress="mirror";
			selection="bullet006";
			minValue=-1;
			maxValue=0;
			hideValue="((100+006-8-2)/100)+0.00001";
		};
		class Bullet007
		{
			type="hide";
			source="revolving";
			sourceAddress="mirror";
			selection="bullet007";
			minValue=-1;
			maxValue=0;
			hideValue="((100+007-8-2)/100)+0.00001";
		};
		class Bullet008
		{
			type="hide";
			source="revolving";
			sourceAddress="mirror";
			selection="bullet008";
			minValue=-1;
			maxValue=0;
			hideValue="((100+008-8-2)/100)+0.00001";
		};
		class Bolt_recoil
		{
			type="translation";
			selection="bolt";
			source="ReloadAnim";
			axis="recoil_axis";
			memory=1;
			sourceAddress="mirror";
			minValue=0;
			maxValue=0.44999999;
			offset0=0;
			offset1=-0.2;
		};
		class Bolt_reload_begin: Bolt_recoil
		{
			type="translation";
			sourceAddress="clamp";
			source="reloadMagazine";
			minValue=0;
			maxValue=0.02;
		};
		class Bolt_reload_end: Bolt_reload_begin
		{
			minValue=0.050000001;
			maxValue=0.059999999;
			offset0=0;
			offset1=0.2;
		};
	};
};
};

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
Sign in to follow this  

×