Jump to content
Sign in to follow this  
maxjoiner

Simulation = "carx"; ArmA3 crashs

Recommended Posts

I have a problem with the physx.....(I presume)

If I insert in config:

simulation = "carx";

ArmA3 crashs....

my car works fine without that command

but without the physx....

this is my PhysX lod 4e13:

geometry.jpg

this is the config.cpp


enum {
 //  = 2,	// Error parsing: Empty enum name
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,
};

class defaultUserActions;	// External class reference
class DefaultEventhandlers;	// External class reference

class CfgPatches {
class Max_lapd_mod {
	units[] = {};
	weapons[] = {};
	requiredVersion = 0.1;
	requiredAddons[] = {"A3_Soft_F_TruckHeavy", "A3_Weapons_F_Ammoboxes", "a3_weapons_f_beta_ammoboxes", "A3_Soft_F_SUV", "A3_Soft_F", "A3_Characters_F_INDEP", "A3_Characters_F_BLUFOR", "A3_Soft_F_MRAP_01", "A3_Air_F_Beta_Heli_Transport_02", "A3_Air_F_Heli_Light_01", "A3_Armor_F_AMV", "A3_Soft_F_Offroad_01"};
};
};
.......................

class cfgVehicles {

class LandVehicle;	// External class reference

class Car : LandVehicle {
	class HitPoints;

};



class Car_F: Car
{
	class HitPoints /// we want to use hitpoints predefined for all cars
	{
		class HitLFWheel;
		class HitLF2Wheel;

		class HitRFWheel;
		class HitRF2Wheel;
		class HitBody;

		class HitGlass1;
		class HitGlass2;
		class HitGlass3;
		class HitGlass4;
	};
	class AnimationSources
	{
		class HitLFWheel;
		class HitLF2Wheel;

		class HitRFWheel;
		class HitRF2Wheel;
		class HitBody;

		class HitGlass1;
		class HitGlass2;
		class HitGlass3;
		class HitGlass4;
	};	
};

class Max_LAPD_CrownVic: Car_F
{

