Jump to content
Sign in to follow this  
Richards.D

A3 Medium Tactical Vehicle Replacement (MTVR) Mod Release

Recommended Posts

Kescke... thank you lol, I'll fix the proxy. Also, I'll toss up my config. It is from HAFM's HMMWV's, well it was, but It doesn't seem to show any OPFOR things..

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 "basicdefines_A3.hpp"

class DefaultEventhandlers;	// External class reference

class CfgPatches {
class DAR_MTVR {
	units[] = {DAR_MK23A, DAR_MK27, DAR_MK27T, DAR_4x4};
	weapons[] = {};
	requiredVersion = 0.1;
	requiredAddons[] = {"A3_Soft_F"};
};
};

class CfgVehicleClasses {
class DARMil_Vehicles {
	displayName = "DAR MTVR";
};
};

class WeaponFireGun;	
class WeaponCloudsGun;	
class WeaponFireMGun;	
class WeaponCloudsMGun;	
class RCWSOptics;	


class CfgVehicles {
class LandVehicle;

class Car : LandVehicle {
	class NewTurret;	
};

class Car_F : Car {
	class AnimationSources;	

	class Turrets {
		class MainTurret : NewTurret {};
		class ViewOptics;
	};

	class HitPoints {
		class HitLFWheel;	
		class HitLF2Wheel;	
		class HitRFWheel;	
		class HitRF2Wheel;	
		class HitGlass1;	
		class HitGlass2;	
		class HitGlass3;	
		class HitGlass4;	
		class HitGlass5;	
		class HitGlass6;	
	};
};

class DAR_MTVRBase : Car_F {
	class SpeechVariants {
		class Default {
			speechSingular[] = {"veh_vehicle_armedcar_s"};
			speechPlural[] = {"veh_vehicle_armedcar_p"};
		};
	};
	textSingular = "$STR_A3_nameSound_veh_vehicle_armedcar_s";
	textPlural = "$STR_A3_nameSound_veh_vehicle_armedcar_p";
	nameSound = "veh_vehicle_armedcar_s";
	author = "Richards.D, Bohemia Interactive";
	_generalMacro = "";
	scope = 0; 
	Model = "\DAR_MTVR\DAR_MK23A.p3d";
	picture = "\DAR_MTVR\Data\UI\icon_mtvr_ca.paa";
	Icon = "\DAR_MTVR\Data\UI\picture_mtvr_ca.paa";
	mapSize = 6;
	displayName = MTVR Base;
	vehicleClass = "DARMil_Vehicles";
	crew = "B_Soldier_F";
	typicalCargo[] = {"B_Soldier_F", "B_Soldier_F", "B_Soldier_F", "B_Soldier_F"};
	side = TWest;
	faction = BLU_F;
	wheelCircumference = 4.08407044; 	
	antiRollbarForceCoef = 1.5;
	antiRollbarForceLimit = 4;
	antiRollbarSpeedMin = 0;
	antiRollbarSpeedMax = 20;
	crewVulnerable = true;
	crewCrashProtection = 0.8;
	weapons[] = {"TruckHorn2"};
	magazines[] = {};
	damperSize = 0.2;	// max. damper amplitude
	damperForce = 1;	// larger number more stiffness dampers
	damperDamping = 1;	// larger number less movement in dampers
	armor = 80;
	damageResistance = 0.05;
	turnCoef = 3;
	steerAheadPlan = 0.2;
	steerAheadSimul = 0.4;
	predictTurnPlan = 0.9;
	predictTurnSimul = 0.5;
	brakeDistance = 1.0;	// vehicle movement precision
	terrainCoef = 1.5;
	wheelDamageThreshold = 0.9;
	wheelDestroyThreshold = 0.99;
	wheelDamageRadiusCoef = 0.95;
	wheelDestroyRadiusCoef = 0.45;
	cost = 200000;
	precision = 15;
	armorGlass = 0.9;
	armorWheels = 0.8;
	soundServo[] = {"A3\sounds_f\dummysound", db-40, 1.0, 10};
	soundEnviron[] = {"", 0.562341, 1};
	transportMaxBackpacks = 50;
	transportSoldier = 13;

	class Library {
		libTextDesc = "DAR MTVRs";
	};
	castDriverShadow = "false";
	driverAction = "driver_offroad01";
	cargoAction[] = {"passenger_low01", "passenger_generic01_leanright", "passenger_generic01_foldhands", "passenger_generic01_foldhands", "passenger_generic01_foldhands"};

	// threat (VSoft, VArmor, VAir), how threatening vehicle is to unit types
	threat[] = {0.8, 0.6, 0.3};

	driverLeftHandAnimName = "drivewheel";
	driverRightHandAnimName = "drivewheel";

	class TransportMagazines {};

	class TransportItems {};

	class TransportWeapons {};

	idleRpm = 800;
	redRpm = 4500;
	brakeIdleSpeed = 1.78;
	fuelCapacity = 250;

	class complexGearbox {
		GearboxRatios[] = {"R1", -5.75, "N", 0, "D1", 4.3, "D2", 2.3, "D3", 1.5, "D4", 1.0, "D5", 0.73};
		TransmissionRatios[] = {"High", 6.759};
		gearBoxMode = "auto";
		moveOffGear = 1;
		driveString = "D";
		neutralString = "N";
		reverseString = "R";
	};
	simulation = "carx";
	dampersBumpCoef = 6.0;
	differentialType = "all_limited";
	frontRearSplit = 0.5;
	frontBias = 1.3;
	rearBias = 1.3;
	centreBias = 1.3;
	clutchStrength = 55.0;
	enginePower = 440;
	maxOmega = 219.91;
	peakTorque = 1253;
	dampingRateFullThrottle = 0.08;
	dampingRateZeroThrottleClutchEngaged = 2.0;
	dampingRateZeroThrottleClutchDisengaged = 0.35;
	torqueCurve[] = {{0.0, 0.0}, {0.278, 0.5}, {0.35, 0.75}, {0.461, 1.0}, {0.6, 0.95}, {0.7, 0.85}, {0.8, 0.75}, {1.0, 0.5}};
	changeGearMinEffectivity[] = {0.95, 0.15, 0.95, 0.95, 0.95, 0.95, 0.95};
	switchTime = 0.31;
	latency = 1.0;