	_generalMacro="Max_LAPD_CrownVic";
	author = "Maxjoiner";
	model = "max_lapd_mod\max_ford.p3d";
	displayname = "L.A.P.D. Crown Victoria";
	mapSize = 6;
	picture = "\max_lapd_mod\Data\UI\crown_picture_cA.paa";
	Icon = "\max_lapd_mod\Data\UI\crown_ca.paa";
	class Library {libTextDesc = "";};
	scope = 2;
	side = 2;
	faction = "max_lapd";
	vehicleClass = "max_lapd_vehicles";
	crew = "Max_LAPD_Cop";
	typicalCargo[] = {"Max_LAPD_Cop"};
	driverAction = "driver_offroad01";//driver_offroad01 - driver_MRAP_01 - driver_low01 - Driver_High01 - driver_mid01
	getInAction = "GetInLow";//GetInOffroad
	getOutAction = "GetOutLow";
	cargoAction[] = {"passenger_low01"};//passenger_generic01_leanright
	cargoGetInAction[] = {"GetInLow"};
	cargoGetOutAction[] = {"GetOutLow"};
	///cargoIsCoDriver[] = {true, false, false};
	transportSoldier = 1;
	weapons[] = {"police_Horn", "police_takedown", "police_yelp"};
	magazines[]={};
	class Turrets{};
	terrainCoef = 2.5; 
	turnCoef = 2.5;
	//steerAheadPlan=0.15; 
	//rarityUrban=0.9;
	armor=20;
	damageResistance = 0.01511;
	cost=15000;
	fuelCapacity=50;
	audible = 100;// audible - bigger - better heard
	wheelDamageRadiusCoef 	= 0.9; ////////////////////////for precision tweaking of damaged wheel size
	wheelDestroyRadiusCoef 	= 0.4;//////////////////////// for tweaking of rims size to fit ground
	WaterLeakiness = 10;    ///secondi di affondamento
	maxFordingDepth 		= 0.5;			/// how high water would damage the engine of the car
	waterResistance 		= 1;			/// if the depth of water is bigger than maxFordingDepth it starts to damage the engine after this time
	crewCrashProtection		= 0.25;	
	driverRightHandAnimName = "drivewheel";	/// beware, non-existent bones may cause game crashes (even if the bones are hidden during play)
	driverLeftHandAnimName 	= "drivewheel"; /// according to what bone in model of car does hand move
	precision 	= 20; 	/// how much freedom has the AI for its internal waypoints - lower number means more precise but slower approach to way
	brakeDistance 	= 7; 	/// how many internal waypoints should the AI plan braking in advance
	acceleration 	= 20; 	/// how fast acceleration does the AI think the car has
	fireResistance 	= 5; 	/// lesser protection against fire than tanks
	extCameraPosition[] = {0, 1.5, -7.5};
	hiddenSelections[] = {"jump", "lb-left-front-corner", "lb-left-takedown", "lb-front-blue-1", "lb-front-blue-2", "lb-front-red-2", "lb-front-red-1", "lb-right-takedown", "lb-right-front-corner", "lb-right-back-corner", "lb-back-red-1", "lb-back-red-2", "lb-back-red-3", "lb-back-blue-3", "lb-back-blue-2", "lb-back-blue-1", "lb-left-back-corner", "lb-back-yellow-1", "lb-back-yellow-2", "lb-back-yellow-3", "lb-back-yellow-4", "lb-back-yellow-5", "lb-back-yellow-6", "lb-left-alley", "lb-right-alley", "lb-ion-blue", "lb-ion-red", "radar_patrol_c", "radar_patrol_d", "radar_patrol_u", "radar_fast_c", "radar_fast_d", "radar_fast_u", "radar_target_c", "radar_target_d", "radar_target_u"};
	hiddenSelectionsTextures[] = {"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""};




	class eventhandlers {
		init = "_this execVM ""\max_LAPD_mod\scripts\police_siren.sqf"";_this execVM ""\max_lapd_mod\scripts\police_radio.sqf""";
	};

	class UserActions {
		class codeOne {
			displayName = "Beacons Off";
			displayNameDefault = "<img image='max_LAPD_mod\data\ui\beconsoff.paa' size='1.8'/>";
			position = "drivewheel";
			radius = 1000;
			condition = "canmove this && driver this == player && (this animationPhase 'ani_lightbar' != 0)";
			statement = "this animate ['ani_lightbar', 0]";
			onlyForplayer = 0;
		};

		class LightMode1 {
			displayName = "Beacons On";
			displayNameDefault = "<img image='max_LAPD_mod\data\ui\beconson.paa' size='1.8'/>";
			position = "drivewheel";
			radius = 1000;
			condition = "canmove this && driver this == player && (this animationPhase 'ani_lightbar' != 0.1)";
			statement = "this animate ['ani_lightbar', 0.1]";
			onlyForplayer = 0;
		};



		class SirenOn {
			displayName = "Siren On";
			displayNameDefault = "<img image='max_LAPD_mod\data\ui\sirenon.paa' size='1.8'/>";
			position = "mph_axis";
			onlyforplayer = "true";
			radius = 5;
			condition = "!(this getvariable [""sirenon"", false]) and (player == driver this)AND Alive(this) and canmove this";
			statement = "this setvariable [""sirenon"", true, true]";
		};

		class SirenOff {
			displayName = "Siren Off";
			displayNameDefault = "<img image='max_LAPD_mod\data\ui\sirenoff.paa' size='1.8'/>";
			position = "mph_axis";
			onlyforplayer = "true";
			radius = 5;
			condition = "(this getvariable [""sirenon"", false]) and (player == driver this)AND Alive(this) and canmove this";
			statement = "this setVariable [""sirenon"", false, true]";
		};






	};


	/////sound/////////
	attenuationEffectType = "CarAttenuation"; //utlumovani v interieru (odkaz do Attenuation.hpp ve slozce SOUNDS_F

	soundGetIn[] = {"A3\Sounds_F\vehicles\soft\Offroad_01\Offroad_01-int-openclose", db-7, 1};
	soundGetOut[] = {"A3\Sounds_F\vehicles\soft\Offroad_01\Offroad_01-int-openclose", db-7, 1, 40};
	soundDammage[] = {"", 0.562341, 1};
	soundEngineOnInt[] = {"A3\Sounds_F\vehicles\soft\Offroad_01\engine_int_start", 0.199526, 1.0};
	soundEngineOnExt[] = {"A3\Sounds_F\vehicles\soft\Offroad_01\engine_ext_start", 0.316228, 1.0, 200};
	soundEngineOffInt[] = {"A3\Sounds_F\vehicles\soft\Offroad_01\engine_int_stop", 0.199526, 1.0};
	soundEngineOffExt[] = {"A3\Sounds_F\vehicles\soft\Offroad_01\engine_ext_stop", 0.316228, 1.0, 200};
	buildCrash0[] = {"A3\sounds_f\Vehicles\soft\noises\crash_building_01", 1.0, 1, 100};
	buildCrash1[] = {"A3\sounds_f\Vehicles\soft\noises\crash_building_02", 1.0, 1, 100};
	buildCrash2[] = {"A3\sounds_f\Vehicles\soft\noises\crash_building_03", 1.0, 1, 100};
	buildCrash3[] = {"A3\sounds_f\Vehicles\soft\noises\crash_building_04", 1.0, 1, 100};
	soundBuildingCrash[] = {"buildCrash0", 0.25, "buildCrash1", 0.25, "buildCrash2", 0.25, "buildCrash3", 0.25};
	WoodCrash0[] = {"A3\sounds_f\Vehicles\soft\noises\crash_mix_wood_01", 1.0, 1, 100};
	WoodCrash1[] = {"A3\sounds_f\Vehicles\soft\noises\crash_mix_wood_02", 1.0, 1, 100};
	WoodCrash2[] = {"A3\sounds_f\Vehicles\soft\noises\crash_mix_wood_03", 1.0, 1, 100};
	WoodCrash3[] = {"A3\sounds_f\Vehicles\soft\noises\crash_mix_wood_04", 1.0, 1, 100};
	WoodCrash4[] = {"A3\sounds_f\Vehicles\soft\noises\crash_mix_wood_05", 1.0, 1, 100};
	WoodCrash5[] = {"A3\sounds_f\Vehicles\soft\noises\crash_mix_wood_06", 1.0, 1, 100};
	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", 1.0, 1, 100};
	ArmorCrash1[] = {"A3\sounds_f\Vehicles\soft\noises\crash_vehicle_02", 1.0, 1, 100};
	ArmorCrash2[] = {"A3\sounds_f\Vehicles\soft\noises\crash_vehicle_03", 1.0, 1, 100};
	ArmorCrash3[] = {"A3\sounds_f\Vehicles\soft\noises\crash_vehicle_04", 1.0, 1, 100};
	soundArmorCrash[] = {"ArmorCrash0", 0.25, "ArmorCrash1", 0.25, "ArmorCrash2", 0.25, "ArmorCrash3", 0.25};

	class Sounds {
		class Idle_ext {
			sound[] = {"A3\Sounds_F\vehicles\soft\Offroad_01\engine_ext_idle", db-10, 1, 100};
			frequency = "0.95	+	((rpm/	3500) factor[(200/	3500),(580/	3500)])*0.15";
			volume = "engineOn*camPos*(((rpm/	3500) factor[(200/	3500),(350/	3500)])	*	((rpm/	3500) factor[(580/	3500),(400/	3500)]))";
		};

		class Engine {
			sound[] = {"A3\Sounds_F\vehicles\soft\Offroad_01\engine_ext_rpm1", db-10, 1, 200};
			frequency = "0.9	+	((rpm/	3500) factor[(380/	3500),(960/	3500)])*0.2";
			volume = "engineOn*camPos*(((rpm/	3500) factor[(380/	3500),(580/	3500)])	*	((rpm/	3500) factor[(960/	3500),(700/	3500)]))";
		};

		class Engine1_ext {
			sound[] = {"A3\Sounds_F\vehicles\soft\Offroad_01\engine_ext_rpm2", db-9, 1, 225};
			frequency = "0.9	+	((rpm/	3500) factor[(700/	3500),(1400/	3500)])*0.2";
			volume = "engineOn*camPos*(((rpm/	3500) factor[(700/	3500),(970/	3500)])	*	((rpm/	3500) factor[(1400/	3500),(1100/	3500)]))";
		};

		class Engine2_ext {
			sound[] = {"A3\Sounds_F\vehicles\soft\Offroad_01\engine_ext_rpm3", db-9, 1, 250};
			frequency = "0.9	+	((rpm/	3500) factor[(1100/	3500),(1860/	3500)])*0.2";
			volume = "engineOn*camPos*(((rpm/	3500) factor[(1100/	3500),(1430/	3500)])	*	((rpm/	3500) factor[(1860/	3500),(1570/	3500)]))";
		};

		class Engine3_ext {
			sound[] = {"A3\Sounds_F\vehicles\soft\Offroad_01\engine_ext_rpm4", 0.398107, 1, 275};
			frequency = "0.95	+	((rpm/	3500) factor[(1600/	3500),(2200/	3500)])*0.2";
			volume = "engineOn*camPos*(((rpm/	3500) factor[(1600/	3500),(1860/	3500)])	*	((rpm/	3500) factor[(2200/	3500),(2050/	3500)]))";
		};

		class Engine4_ext {
			sound[] = {"A3\Sounds_F\vehicles\soft\Offroad_01\engine_ext_rpm5", db-7, 1, 300};
			frequency = "0.95	+	((rpm/	3500) factor[(2040/	3500),(2670/	3500)]) *0.2";
			volume = "engineOn*camPos*(((rpm/	3500) factor[(2040/	3500),(2200/	3500)])	*	((rpm/	3500) factor[(2670/	3500),(2400/	3500)]))";
		};

		class Engine5_ext {
			sound[] = {"A3\Sounds_F\vehicles\soft\Offroad_01\engine_ext_rpm6", db-6, 1, 300};
			frequency = "0.95	+	((rpm/	3500) factor[(2400/	3500),(3050/	3500)])*0.2";
			volume = "engineOn*camPos*(((rpm/	3500) factor[(2400/	3500),(2660/	3500)])	*	((rpm/	3500) factor[(3050/	3500),(2800/	3500)]))";
		};

		class Engine6_ext {
			sound[] = {"A3\Sounds_F\vehicles\soft\Offroad_01\engine_ext_rpm7", 0.562341, 1, 300};
			frequency = "0.95	+	((rpm/	3500) factor[(2700/	3500),(3500/	3500)])*0.2";
			volume = "engineOn*camPos*((rpm/	3500) factor[(2700/	3500),(3200/	3500)])";
		};

		class IdleThrust {
			sound[] = {"A3\Sounds_F\vehicles\soft\Offroad_01\exhaust_ext_idle", 0.398107, 1, 200};
			frequency = "0.95	+	((rpm/	3500) factor[(200/	3500),(580/	3500)])*0.15";
			volume = "engineOn*camPos*(0.4+(0.6*(thrust factor[0.1,1])))*(((rpm/	3500) factor[(200/	3500),(350/	3500)])	*	((rpm/	3500) factor[(580/	3500),(400/	3500)]))";
		};

		class EngineThrust {
			sound[] = {"A3\Sounds_F\vehicles\soft\Offroad_01\exhaust_ext_rpm1", db-7, 1, 250};
			frequency = "0.9	+	((rpm/	3500) factor[(380/	3500),(960/	3500)])*0.2";
			volume = "engineOn*camPos*(0.4+(0.6*(thrust factor[0.1,1])))*(((rpm/	3500) factor[(380/	3500),(580/	3500)])	*	((rpm/	3500) factor[(960/	3500),(700/	3500)]))";
		};

		class Engine1_Thrust_ext {
			sound[] = {"A3\Sounds_F\vehicles\soft\Offroad_01\exhaust_ext_rpm2", db-7, 1, 275};
			frequency = "0.9	+	((rpm/	3500) factor[(700/	3500),(1400/	3500)])*0.2";
			volume = "engineOn*camPos*(0.4+(0.6*(thrust factor[0.1,1])))*(((rpm/	3500) factor[(700/	3500),(970/	3500)])	*	((rpm/	3500) factor[(1400/	3500),(1100/	3500)]))";
		};

		class Engine2_Thrust_ext {
			sound[] = {"A3\Sounds_F\vehicles\soft\Offroad_01\exhaust_ext_rpm3", db-6, 1, 300};
			frequency = "0.9	+	((rpm/	3500) factor[(1100/	3500),(1860/	3500)])*0.2";
			volume = "engineOn*camPos*(0.4+(0.6*(thrust factor[0.1,1])))*(((rpm/	3500) factor[(1100/	3500),(1430/	3500)])	*	((rpm/	3500) factor[(1860/	3500),(1570/	3500)]))";
		};

		class Engine3_Thrust_ext {
			sound[] = {"A3\Sounds_F\vehicles\soft\Offroad_01\exhaust_ext_rpm4", 0.562341, 1, 325};
			frequency = "0.95	+	((rpm/	3500) factor[(1600/	3500),(2200/	3500)])*0.2";
			volume = "engineOn*camPos*(0.4+(0.6*(thrust factor[0.1,1])))*(((rpm/	3500) factor[(1600/	3500),(1860/	3500)])	*	((rpm/	3500) factor[(2200/	3500),(2050/	3500)]))";
		};

		class Engine4_Thrust_ext {
			sound[] = {"A3\Sounds_F\vehicles\soft\Offroad_01\exhaust_ext_rpm5", 0.630957, 1, 350};
			frequency = "0.95	+	((rpm/	3500) factor[(2040/	3500),(2670/	3500)]) *0.2";
			volume = "engineOn*camPos*(0.4+(0.6*(thrust factor[0.1,1])))*(((rpm/	3500) factor[(2040/	3500),(2200/	3500)])	*	((rpm/	3500) factor[(2670/	3500),(2400/	3500)]))";
		};

		class Engine5_Thrust_ext {
			sound[] = {"A3\Sounds_F\vehicles\soft\Offroad_01\exhaust_ext_rpm6", 0.630957, 1, 375};
			frequency = "0.95	+	((rpm/	3500) factor[(2400/	3500),(3050/	3500)])*0.2";
			volume = "engineOn*camPos*(0.4+(0.6*(thrust factor[0.1,1])))*(((rpm/	3500) factor[(2400/	3500),(2660/	3500)])	*	((rpm/	3500) factor[(3050/	3500),(2800/	3500)]))";
		};

		class Engine6_Thrust_ext {
			sound[] = {"A3\Sounds_F\vehicles\soft\Offroad_01\exhaust_ext_rpm7", db-3, 1, 400};
			frequency = "0.95	+	((rpm/	3500) factor[(2700/	3500),(3500/	3500)])*0.2";
			volume = "engineOn*camPos*(0.4+(0.6*(thrust factor[0.1,1])))*((rpm/	3500) factor[(2700/	3500),(3200/	3500)])";
		};

		class Idle_int {
			sound[] = {"A3\Sounds_F\vehicles\soft\Offroad_01\engine_int_idle", db-17, 1};
			frequency = "0.95	+	((rpm/	3500) factor[(200/	3500),(580/	3500)])*0.15";
			volume = "engineOn*(1-camPos)*(((rpm/	3500) factor[(200/	3500),(350/	3500)])	*	((rpm/	3500) factor[(580/	3500),(400/	3500)]))";
		};

		class Engine_int {
			sound[] = {"A3\Sounds_F\vehicles\soft\Offroad_01\engine_int_rpm1", db-16, 1};
			frequency = "0.9	+	((rpm/	3500) factor[(380/	3500),(960/	3500)])*0.2";
			volume = "engineOn*(1-camPos)*(((rpm/	3500) factor[(380/	3500),(580/	3500)])	*	((rpm/	3500) factor[(960/	3500),(700/	3500)]))";
		};

		class Engine1_int {
			sound[] = {"A3\Sounds_F\vehicles\soft\Offroad_01\engine_int_rpm2", db-15, 1};
			frequency = "0.9	+	((rpm/	3500) factor[(700/	3500),(1400/	3500)])*0.2";
			volume = "engineOn*(1-camPos)*(((rpm/	3500) factor[(700/	3500),(970/	3500)])	*	((rpm/	3500) factor[(1400/	3500),(1100/	3500)]))";
		};

		class Engine2_int {
			sound[] = {"A3\Sounds_F\vehicles\soft\Offroad_01\engine_int_rpm3", db-13, 1};
			frequency = "0.9	+	((rpm/	3500) factor[(1100/	3500),(1860/	3500)])*0.2";
			volume = "engineOn*(1-camPos)*(((rpm/	3500) factor[(1100/	3500),(1430/	3500)])	*	((rpm/	3500) factor[(1860/	3500),(1570/	3500)]))";
		};

		class Engine3_int {
			sound[] = {"A3\Sounds_F\vehicles\soft\Offroad_01\engine_int_rpm4", db-12, 1};
			frequency = "0.95	+	((rpm/	3500) factor[(1600/	3500),(2200/	3500)])*0.2";
			volume = "engineOn*(1-camPos)*(((rpm/	3500) factor[(1600/	3500),(1860/	3500)])	*	((rpm/	3500) factor[(2200/	3500),(2050/	3500)]))";
		};

		class Engine4_int {
			sound[] = {"A3\Sounds_F\vehicles\soft\Offroad_01\engine_int_rpm5", 0.281838, 1};
			frequency = "0.95	+	((rpm/	3500) factor[(2040/	3500),(2670/	3500)]) *0.2";
			volume = "engineOn*(1-camPos)*(((rpm/	3500) factor[(2040/	3500),(2200/	3500)])	*	((rpm/	3500) factor[(2670/	3500),(2400/	3500)]))";
		};

		class Engine5_int {
			sound[] = {"A3\Sounds_F\vehicles\soft\Offroad_01\engine_int_rpm6", db-10, 1};
			frequency = "0.95	+	((rpm/	3500) factor[(2400/	3500),(3050/	3500)])*0.2";
			volume = "engineOn*(1-camPos)*(((rpm/	3500) factor[(2400/	3500),(2660/	3500)])	*	((rpm/	3500) factor[(3050/	3500),(2800/	3500)]))";
		};

		class Engine6_int {
			sound[] = {"A3\Sounds_F\vehicles\soft\Offroad_01\engine_int_rpm7", db-9, 1};
			frequency = "0.95	+	((rpm/	3500) factor[(2700/	3500),(3500/	3500)])*0.2";
			volume = "engineOn*(1-camPos)*((rpm/	3500) factor[(2700/	3500),(3200/	3500)])";
		};

		class IdleThrust_int {
			sound[] = {"A3\Sounds_F\vehicles\soft\Offroad_01\exhaust_int_idle", db-13, 1};
			frequency = "0.95	+	((rpm/	3500) factor[(200/	3500),(580/	3500)])*0.15";
			volume = "engineOn*(1-camPos)*(0.4+(0.6*(thrust factor[0.1,1])))*(((rpm/	3500) factor[(200/	3500),(350/	3500)])	*	((rpm/	3500) factor[(580/	3500),(400/	3500)]))";
		};

		class EngineThrust_int {
			sound[] = {"A3\Sounds_F\vehicles\soft\Offroad_01\exhaust_int_rpm1", db-12, 1};
			frequency = "0.9	+	((rpm/	3500) factor[(380/	3500),(960/	3500)])*0.2";
			volume = "engineOn*(1-camPos)*(0.4+(0.6*(thrust factor[0.1,1])))*(((rpm/	3500) factor[(380/	3500),(580/	3500)])	*	((rpm/	3500) factor[(960/	3500),(700/	3500)]))";
		};

		class Engine1_Thrust_int {
			sound[] = {"A3\Sounds_F\vehicles\soft\Offroad_01\exhaust_int_rpm2", 0.281838, 1};
			frequency = "0.9	+	((rpm/	3500) factor[(700/	3500),(1400/	3500)])*0.2";
			volume = "engineOn*(1-camPos)*(0.4+(0.6*(thrust factor[0.1,1])))*(((rpm/	3500) factor[(700/	3500),(970/	3500)])	*	((rpm/	3500) factor[(1400/	3500),(1100/	3500)]))";
		};

		class Engine2_Thrust_int {
			sound[] = {"A3\Sounds_F\vehicles\soft\Offroad_01\exhaust_int_rpm3", db-10, 1};
			frequency = "0.9	+	((rpm/	3500) factor[(1100/	3500),(1860/	3500)])*0.2";
			volume = "engineOn*(1-camPos)*(0.4+(0.6*(thrust factor[0.1,1])))*(((rpm/	3500) factor[(1100/	3500),(1430/	3500)])	*	((rpm/	3500) factor[(1860/	3500),(1570/	3500)]))";
		};

		class Engine3_Thrust_int {
			sound[] = {"A3\Sounds_F\vehicles\soft\Offroad_01\exhaust_int_rpm4", db-9, 1};
			frequency = "0.95	+	((rpm/	3500) factor[(1600/	3500),(2200/	3500)])*0.2";
			volume = "engineOn*(1-camPos)*(0.4+(0.6*(thrust factor[0.1,1])))*(((rpm/	3500) factor[(1600/	3500),(1860/	3500)])	*	((rpm/	3500) factor[(2200/	3500),(2050/	3500)]))";
		};

		class Engine4_Thrust_int {
			sound[] = {"A3\Sounds_F\vehicles\soft\Offroad_01\exhaust_int_rpm5", 0.398107, 1};
			frequency = "0.95	+	((rpm/	3500) factor[(2040/	3500),(2670/	3500)]) *0.2";
			volume = "engineOn*(1-camPos)*(0.4+(0.6*(thrust factor[0.1,1])))*(((rpm/	3500) factor[(2040/	3500),(2200/	3500)])	*	((rpm/	3500) factor[(2670/	3500),(2400/	3500)]))";
		};

		class Engine5_Thrust_int {
			sound[] = {"A3\Sounds_F\vehicles\soft\Offroad_01\exhaust_int_rpm6", db-7, 1};
			frequency = "0.95	+	((rpm/	3500) factor[(2400/	3500),(3050/	3500)])*0.2";
			volume = "engineOn*(1-camPos)*(0.4+(0.6*(thrust factor[0.1,1])))*(((rpm/	3500) factor[(2400/	3500),(2660/	3500)])	*	((rpm/	3500) factor[(3050/	3500),(2800/	3500)]))";
		};

		class Engine6_Thrust_int {
			sound[] = {"A3\Sounds_F\vehicles\soft\Offroad_01\exhaust_int_rpm7", db-6, 1};
			frequency = "0.95	+	((rpm/	3500) factor[(2700/	3500),(3500/	3500)])*0.2";
			volume = "engineOn*(1-camPos)*(0.4+(0.6*(thrust factor[0.1,1])))*((rpm/	3500) factor[(2700/	3500),(3200/	3500)])";
		};

		class TiresRockOut {
			sound[] = {"A3\Sounds_F\vehicles\soft\tires\ext_tires_dirt_soft_1", db-3, 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-3, 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-3, 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-3, 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-3, 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-3, 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", 0.562341, 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-3, 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-3, 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-3, 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-3, 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-3, 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-3, 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-16, 1.0};
			frequency = "1";
			volume = "(damper0 max 0.1)*(speed factor[0, 8])*(1-camPos)";
		};

		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.5, -0.9])*(Speed Factor[2, 10])";
		};

		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.5, 0.8])*(Speed Factor[10, 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.15, 0.3])*(Speed Factor[2, 10])";
		};

		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.15, -0.3])*(Speed Factor[2, 10])";
		};

		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.5, -0.9])*(Speed Factor[4, 10])";
		};

		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.5, 0.9])*(Speed Factor[10, 4])";
		};

		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.15, 0.3])*(Speed Factor[0, 10])";
		};

		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.15, -0.3])*(Speed Factor[0, 10])";
		};

		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.4, -0.9])*(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.4, 0.9])*(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.2, 0.5])*(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.2, -0.5])*(Speed Factor[2, 15])";
		};

		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[-0.4, -0.9])*(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.4, 0.9])*(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.2, 0.5])*(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.2, -0.5])*(Speed Factor[2, 15])";
		};
	};

	///end sound////		

	class HitPoints : HitPoints
  		 {
		class HitLFWheel:HitLFWheel	{armor=0.125; passThrough=0;}; /// it is easier to destroy wheels than hull of the vehicle
		class HitLF2Wheel:HitLF2Wheel{armor=0.125; passThrough=0;};

		class HitRFWheel:HitRFWheel	{armor=0.125; passThrough=0;};
		class HitRF2Wheel:HitRF2Wheel{armor=0.125; passThrough=0;}; 

		class HitFuel 			{armor=0.50; material=-1; name="palivo"; visual=""; passThrough=0.2;}; /// correct points for fuel tank, some of the damage is aFRLied to the whole
		class HitEngine 		{armor=0.50; material=-1; name="motor"; visual=""; passThrough=0.2;};
		class HitBody: HitBody 	{name = "karoserie"; visual="camo1"; passThrough=1;}; /// all damage to the hull is aFRLied to total damage

		class HitGlass1 {armor=0.25;material=-1;name="glass1";visual="glass1";passThrough=0;};
		class HitGlass2 {armor=0.25;material=-1;name="glass2";visual="glass2";passThrough=0;};
		class HitGlass3 {armor=0.25;material=-1;name="glass3";visual="glass3";passThrough=0;};
		class HitGlass4 {armor=0.25;material=-1;name="glass4";visual="glass4";passThrough=0;};
		class HitGlass5 {armor=0.25;material=-1;name="glass5";visual="glass5";passThrough=0;};
		class HitGlass6 {armor=0.25;material=-1;name="glass6";visual="glass6";passThrough=0;};
	};

	class AnimationSources : AnimationSources
	{
		class HitGlass1
		{
			source="Hit";
			hitpoint="HitGlass1"; // name of hitpoints class
			raw = 1;
		};
		class HitGlass2: HitGlass1
		{
			hitpoint="HitGlass2";
		};
		class HitGlass3: HitGlass1
		{
			hitpoint="HitGlass3";
		};
		class HitGlass4: HitGlass1
		{
			hitpoint="HitGlass4";
		};
		class HitGlass5: HitGlass1
		{
			hitpoint="HitGlass5";
		};
		class HitGlass6: HitGlass1
		{
			hitpoint="HitGlass6";
		};
	};

	/// memory points where do tracks of the wheel appear
	// front left track, left offset
	memoryPointTrackFLL = "TrackFLL"; 
	// front left track, right offset
	memoryPointTrackFLR = "TrackFLR"; 
	// back left track, left offset
	memoryPointTrackBLL = "TrackBLL"; 
	// back left track, right offset
	memoryPointTrackBLR = "TrackBLR"; 
	// front right track, left offset
	memoryPointTrackFRL = "TrackFRL"; 
	// front right track, right offset
	memoryPointTrackFRR = "TrackFRR"; 
	// back right track, left offset
	memoryPointTrackBRL = "TrackBRL"; 
	// back right track, right offset
	memoryPointTrackBRR = "TrackBRR"; 


	selectionBrakeLights = "brake_light";
	selectionBackLights = "back_lights";

	class Damage {
		tex[] = {};
		mat[] = {"A3\soft_F\Quadbike_01\Data\Quadbike_01_base.rvmat","A3\soft_F\Quadbike_01\Data\Quadbike_01_base_damage.rvmat","A3\soft_F\Quadbike_01\Data\Quadbike_01_base_destruct.rvmat"};
			};


	/////physx/////////


	maxSpeed = 225;
	thrustDelay = 0.2;
	brakeIdleSpeed = 1.78;
	wheelCircumference=2.8;
	antiRollbarForceCoef	= 5; 	/// how strong is the anti-roll bar of vehicle preventing it to lose grip in turns (not any magical stuff, real ARB)
	antiRollbarForceLimit	= 20; 	/// highest possible force of ARB
	antiRollbarSpeedMin 	= 10; 	/// the roll bar force gets from zero to full in range of min and max speed
	antiRollbarSpeedMax	= 120;  /// this simulates losing grip at high speed turns
	idleRpm = 900;
	redRpm = 6000;

	class complexGearbox {
		GearboxRatios[] = {"R1", -2, "N", 0, "D1", 2.4, "D2", 1.467, "D3", 1};
		TransmissionRatios[] = {"High", 3.27};
		gearBoxMode = "auto";
		moveOffGear = 1;
		driveString = "D";
		neutralString = "N";
		reverseString = "R";
		gearUpMaxCoef = 0.8;
		gearDownMaxCoef = 0.5;
		gearUpMinCoef = 0.45;
		gearDownMinCoef = 0.15;
		transmissionDelay = 2;
	};


	simulation = "carx";
	dampersBumpCoef = 3.0;
	differentialType = "all_limited";
	frontRearSplit = 0.5;
	frontBias = 1.5;
	rearBias = 1.5;
	centreBias = 1.3;
	clutchStrength = 15.0;
	enginePower = 151;
	maxOmega = 628.32;
	peakTorque = 335;
	dampingRateFullThrottle = 0.08;
	dampingRateZeroThrottleClutchEngaged = 0.35;
	dampingRateZeroThrottleClutchDisengaged = 0.35;
	torqueCurve[] = {{0.0, 0.0}, {0.25, 0.65}, {0.3, 0.8}, {0.5, 0.95}, {0.7, 1.0}, {0.8, 0.9}, {0.9, 0.8}, {1.0, 0.5}};
	changeGearMinEffectivity[] = {0.95, 0.15, 0.95, 0.95, 0.95, 0.95, 0.95, 0.95};
	switchTime = 0.31;
	latency = 1.5;


               /////end//////////////



	/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
	// Wheels parameters
	/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
	class Wheels {
		class LF {
			boneName = "wheel_1_1_damper";
			steering = 1;
			side = "left";
			center = "wheel_1_1_axis";
			boundary = "wheel_1_1_bound";
			width = 0.126;
			mass = 40;/////////////40
			MOI = 2.8;
			dampingRate = 0.1;
			maxBrakeTorque = 2000;
			maxHandBrakeTorque = 0;
			suspTravelDirection[] = {0, -1, 0};
			suspForceAppPointOffset = "wheel_1_1_axis";
			tireForceAppPointOffset = "wheel_1_1_axis";
			maxCompression = 0.15;
			mMaxDroop = 0.1;
			sprungMass = 450;
			springStrength = 25000;
			springDamperRate = 2683;
			longitudinalStiffnessPerUnitGravity = 10000;
			latStiffX = 25;
			latStiffY = 180;
			frictionVsSlipGraph[] = {{0, 1}, {0.5, 1}, {1, 1}};
		};

		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;
		};

		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;
		};
	};

               //////////////////end wheels//////////////////////////////

	/////marmitte//////

	class Exhausts /// specific exhaust effects for the car
	{
		class Exhaust1 {
			position = "exhaust1";
			direction = "exhaust1_dir";
			effect = "ExhaustEffectOffroad";
		};
		class Exhaust2 {
			position = "exhaust2";
			direction = "exhaust2_dir";
			effect = "ExhaustEffectOffroad";
		};	
	};	

	/////fine marmitte///////

	/////specchietti retrovisori/////////

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

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

		class RightMirrorOut {
			renderTarget = "rendertarget6";

			class CameraView1 {
				pointPosition = "PIP1_pos";
				pointDirection = "PIP1_dir";
				renderQuality = 0;
				renderVisionMode = 4;
				fov = 0.7;
			};
		};

		class LeftMirrorOut {
			renderTarget = "rendertarget5";

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

		class RightMirror {
			renderTarget = "rendertarget1";

			class CameraView1 {
				pointPosition = "PIP1_pos";
				pointDirection = "PIP1_dir";
				renderQuality = 2;
				renderVisionMode = 4;
				fov = 0.7;
			};
		};

		class InteriorMirror {
			renderTarget = "rendertarget3";

			class CameraView1 {
				pointPosition = "PIP3_pos";
				pointDirection = "PIP3_dir";
				renderQuality = 2;
				renderVisionMode = 4;
				fov = 0.7;
			};
		};
	};

	/////fine specchietti/////

	///////luci anteriori///

	class Reflectors	/// only front lights are considered to be reflectors to save CPU
	{
		class LightCarHeadL01 	/// lights on each side consist of two bulbs with different flares
		{
			color[] 		= {1900, 1800, 1700};		/// approximate colour of standard lights
			ambient[]		= {5, 5, 5};				/// nearly a white one
			position 		= "LightCarHeadL01";		/// memory point for start of the light and flare
			direction 		= "LightCarHeadL01_end";	/// memory point for the light direction
			hitpoint 		= "Light_L";				/// point(s) in hitpoint lod for the light (hitPoints are created by engine)
			selection 		= "Light_L";				/// selection for artificial glow around the bulb, not much used any more
			size 			= 1;						/// size of the light point seen from distance
			innerAngle 		= 100;						/// angle of full light
			outerAngle 		= 179;						/// angle of some light
			coneFadeCoef 	= 10;						/// attenuation of light between the above angles
			intensity 		= 1;						/// strength of the light
			useFlare 		= true;						/// does the light use flare?
			dayLight 		= false;					/// switching light off during day saves CPU a lot
			flareSize 		= 1.0;						/// how big is the flare
			class Attenuation
			{
				start 			= 1.0;
				constant 		= 0; 
				linear 			= 0; 
				quadratic 		= 0.25; 
				hardLimitStart 	= 30;		/// it is good to have some limit otherwise the light would shine to infinite distance
				hardLimitEnd 	= 60;		/// this allows adding more lights into scene
			};
		};		
		class LightCarHeadL02:LightCarHeadL01
		{
			position 	= "LightCarHeadL02";
			direction 	= "LightCarHeadL02_end";
			FlareSize 	= 0.5;						/// side bulbs aren't that strong
		};
		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[] = {{"LightCarHeadL01", "LightCarHeadL02"}, {"LightCarHeadR01", "LightCarHeadR02"}}; /// aggregating reflectors helps the engine a lot
	/// it might be even good to aggregate all lights into one source as it is done for most of the cars
};



};

Share this post


Link to post
Share on other sites

this is the model.cfg:

class Rotation
{
   type = "rotation";
   memory = 1;
   minValue = 0;
   maxValue = 1;
   angle0 = 0;
   angle1 = 1;
};
class CfgSkeletons
{
   class Default
   {
       isDiscrete = 1;
       skeletonInherit = "";
       skeletonBones[] = {};
   };
   class Vehicle : Default {};
   class Car : Vehicle {
       skeletonBones[]=
       {
           "drivewheel","",
           "lightbar",    "",
           "siren",    "",
           "directional",    "",
           "takedown",    "",
           "alley",    "",
           "radarbox",    "",

           "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",

           "OtocVez","",
           "OtocHlaven","OtocVez",

           "damageHide","",
           "damageVez","OtocVez",
           "damageHlaven","OtocHlaven",

           "ukaz_rychlo","",
           "ukaz_rychlo2","",
           "ukaz_rpm","",
           "mph","",
           "rpm","",
           "fuel","",
           "fuel_1","",
           "fuel_01","",
           "fuel_2","",
           "fuel_3","",
           "prop_01","",
           "prop_02","",
           "prop_2","",
           "prop_1","",
           "glass1","damageHide",
           "glass2","damageHide",
           "glass3","damageHide",
           "glass4","damageHide",
       };
   };
   class civil_car: Car
   {
       skeletonInherit="Car";
       skeletonBones[]=
       {
           "reverse_light","",
           "daylights","damageHide",
           "door1","",
           "door2","",
           "glass5","damageHide",
       };
   };

};