	class Wheels
	{
		class LF
		{
			boneName = "wheel_1_1_damper";
			steering = 1;
			side = "left";
			center   = "wheel_1_1_axis";
			boundary = "wheel_1_1_bound";
			mass = 20;
			MOI = 120;
			dampingRate = 0.1;
			maxBrakeTorque = 6000;
			maxHandBrakeTorque = 0;
			suspTravelDirection[] = {0, -1, 0};
			suspForceAppPointOffset = "wheel_1_1_axis";
			tireForceAppPointOffset = "wheel_1_1_axis";
			maxCompression = 0.15;
			mMaxDroop = 0.15;
			sprungMass = 550;
			springStrength = 90875;
			springDamperRate = 20740;
			longitudinalStiffnessPerUnitGravity = 8700;
			latStiffX = 35;
			latStiffY = 180;
			frictionVsSlipGraph[] = {{0.17, 0.85}, {0.4, 0.65}, {1, 0.4}};
		};
		class LR : LF
		{
			boneName = "wheel_1_2_damper";
			steering = 0;
			center   = "wheel_1_2_axis";
			boundary = "wheel_1_2_bound";
			suspForceAppPointOffset = "wheel_1_2_axis";
			tireForceAppPointOffset = "wheel_1_2_axis";
			maxHandBrakeTorque = 3000;
			latStiffY = 180;	
			sprungMass = 550;
			springStrength = 90875;
			springDamperRate = 20740;				
		};
		class RF : LF
		{
			boneName = "wheel_2_1_damper";
			center   = "wheel_2_1_axis";
			boundary = "wheel_2_1_bound";
			suspForceAppPointOffset = "wheel_2_1_axis";
			tireForceAppPointOffset = "wheel_2_1_axis";
			steering = 1;
			side = "right";
		};
		class RR : RF
		{
			boneName = "wheel_2_2_damper";
			steering = 0;
			center   = "wheel_2_2_axis";
			boundary = "wheel_2_2_bound";
			suspForceAppPointOffset = "wheel_2_2_axis";
			tireForceAppPointOffset = "wheel_2_2_axis";
			maxHandBrakeTorque = 3000;
			latStiffY = 180;	
			sprungMass = 550;
			springStrength = 90875;
			springDamperRate = 20740;			
		};

		class RR1 : RR
		{
			boneName = "wheel_2_3_damper";
			steering = 0;
			center   = "wheel_2_3_axis";
			boundary = "wheel_2_3_bound";
			suspForceAppPointOffset = "wheel_2_3_axis";
			tireForceAppPointOffset = "wheel_2_3_axis";
			maxHandBrakeTorque = 3000;
			latStiffY = 180;	
			sprungMass = 550;
			springStrength = 90875;
			springDamperRate = 20740;			
		};

		class LR1 : LR
		{
			boneName = "wheel_1_3_damper";
			steering = 0;
			center   = "wheel_1_3_axis";
			boundary = "wheel_1_3_bound";
			suspForceAppPointOffset = "wheel_1_3_axis";
			tireForceAppPointOffset = "wheel_1_3_axis";
			maxHandBrakeTorque = 3000;
			latStiffY = 180;	
			sprungMass = 550;
			springStrength = 90875;
			springDamperRate = 20740;			
		};
	};
	attenuationEffectType = "CarAttenuation"; //utlumovani v interieru (odkaz do Attenuation.hpp ve slozce SOUNDS_F

	soundGetIn[]={"DAR_MTVR\Sounds\ext-mtvr-getin",db-5,1};
	soundGetOut[]={"DAR_MTVR\Sounds\ext-mtvr-getout",db-5,1, 40};
	soundDammage[]={"", db-5, 1};
	soundEngineOnInt[] = {"DAR_MTVR\Sounds\int-mtvr-start", db-8, 1.0};
	soundEngineOnExt[] = {"DAR_MTVR\Sounds\ext-mtvr-start1", db-7, 1.0, 200};
	soundEngineOffInt[] = {"DAR_MTVR\Sounds\int-mtvr-stop", db-8, 1.0};
	soundEngineOffExt[] = {"DAR_MTVR\Sounds\ext-mtvr-stop", db-7, 1.0, 200};

	/* ---- CRASHES START ---- */

	buildCrash0[]={"A3\Sounds_F\vehicles\soft\noises\crash_building_01", db-3, 1,200};
	buildCrash1[]={"A3\Sounds_F\vehicles\soft\noises\crash_building_02", db-3, 1,200};
		buildCrash2[]={"A3\Sounds_F\vehicles\soft\noises\crash_building_03", db-3, 1,200};
		buildCrash3[]={"A3\Sounds_F\vehicles\soft\noises\crash_building_04", db-3, 1,200};
		soundBuildingCrash[]={buildCrash0, 0.25, buildCrash1, 0.25, buildCrash2, 0.25, buildCrash3, 0.25};

	WoodCrash0[]={"A3\Sounds_F\vehicles\soft\noises\crash_mix_wood_01", db-3, 1,200};
	WoodCrash1[]={"A3\Sounds_F\vehicles\soft\noises\crash_mix_wood_02", db-3, 1,200};
	WoodCrash2[]={"A3\Sounds_F\vehicles\soft\noises\crash_mix_wood_03", db-3, 1,200};
	WoodCrash3[]={"A3\Sounds_F\vehicles\soft\noises\crash_mix_wood_04", db-3, 1,200};
	WoodCrash4[]={"A3\Sounds_F\vehicles\soft\noises\crash_mix_wood_05", db-3, 1,200};
	WoodCrash5[]={"A3\Sounds_F\vehicles\soft\noises\crash_mix_wood_06", db-3, 1,200};
	soundWoodCrash[]={woodCrash0, 0.166, woodCrash1, 0.166, woodCrash2, 0.166, woodCrash3, 0.166,woodCrash4, 0.166,woodCrash5, 0.166};

	ArmorCrash0[]={"A3\Sounds_F\vehicles\soft\noises\crash_vehicle_01", db-3, 1,200};
	ArmorCrash1[]={"A3\Sounds_F\vehicles\soft\noises\crash_vehicle_02", db-3, 1,200};
	ArmorCrash2[]={"A3\Sounds_F\vehicles\soft\noises\crash_vehicle_03", db-3, 1,200};
	ArmorCrash3[]={"A3\Sounds_F\vehicles\soft\noises\crash_vehicle_04", db-3, 1,200};
	soundArmorCrash[]={ArmorCrash0, 0.25, ArmorCrash1, 0.25, ArmorCrash2, 0.25, ArmorCrash3, 0.25};

	/* ---- CRASHES  END ---- */

class	Sounds
{

	// warp	factor
	#define	FACTOR(val,from,to)	(val factor[from,to])
	// RANGE(val,	begin, band, end,	band)
	#define	RANGE(val,from,band0,to,band1) FACTOR2(val,from,(from+band0),to,(to+band1))
	// FACTOR2(val,	0, 400,	1200,	2000)
	#define	FACTOR2(val,from0,to0,from1,to1) (FACTOR(val,from0,to0)	*	FACTOR(val,to1,from1))

	// redRpm
	#define	MAX_RPM	6900
	// scaled	rpm	to 0 - 1
	#define	RPM(rpm) (rpm/MAX_RPM)

	// specialized FACTOR	for	rpm
	#define	FACTOR_RPM(from,to)	FACTOR(RPM(rpm),RPM(from),RPM(to))
	// specialized peak	for	rpm
	#define	FACTOR2_RPM(from0,to0,from1,to1) (FACTOR_RPM(from0,to0)	*	FACTOR_RPM(to1,from1))
	// specialized peak, different definition, version for rpm
	#define	RANGE_RPM(from,band0,to,band1) FACTOR2_RPM(from,(from+band0),to,(to+band1))


	#define HZ_IDLE FACTOR_RPM(400,1150)
	#define HZ_RPM1 FACTOR_RPM(900,2100)
	#define HZ_RPM2	FACTOR_RPM(1300,3100)
	#define HZ_RPM3 FACTOR_RPM(2200,4100)
	#define HZ_RPM4 FACTOR_RPM(3300,4900)
	#define HZ_RPM5 FACTOR_RPM(4200,6200)
	#define HZ_RPM6 FACTOR_RPM(5100,6900)

	#define VOLUME_IDLE FACTOR2_RPM(400,700,900,1100)
	#define VOLUME_RPM1 FACTOR2_RPM(870,1100,1300,2100)
	#define VOLUME_RPM2 FACTOR2_RPM(1250,2050,2300,3100)
	#define VOLUME_RPM3 FACTOR2_RPM(2250,3050,3300,4100)
	#define VOLUME_RPM4 FACTOR2_RPM(3250,4050,4200,4870)
	#define VOLUME_RPM5 FACTOR2_RPM(4150,4800,5150,6150)
	#define VOLUME_RPM6 FACTOR_RPM(5100,6100)



	class	Idle_ext
	{
		sound[]	=	{"DAR_MTVR\Sounds\ext-mtvr-idle", db-13,	1, 150};
		frequency	=	0.9	+	HZ_IDLE*0.2;
		volume = engineOn*camPos*VOLUME_IDLE;
	};
	class	Engine
	{
		sound[]	=	{"DAR_MTVR\Sounds\ext-truck-low2",	db-11,1, 200};
		frequency	=	0.8	+	HZ_RPM1*0.2;
		volume = engineOn*camPos*VOLUME_RPM1;
	};
	class	Engine1_ext
	{
		sound[]	=	{"DAR_MTVR\Sounds\ext-truck-low2",	db-9,1, 240};
		frequency	=	0.8	+	HZ_RPM2*0.2;
		volume = engineOn*camPos*VOLUME_RPM2;
	};
	class	Engine2_ext
	{
		sound[]	=	{"DAR_MTVR\Sounds\ext-truck-low2",	db-8,1, 280};
		frequency	=	0.8	+	HZ_RPM3*0.2;
		volume = engineOn*camPos*VOLUME_RPM3;
	};
	class	Engine3_ext
	{
		sound[]	=	{"DAR_MTVR\Sounds\ext-truck-high",	db-7,1, 320};
		frequency	=	0.8	+	HZ_RPM4*0.2;
		volume = engineOn*camPos*VOLUME_RPM4;
	};
	class	Engine4_ext
	{
		sound[]	=	{"DAR_MTVR\Sounds\ext-truck-high",	db-6,1, 360};
		frequency	=	0.8	+	HZ_RPM5*0.2;
		volume = engineOn*camPos*VOLUME_RPM5;
	};
	class	Engine5_ext
	{
		sound[]	=	{"DAR_MTVR\Sounds\ext-truck-high",	db-5,1, 420};
		frequency	=	0.95	+	HZ_RPM6*0.15;
		volume = engineOn*camPos*VOLUME_RPM6;
	};