class CfgModels
{
   class Default
   {
       sectionsInherit = "";
       sections[] = {};
       skeletonName = "";
   };
   class Vehicle: Default
   {
       sections[] =
       {
           "cislo",
           "grupa",
           "side",
           "sektor",
           "clan",
           "clan_sign",
           "podsvit pristroju",
           "poskozeni",
           "L svetlo",
           "P svetlo",
           "zasleh"
       };
   };    

   class Car: Vehicle
   {
       htMin = 60;        // Minimum half-cooling time (in seconds)
       htMax = 180;    // Maximum half-cooling time (in seconds)
       afMax = 100;    // Maximum temperature in case the model is alive (in celsius)
       mfMax = 8;        // Maximum temperature when the model is moving (in celsius)
       mFact = 1;        // Metabolism factor - number from interval <0, 1> (0 - metabolism has no influence, 1 - metabolism has full influence (no other temperature source will be considered)).
       tBody = 150;    // Metabolism temperature of the model (in celsius)

       sections[]=
       {
           "ammo",
           "zadni svetlo",
           "brzdove svetlo",
           "spz",
           "motor",
           "body",
           "clan",
           "clan_sign",
           "zasleh",
           "Light_R",
           "Light_L",
           "podsvit pristroju",
           "glass1",
           "glass2",
           "glass3",
           "glass4",
           "glass5",
           "glass6",
           "lb-back-blue-1",
           "lb-back-blue-2",
           "lb-back-blue-3",
           "lb-back-red-1",
           "lb-back-red-2",
           "lb-back-red-3",
           "lb-back-yellow-1",
           "lb-back-yellow-2",
           "lb-back-yellow-3",
           "lb-back-yellow-4",
           "lb-back-yellow-5",
           "lb-back-yellow-6",
           "lb-front-blue-1",
           "lb-front-blue-2",
           "lb-front-red-2",
           "lb-front-red-1",
           "lb-left-takedown",
           "lb-right-takedown",
           "lb-right-alley",
           "lb-left-alley",
           "lb-right-front-corner",
           "lb-left-front-corner",
           "lb-left-back-corner",
           "lb-right-back-corner",
           "lb-ion-blue",
           "lb-ion-red",
           "left_headlight",
           "right_headlight",
           "brake_light",
           "back_lights"

       };
       skeletonName="Car";