  class IdleThrust
  {
	sound[] = {"A3\Sounds_F\vehicles\soft\Hatchback_01\Hatchback_01_ext_idle_exhaust", db-6,1, 200};
		frequency	=	0.9	+	HZ_IDLE*0.2;
		volume = engineOn*camPos*(0.4+(0.6*FACTOR(thrust,0.1,1)))*VOLUME_IDLE;
  };
  class EngineThrust
  {
	sound[] = {"A3\Sounds_F\vehicles\soft\Hatchback_01\Hatchback_01_ext_1400rpm_exhaust", db-5,1, 250};
		frequency	=	0.8	+	HZ_RPM1*0.2;
		volume = engineOn*camPos*(0.4+(0.6*FACTOR(thrust,0.1,1)))*VOLUME_RPM1;
  };
  class Engine1_Thrust_ext
  {
	sound[] = {"A3\Sounds_F\vehicles\soft\Hatchback_01\Hatchback_01_ext_2000rpm_exhaust", db-4,1, 280};
		frequency	=	0.8	+	HZ_RPM2*0.2;
		volume = engineOn*camPos*(0.4+(0.6*FACTOR(thrust,0.1,1)))*VOLUME_RPM2;
  };
  class Engine2_Thrust_ext
  {
	sound[] = {"A3\Sounds_F\vehicles\soft\Hatchback_01\Hatchback_01_ext_2600rpm_exhaust", db-3,1, 320};
		frequency	=	0.8	+	HZ_RPM3*0.2;
		volume = engineOn*camPos*(0.4+(0.6*FACTOR(thrust,0.1,1)))*VOLUME_RPM3;
  };
  class Engine3_Thrust_ext
  {
	sound[] = {"A3\Sounds_F\vehicles\soft\Hatchback_01\Hatchback_01_ext_3200rpm_exhaust", db-2,1, 360};
		frequency	=	0.8	+	HZ_RPM4*0.2;
		volume = engineOn*camPos*(0.4+(0.6*FACTOR(thrust,0.1,1)))*VOLUME_RPM4;
  };
  class Engine4_Thrust_ext
  {
	sound[] = {"A3\Sounds_F\vehicles\soft\Hatchback_01\Hatchback_01_ext_3600rpm_exhaust", db0,1, 400};
		frequency	=	0.8	+	HZ_RPM5*0.3;
		volume = engineOn*camPos*(0.4+(0.6*FACTOR(thrust,0.1,1)))*VOLUME_RPM5;
  };
  class Engine5_Thrust_ext
  {
	sound[] = {"A3\Sounds_F\vehicles\soft\Hatchback_01\Hatchback_01_ext_4000rpm_exhaust", db2,1, 450};
		frequency	=	0.9	+	HZ_RPM6*0.2;
		volume = engineOn*camPos*(0.4+(0.6*FACTOR(thrust,0.1,1)))*VOLUME_RPM6;
  };  

	class	Idle_int
	{
		sound[]	=	{"DAR_MTVR\Sounds\int-mtvr-idle1", db-15,	1};
		frequency	=	0.9	+	HZ_IDLE*0.2;
		volume = engineOn*(1-camPos)*VOLUME_IDLE;
	};
	class	Engine_int
	{
		sound[]	=	{"DAR_MTVR\Sounds\int-mtvr-low",	db-14,1 };
		frequency	=	0.8	+	HZ_RPM1*0.2;
		volume = engineOn*(1-camPos)*VOLUME_RPM1;
	};
	class	Engine1_int
	{
		sound[]	=	{"DAR_MTVR\Sounds\int-mtvr-low",	db-12,1 };
		frequency	=	0.8	+	HZ_RPM2*0.2;
		volume = engineOn*(1-camPos)*VOLUME_RPM2;
	};
	class	Engine2_int
	{
		sound[]	=	{"DAR_MTVR\Sounds\int-mtvr-low2",	db-11,1 };
		frequency	=	0.8	+	HZ_RPM3*0.2;
		volume = engineOn*(1-camPos)*VOLUME_RPM3;
	};
	class	Engine3_int
	{
		sound[]	=	{"DAR_MTVR\Sounds\int-truck-low2",	db-10,1 };
		frequency	=	0.8	+	HZ_RPM4*0.2;
		volume = engineOn*(1-camPos)*VOLUME_RPM4;
	};
	class	Engine4_int
	{
		sound[]	=	{"DAR_MTVR\Sounds\int-truck-high1",	db-9,1 };
		frequency	=	0.8	+	HZ_RPM5*0.2;
		volume = engineOn*(1-camPos)*VOLUME_RPM5;
	};
	class	Engine5_int
	{
		sound[]	=	{"DAR_MTVR\Sounds\int-truck-high2",	db-6,1 };
		frequency	=	0.95	+	HZ_RPM6*0.15;
		volume = engineOn*(1-camPos)*VOLUME_RPM6;
	};

	class IdleThrust_int 
	{
	sound[] = {"A3\Sounds_F\vehicles\soft\MRAP_01\MRAP_01_int_exhaust_idle", db-9, 1};
	frequency = "0.95 + ((rpm/ 4500) factor[(800/ 4500),(1400/ 4500)])*0.15";
	volume = "engineOn*(1-camPos)*(0.4+(0.6*(thrust factor[0.1,1])))*(((rpm/ 4500) factor[(600/ 4500),(1100/ 4500)]) * ((rpm/ 4500) factor[(1800/ 4500),(1300/ 4500)]))";
	};

	class EngineThrust_int 
	{
	sound[] = {"A3\Sounds_F\vehicles\soft\MRAP_01\MRAP_01_int_exhaust_low1", db-7, 1};
	frequency = "0.9 + ((rpm/ 4500) factor[(1400/ 4500),(2100/ 4500)])*0.2";
	volume = "engineOn*(1-camPos)*(0.4+(0.6*(thrust factor[0.1,1])))*(((rpm/ 4500) factor[(1400/ 4500),(1800/ 4500)]) * ((rpm/ 4500) factor[(2300/ 4500),(2000/ 4500)]))";
	};

	class Engine1_Thrust_int 
	{
	sound[] = {"A3\Sounds_F\vehicles\soft\MRAP_01\MRAP_01_int_exhaust_low2", 0.562341, 1};
	frequency = "0.9 +  ((rpm/ 4500) factor[(2100/ 4500),(2800/ 4500)])*0.2";
	volume = "engineOn*(1-camPos)*(0.4+(0.6*(thrust factor[0.1,1])))*(((rpm/ 4500) factor[(1900/ 4500),(2300/ 4500)]) * ((rpm/ 4500) factor[(3000/ 4500),(2500/ 4500)]))";
	};

	class Engine2_Thrust_int 
	{
	sound[] = {"A3\Sounds_F\vehicles\soft\MRAP_01\MRAP_01_int_exhaust_mid", db-3, 1};
	frequency = "0.9 + ((rpm/ 4500) factor[(2800/ 4500),(3600/ 4500)])*0.2";
	volume = "engineOn*(1-camPos)*(0.4+(0.6*(thrust factor[0.1,1])))*(((rpm/ 4500) factor[(2500/ 4500),(3100/ 4500)]) * ((rpm/ 4500) factor[(4500/ 4500),(3700/ 4500)]))";
	};

	class Engine3_Thrust_int 
	{
	sound[] = {"A3\Sounds_F\vehicles\soft\MRAP_01\MRAP_01_int_exhaust_high", db-2, 1};
	frequency = "0.95 + ((rpm/ 4500) factor[(3600/ 4500),(4500/ 4500)])*0.1";
	volume = "engineOn*(1-camPos)*(0.4+(0.6*(thrust factor[0.1,1])))*((rpm/ 4500) factor[(3800/ 4500),(4500/ 4500)])";
	};
	class	Movement
	{
		sound	=	"soundEnviron";
		frequency	=	"1";
		volume = "0";
	};

			class TiresRockOut
			{
				sound[] = {"A3\Sounds_F\vehicles\soft\tires\ext_tires_dirt_soft_1", db-6, 1.0, 60};
				frequency = "1";
				volume = "camPos*rock*(speed factor[2, 20])";
			};
			class TiresSandOut
			{
				sound[] = {"A3\Sounds_F\vehicles\soft\tires\ext-tires-sand1", db-6, 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", db-6, 1.0, 60};
				frequency = "1";
				volume = "camPos*grass*(speed factor[2, 20])";
			};
			class TiresMudOut
			{
				sound[] = {"A3\Sounds_F\vehicles\soft\tires\ext-tires-mud2", db-6, 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", db-6, 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", db-6, 1.0, 60};
				frequency = "1";
				volume = "camPos*asphalt*(speed factor[2, 20])";
			};
			class NoiseOut
			{
				sound[] = {"A3\Sounds_F\vehicles\soft\noises\noise_ext_car_3", db-8, 1.0, 90};
				frequency = "1";
				volume = "camPos*(damper0 max 0.02)*(speed factor[0, 8])";
			};

			class TiresRockIn
			{
				sound[] = {"A3\Sounds_F\vehicles\soft\tires\int_tires_dirt_soft_1", db-6, 1.0};
				frequency = "1";
				volume = "(1-camPos)*rock*(speed factor[2, 20])";
			};
			class TiresSandIn
			{
				sound[] = {"A3\Sounds_F\vehicles\soft\tires\int-tires-sand2", db-6, 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", db-6, 1.0};
				frequency = "1";
				volume = "(1-camPos)*grass*(speed factor[2, 20])";
			};
			class TiresMudIn
			{
				sound[] = {"A3\Sounds_F\vehicles\soft\tires\int-tires-mud2", db-6, 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", db-6, 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", db-6, 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", db-12, 1.0};
				frequency = "1";
				volume = "(damper0 max 0.1)*(speed factor[0, 8])*(1-camPos)"; //definice INSIDE zvuku
			};

		class breaking_ext_road
	{
		sound[]	=	{"A3\Sounds_F\vehicles\soft\noises\slipping_tires_loop_04", db-3, 1, 80};
		frequency	=	1;
		volume = engineOn*camPos*asphalt*(LongSlipDrive Factor[-0.1, -0.4])*(Speed Factor[2, 15]);
	};	

		class acceleration_ext_road
	{
		sound[]	=	{"A3\Sounds_F\vehicles\soft\noises\slipping_tires_loop_02", db-3, 1, 80};
		frequency	=	1;
		volume = engineOn*camPos*asphalt*(LongSlipDrive Factor[0.1, 0.4])*(Speed Factor[15, 2]);
	};	
		class turn_left_ext_road
	{
		sound[]	=	{"A3\Sounds_F\vehicles\soft\noises\slipping_tires_loop_02", db-3, 1, 80};
		frequency	=	1;
		volume = engineOn*camPos*asphalt*(latSlipDrive Factor[0.1, 0.4])*(Speed Factor[2, 15]);
	};	

		class turn_right_ext_road
	{
		sound[]	=	{"A3\Sounds_F\vehicles\soft\noises\slipping_tires_loop_02", db-3, 1, 80};
		frequency	=	1;
		volume = engineOn*camPos*asphalt*(latSlipDrive Factor[-0.1, -0.4])*(Speed Factor[2, 15]);
	};	

		class breaking_ext_dirt
	{
		sound[]	=	{"A3\Sounds_F\vehicles\soft\noises\slipping_tires_14_dirt_breaking", db-3, 1, 60};
		frequency	=	1;
		volume = engineOn*camPos*(1-asphalt)*(LongSlipDrive Factor[-0.1, -0.4])*(Speed Factor[1, 15]);
	};	
		class acceleration_ext_dirt
	{
		sound[]	=	{"A3\Sounds_F\vehicles\soft\noises\slipping_tires_16_dirt_acceleration", db-3,	1, 60};
		frequency	=	1;
		volume = engineOn*camPos*(1-asphalt)*(LongSlipDrive Factor[0.1, 0.4])*(Speed Factor[15, 1]);
	};	
		class turn_left_ext_dirt
	{
		sound[]	=	{"A3\Sounds_F\vehicles\soft\noises\slipping_tires_18_dirt", db-3, 1, 60};
		frequency	=	1;
		volume = engineOn*camPos*(1-asphalt)*(latSlipDrive Factor[0.1, 0.4])*(Speed Factor[1, 15]);
	};	

		class turn_right_ext_dirt
	{
		sound[]	=	{"A3\Sounds_F\vehicles\soft\noises\slipping_tires_18_dirt", db-3, 1, 60};
		frequency	=	1;
		volume = engineOn*camPos*(1-asphalt)*(latSlipDrive Factor[-0.1, -0.4])*(Speed Factor[1, 15]);
	};	

		class breaking_int_road
	{
		sound[]	=	{"A3\Sounds_F\vehicles\soft\noises\slipping_tires_loop_04_int", db-10, 1};
		frequency	=	1;
		volume = engineOn*asphalt*(1-camPos)*(LongSlipDrive Factor[-0.1, -0.4])*(Speed Factor[2, 15]);
	};	