       class Animations
       {
           class ani_lightbar
           {
               type="rotation";
               source="user";
               memory = 1;//by default
               animPeriod = 0;//Unknown
               selection="lightbar";
               axis="";//"lightbar_axis";//possibly
               minValue = 0.0;//rad 0.0
               maxValue = 1000.0;//rad 57295.78
               minPhase = 0.0;//rad 0.0
               maxPhase = 1000.0;//rad 57295.78
               angle0 = 0.0;//rad 0.0;
               angle1 = 3.0;//rad 171.88734;
//                AxisPos[] = {0.0,3.0,0.0};
//                AxisDir[] = {1.6820488e+019,7.1547368e+022,1.9411033e+031};
//                angle = 4.1037e-041/*#DEN*/;
//                axisOffset = 0.0
           };
           class ani_siren
           {
               type="rotation";
               source="user";
               memory = 1;//by default
               animPeriod = 0;//Unknown
               selection="siren";
               axis="";//"siren_axis";//possibly
               minValue = 0.0;//rad 0.0
               maxValue = 1000.0;//rad 57295.78
               minPhase = 0.0;//rad 0.0
               maxPhase = 1000.0;//rad 57295.78
               angle0 = 0.0;//rad 0.0;
               angle1 = 3.0;//rad 171.88734;
//                AxisPos[] = {0.0,3.0,0.0};
//                AxisDir[] = {1.6820488e+019,6.9472114e+022,1.9144365e+028};
//                angle = 7.1855833e+022;
//                axisOffset = 1.59748e-043/*#DEN*/
           };
           class ani_takedown
           {
               type="rotation";
               source="user";
               memory = 1;//by default
               animPeriod = 0;//Unknown
               selection="takedown";
               axis="";//"takedown_axis";//possibly
               minValue = 0.0;//rad 0.0
               maxValue = 1000.0;//rad 57295.78
               minPhase = 0.0;//rad 0.0
               maxPhase = 1000.0;//rad 57295.78
               angle0 = 0.0;//rad 0.0;
               angle1 = 3.0;//rad 171.88734;
//                AxisPos[] = {0.0,3.0,0.0};
//                AxisDir[] = {1.6820488e+019,6.977986e+022,1.9411046e+031};
//                angle = 4.1037e-041/*#DEN*/;
//                axisOffset = 0.0
           };
           class ani_alley
           {
               type="rotation";
               source="user";
               memory = 1;//by default
               animPeriod = 0;//Unknown
               selection="alley";
               axis="";//"alley_axis";//possibly
               minValue = 0.0;//rad 0.0
               maxValue = 1000.0;//rad 57295.78
               minPhase = 0.0;//rad 0.0
               maxPhase = 1000.0;//rad 57295.78
               angle0 = 0.0;//rad 0.0;
               angle1 = 3.0;//rad 171.88734;
//                AxisPos[] = {0.0,3.0,0.0};
//                AxisDir[] = {1.6820488e+019,7.15473e+022,7.225071e+028};
//                angle = 9.95318e-039/*#DEN*/;
//                axisOffset = 4.5447454e+030
           };
           class ani_directional
           {
               type="rotation";
               source="user";
               memory = 1;//by default
               animPeriod = 0;//Unknown
               selection="directional";
               axis="";//"directional_axis";//possibly
               minValue = 0.0;//rad 0.0
               maxValue = 1000.0;//rad 57295.78
               minPhase = 0.0;//rad 0.0
               maxPhase = 1000.0;//rad 57295.78
               angle0 = 0.0;//rad 0.0;
               angle1 = 3.0;//rad 171.88734;
//                AxisPos[] = {0.0,3.0,0.0};
//                AxisDir[] = {1.6820488e+019,2.6330496e+020,1.9411038e+031};
//                angle = 4.1037e-041/*#DEN*/;
//                axisOffset = 0.0
           };
           class ani_radar
           {
               type="rotation";
               source="user";
               memory = 1;//by default
               animPeriod = 0;//Unknown
               selection="radarbox";
               axis="";//"radarbox_axis";//possibly
               minValue = 0.0;//rad 0.0
               maxValue = 1000.0;//rad 57295.78
               minPhase = 0.0;//rad 0.0
               maxPhase = 1000.0;//rad 57295.78
               angle0 = 0.0;//rad 0.0;
               angle1 = 3.0;//rad 171.88734;
//                AxisPos[] = {0.0,3.0,1.26117e-044/*#DEN*/};
//                AxisDir[] = {6.770931e+022,1.2781053e+019,6.740347e+022};
//                angle = 3.0734807e+032;
//                axisOffset = 131537.55
           };