		class acceleration_int_road
	{
		sound[]	=	{"A3\Sounds_F\vehicles\soft\noises\slipping_tires_loop_02_int", db-10, 1};
		frequency	=	1;
		volume = engineOn*asphalt*(1-camPos)*(LongSlipDrive Factor[0.1, 0.4])*(Speed Factor[15, 2]);
	};	
		class turn_left_int_road
	{
		sound[]	=	{"A3\Sounds_F\vehicles\soft\noises\slipping_tires_loop_02_int", db-10, 1};
		frequency	=	1;
		volume = engineOn*asphalt*(1-camPos)*(latSlipDrive Factor[0.1, 0.4])*(Speed Factor[2, 15]);
	};	
		class turn_right_int_road
	{
		sound[]	=	{"A3\Sounds_F\vehicles\soft\noises\slipping_tires_loop_02_int", db-10, 1};
		frequency	=	1;
		volume = engineOn*asphalt*(1-camPos)*(latSlipDrive Factor[-0.1, -0.4])*(Speed Factor[2, 15]);
	};	

	/*--------------------------------------------------------------------------------------------*/	
	/*-------------- ozvuceni piskani pneumatik na ostatnich povrsich INT -------------*/
	/*--------------------------------------------------------------------------------------------*/	
		class breaking_int_dirt
	{
		sound[]	=	{"A3\Sounds_F\vehicles\soft\noises\slipping_tires_14_dirt_breaking_int", db-10, 1};
		frequency	=	1;
		volume = engineOn*(1-asphalt)*(1-camPos)*(LongSlipDrive Factor[-01, -0.4])*(Speed Factor[2, 15]);
	};	
		class acceleration_int_dirt
	{
		sound[]	=	{"A3\Sounds_F\vehicles\soft\noises\slipping_tires_16_dirt_acceleration_int", db-10, 1};
		frequency	=	1;
		volume = engineOn*(1-asphalt)*(1-camPos)*(LongSlipDrive Factor[0.1, 0.4])*(Speed Factor[15, 2]);
	};	
		class turn_left_int_dirt
	{
		sound[]	=	{"A3\Sounds_F\vehicles\soft\noises\slipping_tires_18_dirt_int", db-10,	1};
		frequency	=	1;
		volume = engineOn*(1-asphalt)*(1-camPos)*(latSlipDrive Factor[0.1, 0.4])*(Speed Factor[2, 15]);
	};	
		class turn_right_int_dirt
	{
		sound[]	=	{"A3\Sounds_F\vehicles\soft\noises\slipping_tires_18_dirt_int", db-10,	1};
		frequency	=	1;
		volume = engineOn*(1-asphalt)*(1-camPos)*(latSlipDrive Factor[-0.1, -0.4])*(Speed Factor[2, 15]);
	};
};


	class Exhausts {
		class Exhaust1 {
			position = "vyfuk start";
			direction = "vyfuk konec";
			effect = "ExhaustEffectOffroad";
		};
	};

	class Turrets : Turrets {
		class MainTurret : MainTurret {
			body = "mainTurret";
			gun = "mainGun";
			hasGunner = true;
			weapons[] = {HMG_M2};
			magazines[] = {"100Rnd_127x99_mag_Tracer_Yellow", "100Rnd_127x99_mag_Tracer_Yellow", "100Rnd_127x99_mag_Tracer_Yellow", "100Rnd_127x99_mag_Tracer_Yellow", "100Rnd_127x99_mag_Tracer_Yellow", "100Rnd_127x99_mag_Tracer_Yellow"};
			soundServo[] = {"A3\sounds_f\dummysound", db-40, 1.0, 10};
			minElev = -25;
			maxElev = 60;
			gunnerAction = "gunner_standup01";
			viewGunnerInExternal = "true";
			castGunnerShadow = true;
			stabilizedInAxes = "StabilizedInAxesBoth";
			gunnerRightHandAnimName = "OtocHlaven_shake";
			gunnerLeftHandAnimName = "OtocHlaven_shake";

			class ViewOptics : ViewOptics {
				initFov = 0.7;
				minFov = 0.25;
				maxFov = 1.1;
			};

			class ViewGunner : ViewOptics {};
		};
	};

	class HitPoints : HitPoints {
		class HitGlass1 : HitGlass1 {
			armor = 0.1;
		};

		class HitGlass2 : HitGlass2 {
			armor = 0.1;
		};

		class HitGlass3 : HitGlass3 {
			armor = 0.1;
		};

		class HitGlass4 : HitGlass4 {
			armor = 0.1;
		};

		class HitLFWheel : HitLFWheel {
			armor = 0.38;
		};

		class HitLBWheel : HitLF2Wheel {
			armor = 0.38;
		};

		class HitRFWheel : HitRFWheel {
			armor = 0.38;
		};

		class HitRBWheel : HitRF2Wheel {
			armor = 0.38;
		};

		class HitFuel {
			armor = 1.4;
			material = -1;
			name = "palivo";
			visual = "";
			passThrough = true;
		};
	};

	class Reflectors {
		class LightCarHeadL01 {
			color[] = {1900, 1800, 1700};
			ambient[] = {5, 5, 5};
			position = "LightCarHeadL01";
			direction = "LightCarHeadL01_end";
			hitpoint = "Light_L";
			selection = "Light_L";
			size = 1;
			innerAngle = 100;
			outerAngle = 179;
			coneFadeCoef = 10;
			intensity = 1;
			useFlare = 1;
			dayLight = 0;
			flareSize = 1;

			class Attenuation {
				start = 1;
				constant = 0;
				linear = 0;
				quadratic = 0.25;
				hardLimitStart = 30;
				hardLimitEnd = 60;
			};
		};

		class LightCarHeadL02 : LightCarHeadL01 {
			position = "LightCarHeadL02";
			direction = "LightCarHeadL02_end";
			FlareSize = 0.5;
		};