           // destruct START
           class damageHide
           {
               type="hide";
               source="damage";
               selection="damageHide";
               hideValue=1.0;
           };
           class damageHideVez:damageHide
           {
               selection="OtocVez";
           };
           class damageHideHlaven:damageHide
           {
               selection="OtocHlaven";
           };

           // Wheels START
           // Wheels Complete Destruct START
           class wheel_1_1_destruct
           {
               type="hide";
               selection="wheel_1_1_hide";
               source="HitLFWheel";
               minValue = 0; // upravit na 0.99
               maxValue = 1; // upravit na 1.0
               hidevalue = 0.99999;
           };

           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;
           };

           // Wheels Complete Destruct END

           #define DamageOffset 0.2

           // Wheels Damage START
           class wheel_1_1_Damage:wheel_1_1_destruct
           {
               type="translation";
               axis="Basic_Damper_Destruct_Axis";
               memory=1;
               selection="wheel_1_1_damper";
               source="HitLFWheel";
               minValue = 0.0;
               maxValue = 1;
               offset0 = 0;
               offset1 = DamageOffset;
           };
           class wheel_1_2_Damage:wheel_1_1_Damage {source="HitLBWheel";selection="wheel_1_2_damper";};
           class wheel_1_3_Damage:wheel_1_1_Damage {source="HitLMWheel";selection="wheel_1_3_damper";};
           class wheel_1_4_Damage:wheel_1_1_Damage {source="HitLF2Wheel";selection="wheel_1_4_damper";};

           class wheel_2_1_Damage:wheel_1_1_Damage {source="HitRFWheel";selection="wheel_2_1_damper";};
           class wheel_2_2_Damage:wheel_1_1_Damage {source="HitRBWheel";selection="wheel_2_2_damper";};
           class wheel_2_3_Damage:wheel_1_1_Damage {source="HitRMWheel";selection="wheel_2_3_damper";};
           class wheel_2_4_Damage:wheel_1_1_Damage {source="HitRF2Wheel";selection="wheel_2_4_damper";};


           class wheel_1_1_Damper_Damage_BackAnim:wheel_1_1_Damage {selection="wheel_1_1_damper";offset1 = -1.2*DamageOffset;};
           class wheel_1_2_Damper_Damage_BackAnim:wheel_1_1_Damper_Damage_BackAnim {source="HitLBWheel";selection="wheel_1_2_damper";};
           class wheel_1_3_Damper_Damage_BackAnim:wheel_1_1_Damper_Damage_BackAnim {source="HitLMWheel";selection="wheel_1_3_damper";};
           class wheel_1_4_Damper_Damage_BackAnim:wheel_1_1_Damper_Damage_BackAnim {source="HitLF2Wheel";selection="wheel_1_4_damper";};

           class wheel_2_1_Damper_Damage_BackAnim:wheel_1_1_Damper_Damage_BackAnim {source="HitRFWheel";selection="wheel_2_1_damper";};
           class wheel_2_2_Damper_Damage_BackAnim:wheel_1_1_Damper_Damage_BackAnim {source="HitRBWheel";selection="wheel_2_2_damper";};
           class wheel_2_3_Damper_Damage_BackAnim:wheel_1_1_Damper_Damage_BackAnim {source="HitRMWheel";selection="wheel_2_3_damper";};
           class wheel_2_4_Damper_Damage_BackAnim:wheel_1_1_Damper_Damage_BackAnim {source="HitRF2Wheel";selection="wheel_2_4_damper";};

           // Wheels Damage END
           // Wheels END

           // destruct END
           class Fuel: Rotation
           {
               source="fuel";
               selection="fuel";
               axis="fuel_axis";
               maxValue=1;
               memory=1;
               angle0="rad -110";
               angle1=0;
           };
           class IndicatorSpeed: Rotation
           {
               source="speed";
               selection="mph";
               axis="mph_axis";
               memory=1;
               maxValue=38.900002;
               angle1="rad -265";
           };
           class IndicatorFuel: Rotation
           {
               type="rotation";
               source="fuel";
               selection="fuel_1";
               axis="fuel_1_axis";
               memory=1;
               minValue=0.000000;
               maxValue=1.000000;
               angle0=-0.087266;
               angle1=-1.658063;
           };
           class IndicatorRPM: Rotation
           {
               source="rpm";
               selection="rpm";
               axis="rpm_axis";
               memory=1;
               angle1="rad 80";
           };
           class DrivingWheel: Rotation
           {
               source="drivingWheel";
               selection="drivewheel";
               axis="drivewheel_axis";
               minValue=-1;
               maxValue=1;
               angle0=(rad 80);
               angle1=(rad -80);
           };
           class Steering_1_1
           {
               type="rotationY";
               source="drivingWheel";
               selection="wheel_1_1_steering";
               axis="wheel_1_1_steering_axis";
               memory=1;
               minValue= -1;
               maxValue= 1;
               angle0=1.047198;
               angle1=-1.047198;
           };
           class Steering_2_1: Steering_1_1
           {
               selection="wheel_2_1_steering";
               axis="wheel_2_1_steering_axis";
           };
           class Wheel_1_1
           {
               type="rotationX";
               source="wheel";
               selection="wheel_1_1";
               axis="wheel_1_1_axis";
               memory=1;
               sourceAddress="loop";
               minValue=0;
               maxValue=1;
               angle0=0;
               angle1="rad -360";
           };
           class wheel_2_1: Wheel_1_1
           {
               selection="wheel_2_1";
               axis="wheel_2_1_axis";
           };
           class wheel_1_2: Wheel_1_1
           {
               selection="wheel_1_2";
               axis="wheel_1_2_axis";
           };
           class Wheel_2_2: Wheel_1_1
           {
               selection="wheel_2_2";
               axis="wheel_2_2_axis";
           };
           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= "0.5";
               offset1= "-0.5";
               memory=1;
           };
           class wheel_2_1_Damper: Wheel_1_1_Damper
           {
               selection="wheel_2_1_damper_land";
           };
           class wheel_1_2_Damper: Wheel_1_1_Damper
           {
               selection="wheel_1_2_damper_land";
           };
           class Wheel_2_2_Damper: Wheel_1_1_Damper
           {
               selection="wheel_2_2_damper_land";
           };
           class daylights
           {
               type="hide";
               source="rpm";
               selection="daylights";
               minValue=-0.8;
               maxValue=0.2;
               unhidevalue=1;
               sourceAddress="clamp";
           };

           class reverse_light
           {
               type="Hide";
               selection="reverse_light";
               sourceAddress="clamp";
               source="Gear";
               minValue = -1;
               maxValue = 0;
               hideValue = "0.2";    
           };            
       };
   };

   class max_ford: Car
   {
       skeletonName = "civil_car";
       sectionsInherit = "Car";
       sections[]=
       {
           "body",
           "karoserie",
           "palivo",
       };
       class Animations: Animations
       {
           class wheel_1_1_Damage: wheel_1_1_Damage{offset1=0.18000001;};
           class wheel_1_2_Damage: wheel_1_2_Damage{offset1=0.18000001;};
           class wheel_2_1_Damage: wheel_2_1_Damage{offset1=0.18000001;};
           class wheel_2_2_Damage: wheel_2_2_Damage{offset1=0.18000001;};

           class wheel_1_1_Damper_Damage_BackAnim: wheel_1_1_Damper_Damage_BackAnim{offset1=-0.18000001;};
           class wheel_1_2_Damper_Damage_BackAnim: wheel_1_2_Damper_Damage_BackAnim{offset1=-0.18000001;};
           class wheel_2_1_Damper_Damage_BackAnim: wheel_2_1_Damper_Damage_BackAnim{offset1=-0.18000001;};
           class wheel_2_2_Damper_Damage_BackAnim: wheel_2_2_Damper_Damage_BackAnim{offset1=-0.18000001;};

           class DrivingWheel
           {
               type="rotation";
               source="drivingWheel";
               selection="drivewheel";
               axis="drivewheel_axis";
               memory=1;
               minValue=-1;
               maxValue=1;
               angle0=(rad 70);
               angle1=(rad -70);
           };
           class Steering_1_1
           {
               type="rotationY";
               source="drivingWheel";
               selection="wheel_1_1_steering";
               axis="wheel_1_1_steering_axis";
               memory=1;
               minValue="rad -90";
               maxValue="rad +90";
               angle0=1.0471981;
               angle1=-1.0471981;
           };
           class Steering_2_1: Steering_1_1
           {
               selection="wheel_2_1_steering";
               axis="wheel_2_1_steering_axis";
               angle0=1.0471981;
               angle1=-1.0471981;
           };
           class IndicatorSpeed: Rotation
           {
               source="speed";
               selection="mph";
               axis="mph_axis";
               memory=1;
               maxValue=28;
               angle0=0.17453299;
               angle1=-3.141593;
           };
           class IndicatorRPM: Rotation
           {
               type="rotation";
               source="rpm";
               selection="rpm";
               axis="rpm_axis";
               memory=1;
               minValue=0;
               maxValue=7500;
               angle0=(rad 0);
               angle1=(rad 250);
           };                
           class fuel
           {
               type="rotation";
               source="fuel";
               selection="fuel";
               axis="fuel_axis";
               memory=1;
               minValue=0;
               maxValue=1;
               angle0=0;
               angle1="rad +55";
           };
           class prop_01
           {
               type="rotation";
               source="rpm";
               selection="prop_1";
               axis="prop_1_axis";
               memory=1;
               minValue=1000;
               maxValue=7000;
               angle0="rad 30";
               angle1="rad 35";
           };

           class daylights
           {
               type="hide";
               source="rpm";
               selection="daylights";
               minValue=-0.8;
               maxValue=0.2;
               unhidevalue=1;
               sourceAddress="clamp";
           };

           class reverse_light
           {
               type="Hide";
               selection="reverse_light";
               sourceAddress="clamp";
               source="Gear";
               minValue = -1;
               maxValue = 0;
               hideValue = "0.2";    
           };

           class damageHidedoor1:damageHide
           {
               selection="door1";
           };
           class damageHidedoor2:damageHide
           {
               selection="door2";
           };    

           class Glass5_destruct
           {
               type="hide";
               selection="glass5";
               source="HitGlass5";
               minValue = 0;
               maxValue = 1;
               hidevalue = 0.99999;
           };    
           class Wheel_1_1_Damper: 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= "0.5";
               offset1= "-0.5";
               memory=1;
           };
           class wheel_2_1_Damper: Wheel_1_1_Damper
           {
               selection="wheel_2_1_damper_land";            
           };
           class wheel_1_2_Damper: Wheel_1_1_Damper
           {
               selection="wheel_1_2_damper_land";                        
           };
           class Wheel_2_2_Damper: Wheel_1_1_Damper
           {
               selection="wheel_2_2_damper_land";        
           };            
       };
   };

class DAR_ImpalaPIS: Car
   {
       skeletonName = "civil_car";
       sectionsInherit = "Car";
       sections[]=
       {
           "body",
           "karoserie",
           "palivo",
       };
       class Animations: Animations
       {
           class wheel_1_1_Damage: wheel_1_1_Damage{offset1=0.18000001;};
           class wheel_1_2_Damage: wheel_1_2_Damage{offset1=0.18000001;};
           class wheel_2_1_Damage: wheel_2_1_Damage{offset1=0.18000001;};
           class wheel_2_2_Damage: wheel_2_2_Damage{offset1=0.18000001;};

           class wheel_1_1_Damper_Damage_BackAnim: wheel_1_1_Damper_Damage_BackAnim{offset1=-0.18000001;};
           class wheel_1_2_Damper_Damage_BackAnim: wheel_1_2_Damper_Damage_BackAnim{offset1=-0.18000001;};
           class wheel_2_1_Damper_Damage_BackAnim: wheel_2_1_Damper_Damage_BackAnim{offset1=-0.18000001;};
           class wheel_2_2_Damper_Damage_BackAnim: wheel_2_2_Damper_Damage_BackAnim{offset1=-0.18000001;};

           class DrivingWheel
           {
               type="rotation";
               source="drivingWheel";
               selection="drivewheel";
               axis="drivewheel_axis";
               memory=1;
               minValue=-1;
               maxValue=1;
               angle0=(rad 70);
               angle1=(rad -70);
           };
           class Steering_1_1
           {
               type="rotationY";
               source="drivingWheel";
               selection="wheel_1_1_steering";
               axis="wheel_1_1_steering_axis";
               memory=1;
               minValue="rad -90";
               maxValue="rad +90";
               angle0=1.0471981;
               angle1=-1.0471981;
           };
           class Steering_2_1: Steering_1_1
           {
               selection="wheel_2_1_steering";
               axis="wheel_2_1_steering_axis";
               angle0=1.0471981;
               angle1=-1.0471981;
           };
           class IndicatorSpeed: Rotation
           {
               source="speed";
               selection="mph";
               axis="mph_axis";
               memory=1;
               maxValue=28;
               angle0=0.17453299;
               angle1=-3.141593;
           };
           class IndicatorRPM: Rotation
           {
               type="rotation";
               source="rpm";
               selection="rpm";
               axis="rpm_axis";
               memory=1;
               minValue=0;
               maxValue=7500;
               angle0=(rad 0);
               angle1=(rad 250);
           };                
           class fuel
           {
               type="rotation";
               source="fuel";
               selection="fuel";
               axis="fuel_axis";
               memory=1;
               minValue=0;
               maxValue=1;
               angle0=0;
               angle1="rad +55";
           };
           class prop_01
           {
               type="rotation";
               source="rpm";
               selection="prop_1";
               axis="prop_1_axis";
               memory=1;
               minValue=1000;
               maxValue=7000;
               angle0="rad 30";
               angle1="rad 35";
           };

           class daylights
           {
               type="hide";
               source="rpm";
               selection="daylights";
               minValue=-0.8;
               maxValue=0.2;
               unhidevalue=1;
               sourceAddress="clamp";
           };

           class reverse_light
           {
               type="Hide";
               selection="reverse_light";
               sourceAddress="clamp";
               source="Gear";
               minValue = -1;
               maxValue = 0;
               hideValue = "0.2";    
           };

           class damageHidedoor1:damageHide
           {
               selection="door1";
           };
           class damageHidedoor2:damageHide
           {
               selection="door2";
           };    

           class Glass5_destruct
           {
               type="hide";
               selection="glass5";
               source="HitGlass5";
               minValue = 0;
               maxValue = 1;
               hidevalue = 0.99999;
           };    
           class Wheel_1_1_Damper: 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= "0.5";
               offset1= "-0.5";
               memory=1;
           };
           class wheel_2_1_Damper: Wheel_1_1_Damper
           {
               selection="wheel_2_1_damper_land";            
           };
           class wheel_1_2_Damper: Wheel_1_1_Damper
           {
               selection="wheel_1_2_damper_land";                        
           };
           class Wheel_2_2_Damper: Wheel_1_1_Damper
           {
               selection="wheel_2_2_damper_land";        
           };            
       };
   };