		class LightCarHeadR01 : LightCarHeadL01 {
			position = "LightCarHeadR01";
			direction = "LightCarHeadR01_end";
			hitpoint = "Light_R";
			selection = "Light_R";
		};

		class LightCarHeadR02 : LightCarHeadR01 {
			position = "LightCarHeadR02";
			direction = "LightCarHeadR02_end";
			FlareSize = 0.5;
		};
	};
	aggregateReflectors[] = {{"Left", "Right", "Left2", "Right2"}};

	class RenderTargets {
		class LeftMirror {
			renderTarget = "rendertarget0";

			class CameraView1 {
				pointPosition = "PIP0_pos";
				pointDirection = "PIP0_dir";
				renderQuality = 2;
				renderVisionMode = 4;
				fov = 0.7;
			};
		};

		class RightMirror {
			renderTarget = "rendertarget1";

			class CameraView1 {
				pointPosition = "PIP2_pos";
				pointDirection = "PIP2_dir";
				renderQuality = 2;
				renderVisionMode = 4;
				fov = 0.7;
			};
		};
	};
};

class DAR_MK23A : DAR_MTVRBase {
	scope = 2; 
	displayName = "Mk. 23 MTVR Cargo APK M2";
	accuracy = 0.32;	// accuracy needed to recognize type of this target
	model = "\DAR_MTVR\DAR_MK23A.p3d";
	side = TWest;
	faction = BLU_F;
	armor = 120;

	class AnimationSources : AnimationSources {
		class ReloadAnim {
			source = "reload";
			weapon = HMG_M2;
		};

		class ReloadMagazine {
			source = "reloadmagazine";
			weapon = HMG_M2;
		};

		class Revolving {
			source = "revolving";
			weapon = HMG_M2;
		};
	};
};

class DAR_MK23AD : DAR_MTVRBase {
	scope = 2; 
	displayName = "Mk. 23 MTVR Cargo APK M2 Deployment";
	accuracy = 0.32;	// accuracy needed to recognize type of this target
	model = "\DAR_MTVR\DAR_MK23AD.p3d";
	side = TWest;
	faction = BLU_F;
	armor = 120;

	class AnimationSources : AnimationSources {
		class ReloadAnim {
			source = "reload";
			weapon = HMG_M2;
		};

		class ReloadMagazine {
			source = "reloadmagazine";
			weapon = HMG_M2;
		};

		class Revolving {
			source = "revolving";
			weapon = HMG_M2;
		};
	};
};

class DAR_MK27 : DAR_MTVRBase {
	scope = 2;
	model = "\DAR_MTVR\DAR_MK27.p3d";
	displayname = "Mk. 27 MTVR Extended Cargo";
	transportSoldier = 28;
	transportMaxBackpacks = 50;
	picture = "\DAR_MTVR\Data\UI\icon_mtvr_ca.paa";
	Icon = "\DAR_MTVR\Data\UI\picture_mtvr_ca.paa";
	hasGunner = false;

	class Turrets {};

	class Library {
		libTextDesc = "Mk. 27 MTVR Extended";
	};
	side = TWest;
	faction = BLU_F;
	vehicleClass = "DARMil_Vehicles";

	// threat (VSoft, VArmor, VAir), how threatening vehicle is to unit types
	threat[] = {0.0, 0.0, 0.0};


	class TransportWeapons {};
};

class DAR_MK27T : DAR_MTVRBase {
	scope = 2;
	model = "\DAR_MTVR\DAR_MK27T.p3d";
	displayname = "Mk. 27 MTVR Extended Cargo Covered";
	transportSoldier = 28;
	transportMaxBackpacks = 50;
	picture = "\DAR_MTVR\Data\UI\icon_mtvr_ca.paa";
	Icon = "\DAR_MTVR\Data\UI\picture_mtvr_ca.paa";
	hasGunner = false;

	class Turrets {};

	class Library {
		libTextDesc = "Mk. 27 MTVR Extended";
	};
	side = TWest;
	faction = BLU_F;
	vehicleClass = "DARMil_Vehicles";

	// threat (VSoft, VArmor, VAir), how threatening vehicle is to unit types
	threat[] = {0.0, 0.0, 0.0};


	class TransportWeapons {};
};

class DAR_4X4 : DAR_MTVRBase {
	scope = 2;
	model = "\DAR_MTVR\DAR_4X4.p3d";
	displayname = "MTVR 4X4 Short Bed";
	transportSoldier = 7;
	transportMaxBackpacks = 25;
	picture = "\DAR_MTVR\Data\UI\icon_mtvr_ca.paa";
	Icon = "\DAR_MTVR\Data\UI\picture_mtvr_ca.paa";
	hasGunner = false;

	class Turrets {};

	class Library {
		libTextDesc = "4x4 Short Bed";
	};
	side = TWest;
	faction = BLU_F;
	vehicleClass = "DARMil_Vehicles";

	// threat (VSoft, VArmor, VAir), how threatening vehicle is to unit types
	threat[] = {0.0, 0.0, 0.0};


	class TransportWeapons {};
};


class DAR_MK23 : DAR_MTVRBase {
	scope = 2;
	model = "\DAR_MTVR\DAR_MK23.p3d";
	displayname = "Mk. 23 MTVR Cargo";
	transportSoldier = 13;
	transportMaxBackpacks = 25;
	picture = "\DAR_MTVR\Data\UI\icon_mtvr_ca.paa";
	Icon = "\DAR_MTVR\Data\UI\picture_mtvr_ca.paa";
	hasGunner = false;

	class Turrets {};

	class Library {
		libTextDesc = "4x4 Short Bed";
	};
	side = TWest;
	faction = BLU_F;
	vehicleClass = "DARMil_Vehicles";

	// threat (VSoft, VArmor, VAir), how threatening vehicle is to unit types
	threat[] = {0.0, 0.0, 0.0};


	class TransportWeapons {};
};
};

Share this post


Link to post
Share on other sites

Alright, I am happy to release an update which fixes a large amount of the bugs people have discovered.

I shall add these entries to the changelog:

  • Fixed: Can now sit in the cab in unarmed variants
  • Tail lights improved
  • Sounds improved
  • Fixed: Mk. 23 Unarmed APK position fixed
  • You can now grip the steering wheel with both hands, both hands now move with the wheel
  • Editor Icon fixed
  • AI Crewed Variants are now under WEST\NATO\DAR MTVR
  • Short bed version back proxy no longer cuts through the rear gate

MEGA Link:

https://mega.co.nz/#!9Mgl3SCI!V-Cf5hUepthRUJR1S6tHsi84qI3oOXa0cSKqJ4wwnrs

Share this post


Link to post
Share on other sites

Thanks for the quick update! Downloading it now!

Share this post


Link to post
Share on other sites
Guest

Thanks for the headsup about the new version :cool:

Update frontpaged on the Armaholic homepage.

================================================

We have also "connected" these pages to your account on Armaholic.

This means in the future you will be able to maintain these pages yourself if you wish to do so. Once this new feature is ready we will contact you about it and explain how things work and what options you have.

When you have any questions already feel free to PM or email me!

Share this post


Link to post
Share on other sites

I apologize if this has already been brought up. Would it be possible to have Repair/Rearm/Refuel variants of the trucks. If I can remember arma 2 had them all so it could be an easy port.

Nice work love the trucks currently! :yay:

Share this post


Link to post
Share on other sites

No, actually it has not been brought up! Yeah I can do that. I might make em visually different from their original variants, as the Ammo/Repair ones don't impress me that much. But yeah, I will work on that.

Share this post


Link to post
Share on other sites

Alright.. it has only been about 2 days but I've done yet another update. This one adds three new variants upon popular request. A Tan Mk. 23 for Desert environments, a 8 Ton LHS Fuel vehicle, and a 16 Ton LHS with Repair and Rearm functionality.

Screenshots:

https://dl.dropboxusercontent.com/u/23389642/arma3%202014-05-15%2012-34-30-99.png (1313 kB)

https://dl.dropboxusercontent.com/u/23389642/arma3%202014-05-14%2023-29-21-09.png (1513 kB)

Links will be updated on main page.

Cheers

Share this post


Link to post
Share on other sites

Excellent mod! Just what I have been looking for!

I do have a question however, Were you planning on also adding the fuel tanker variant? The one from Arma 2 (Atleast the tank put on one of your mk23's) I always loved that model..

Share this post


Link to post
Share on other sites

Grillob:

Yes, only the MEGA Link. I have sent it out to Armaholic / Six.

Rex:

I added a slightly different variant. I was looking at many reference photos and could not find a Fuel tanker like that So instead, I modeled the 6Ton LHS to carry 2 SIXCON Fuel containers. It functions in the same manner to the fuel truck, but I felt it was more realistic. But I may do that, I just need some photos to ensure it is authentic.

Richards

Share this post


Link to post
Share on other sites

@RichardsD

Yeah It seems to be non-existant, Shame, I always enjoyed It In Arma 2, No problem though yours Is perfect enough.

About the only thing I could find was the one you made, Except this appears to have a taller tank (unless I'm seeing things):

https://c1.staticflickr.com/9/8375/8377677801_c32ab5398f_z.jpg

This Is by far my favorite mod right now, Keep up the great work man!

Share this post


Link to post
Share on other sites

RichardsD i saw one on the naval base in coronado last week but i did not have time to take pics...if still there i will this weekend. Was tan and different from the ones you have on your mod.

Share this post


Link to post
Share on other sites

Please, that would be awesome ^

Rex:

Yeah, I was slightly confused by that photo, as I used it as a reference for my fuel truck. The tanks in that are clearly much taller, but other photos they didn't seem nearly that tall. I will most likely increase the size to match that photo in a future update.

Cheers

Share this post


Link to post
Share on other sites
Guest

Thanks for the headsup about the new version :cool:

Update frontpaged on the Armaholic homepage.

================================================

We have also "connected" these pages to your account on Armaholic.

This means in the future you will be able to maintain these pages yourself if you wish to do so. Once this new feature is ready we will contact you about it and explain how things work and what options you have.

When you have any questions already feel free to PM or email me!

Share this post


Link to post
Share on other sites

Still having the problem where the troops in the back are invulnerable to small arms fire. Its like they are shielded by an imaginary wall. You can kill them if you shoot through the windshield and hit them.

Share this post


Link to post
Share on other sites

I've been having a problem where when I turn and complete the turn the trucks seems to go slower, max speed I could hit was 22km

Share this post


Link to post
Share on other sites
I've been having a problem where when I turn and complete the turn the trucks seems to go slower, max speed I could hit was 22km

I second this. Couldn't make any of the vehicles i spawned go faster than 30km/h. Apart from that: Nice work!

Share this post


Link to post
Share on other sites

Basically all of them buddy....I know the extended and shortbed suffer from this and I noticed the others the cabs are too bulletproof. If I saw the Mlods I think I could figure some of it out. But the occupants seem invulnerable. I even threw a grenade in the bed. Anyway these things are so sweet apart from that just can't wait till I can use them in my convoy escort missions.

Lamar

Share this post


Link to post
Share on other sites

Yes, I can now confirm this. I only tested the MTVR's on the Stratis airfield and it worked fine. But anywhere else, I get horrible speed loss which is very very odd. If anyone has any suggestions, please drop em, I'll keep experimenting with the Physx X to see if I can improve this. Richards

Share this post


Link to post
Share on other sites

Was just testing and one of the new variants - the fuel armed version doesn't deplete any ammo. Tested on Altis and another A2 ported map. Great addition to the vehicle line up, keep up the good work.

Share this post


Link to post
Share on other sites

Alright, I've done a lot of experimenting, testing and have narrowed down the Physx issues. From my tests, I can see that the under 10km/h bug only affects the armed, Gunners Shield versions of the MTVR. For some reason the 8X8 LHS has an inverse problem where it is ungodly fast. I shall continue to see if I can remedy this.

The Invincible Gunner has also been fixed and I am re-doing the hitbox for the rear so that the passengers may be killed.

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  

×