class DAR_ImpalaPID: Car
   {
       skeletonName = "Car";
       sectionsInherit = "Car";
       sections[]=
       {
           "body",
           "karoserie",
           "palivo",
       };
       class Animations: Animations
       {
           class wheel_1_1_Damage: wheel_1_1_Damage{offset1=0.18000001;};
           class wheel_1_2_Damage: wheel_1_2_Damage{offset1=0.18000001;};
           class wheel_2_1_Damage: wheel_2_1_Damage{offset1=0.18000001;};
           class wheel_2_2_Damage: wheel_2_2_Damage{offset1=0.18000001;};

           class wheel_1_1_Damper_Damage_BackAnim: wheel_1_1_Damper_Damage_BackAnim{offset1=-0.18000001;};
           class wheel_1_2_Damper_Damage_BackAnim: wheel_1_2_Damper_Damage_BackAnim{offset1=-0.18000001;};
           class wheel_2_1_Damper_Damage_BackAnim: wheel_2_1_Damper_Damage_BackAnim{offset1=-0.18000001;};
           class wheel_2_2_Damper_Damage_BackAnim: wheel_2_2_Damper_Damage_BackAnim{offset1=-0.18000001;};

           class DrivingWheel
           {
               type="rotation";
               source="drivingWheel";
               selection="drivewheel";
               axis="drivewheel_axis";
               memory=1;
               minValue=-1;
               maxValue=1;
               angle0=(rad 70);
               angle1=(rad -70);
           };
           class Steering_1_1
           {
               type="rotationY";
               source="drivingWheel";
               selection="wheel_1_1_steering";
               axis="wheel_1_1_steering_axis";
               memory=1;
               minValue="rad -90";
               maxValue="rad +90";
               angle0=1.0471981;
               angle1=-1.0471981;
           };
           class Steering_2_1: Steering_1_1
           {
               selection="wheel_2_1_steering";
               axis="wheel_2_1_steering_axis";
               angle0=1.0471981;
               angle1=-1.0471981;
           };
           class IndicatorSpeed: Rotation
           {
               source="speed";
               selection="mph";
               axis="mph_axis";
               memory=1;
               maxValue=28;
               angle0=0.17453299;
               angle1=-3.141593;
           };
           class IndicatorRPM: Rotation
           {
               type="rotation";
               source="rpm";
               selection="rpm";
               axis="rpm_axis";
               memory=1;
               minValue=0;
               maxValue=7500;
               angle0=(rad 0);
               angle1=(rad 250);
           };                
           class fuel
           {
               type="rotation";
               source="fuel";
               selection="fuel";
               axis="fuel_axis";
               memory=1;
               minValue=0;
               maxValue=1;
               angle0=0;
               angle1="rad +55";
           };
           class prop_01
           {
               type="rotation";
               source="rpm";
               selection="prop_1";
               axis="prop_1_axis";
               memory=1;
               minValue=1000;
               maxValue=7000;
               angle0="rad 30";
               angle1="rad 35";
           };

           class daylights
           {
               type="hide";
               source="rpm";
               selection="daylights";
               minValue=-0.8;
               maxValue=0.2;
               unhidevalue=1;
               sourceAddress="clamp";
           };

           class reverse_light
           {
               type="Hide";
               selection="reverse_light";
               sourceAddress="clamp";
               source="Gear";
               minValue = -1;
               maxValue = 0;
               hideValue = "0.2";    
           };

           class damageHidedoor1:damageHide
           {
               selection="door1";
           };
           class damageHidedoor2:damageHide
           {
               selection="door2";
           };    

           class Glass5_destruct
           {
               type="hide";
               selection="glass5";
               source="HitGlass5";
               minValue = 0;
               maxValue = 1;
               hidevalue = 0.99999;
           };    
           class Wheel_1_1_Damper: 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= "0.5";
               offset1= "-0.5";
               memory=1;
           };
           class wheel_2_1_Damper: Wheel_1_1_Damper
           {
               selection="wheel_2_1_damper_land";            
           };
           class wheel_1_2_Damper: Wheel_1_1_Damper
           {
               selection="wheel_1_2_damper_land";                        
           };
           class Wheel_2_2_Damper: Wheel_1_1_Damper
           {
               selection="wheel_2_2_damper_land";        
           };            
       };
   };

};  

Share this post


Link to post
Share on other sites

Judging from that one image you posted, you're using the old Arma 2 tools, so it's no wonder you're running into so many issues, why have you not downloaded the new tools from steam?

There's no actual reason for you not to have them, considering you're doing work in Arma 3.

Edited by Kiory

Share this post


Link to post
Share on other sites

I assume the game crashes, when you try to preview the mission with your custom car?

Had the same issue when working with the helicopterX class. Just make sure you are not missing any config entries that are needed for simulation carX.

Missing entries will create a crash. Only thing that is inside the RPT will be the generated miniDump.

Best regards

Edited by swissMAG

Share this post


Link to post
Share on other sites

@dezkit

what does it say in the rpt

Where I find the rpt?

I searched it everywhere...

@Kiory

Judging from that one image you posted, you're using the old Arma 2 tools, so it's no wonder you're running into so many issues, why have you not downloaded the new tools from steam?

here's no actual reason for you not to have them, considering you're doing work in Arma 3.

Ok You right, I begun this car model a bit of time ago and then I postponed the project....

now I'm using the new tools..

but with the new tools I don't see in all the lods the model car (yellow in old version) Is it normal?

It's very difficult to put memory points and other..

@swissMAG

I assume the game crashes, when you try to preview the mission with your custom car?

Had the same issue when working with the helicopterX class. Just make sure you are not missing any config entries that are needed for simulation carX.

Missing entries will create a crash. Only thing that is inside the RPT will be the generated miniDump.

Best regards

It's right.

I used many config ready, also very simple...

However I'll check again..

Edited by maxjoiner

Share this post


Link to post
Share on other sites

Yes the lods not appearing first off is quite normal, you'll want to customize your interface.

To do this, go to File, Options, and then check "View background LOD" and "View background LOD in 3D Preview", that should bring them up in the 2D and 3D viewports.

Share this post


Link to post
Share on other sites

also, your physx geometry is way too detailed... as low poly as possible. For the main body 1 box and for the roof another box (deformed so it fits the shape better) is enough.

Look at the A3 sample car that comes with the tools.

Share this post


Link to post
Share on other sites

before to do this physx geometry lod I tried with one very simple......

The same error crash....

However I'll look again....

Thanks

Share this post


Link to post
Share on other sites

@Fennek

I tried to pack in PBO file, A3 sample car (Test_Car_01)

but if I use Simulation = "carx"; my ArmA3 crashs also with the test car....

Without Simulation = "carx"; in config, A3 sample Car works.....

Another thing very strange is If I save a modify with the new object tool, my car can't move...

if I save with oxygen all normal....:confused:

this is my actual result:



lu8XhbucgRw

Edited by maxjoiner

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  

×