Jump to content
Sign in to follow this  
ArmaAddict7

Model Light Animation Issue

Recommended Posts

Hey guys, I have a problem with one of the models i'm working with... Bare with me as I have never done light animations via script before but I was given the config and model scripts and they work on a previous addon however do not work on mine when I transfer the model and config over and just change the class names etc.

help.png

help1.png

_topbarTexture = "firetruck\textures\lightbar.paa";
_everthingelse = "firetruck\textures\emerglights.paa";
_car = _this select 0;
while{alive _car}do{
	if(_car getVariable "AM_Lightbar" == 1)then{
	_car setObjectTexture [1,_everthingelse];
	_car setObjectTexture [2, ""];
	_car setObjectTexture [3,_topbarTexture];
	_car setObjectTexture [4,""];
	_car setObjectTexture [12,_everthingelse];
	_car setObjectTexture [13, ""];
	_car setObjectTexture [15, ""];	
	_car setObjectTexture [14,_everthingelse];
	_car setObjectTexture [16,_topbarTexture];
	_car setObjectTexture [17,""];


	_light_r = "#lightpoint" createVehicle (position _car);  
	_light_r setLightBrightness 0.1; 
	_light_r setLightAmbient [0, 0, 1];  
	_light_r setLightColor [0, 0, 1];  
	_light_r lightAttachObject [_car, [1,0,-1]];
	
	sleep 0.1;
	_car setObjectTexture [1,""];
	_car setObjectTexture [2, ""];
	_car setObjectTexture [16,""];
	_car setObjectTexture [17,""];
	sleep 0.1;
	_car setObjectTexture [1,_everthingelse];
	_car setObjectTexture [2, ""];
	_car setObjectTexture [16,_topbarTexture];
	_car setObjectTexture [17,""];
	sleep 0.1;
	_car setObjectTexture [2,_everthingelse];
	_car setObjectTexture [1, ""];
	
	_car setObjectTexture [4,_topbarTexture];
	_car setObjectTexture [3,""];

	_car setObjectTexture [13,_everthingelse];
	_car setObjectTexture [12, ""];
	_car setObjectTexture [14, ""];	
	_car setObjectTexture [15,_everthingelse];
	_car setObjectTexture [17,_topbarTexture];
	_car setObjectTexture [16,""];
	deletevehicle _light_r;
	_light_r = "#lightpoint" createVehicle (position _car);  
	_light_r setLightBrightness 0.1; 
	_light_r setLightAmbient [1, 0, 0];  
	_light_r setLightColor [1, 0, 0];  
	_light_r lightAttachObject [_car, [-1,0,-1]];

	sleep 0.1;
	_car setObjectTexture [2,""];
	_car setObjectTexture [1, ""];
	_car setObjectTexture [16,""];
	_car setObjectTexture [17,""];
	sleep 0.1;
	_car setObjectTexture [2,_everthingelse];
	_car setObjectTexture [1, ""];
	_car setObjectTexture [17,_topbarTexture];
	_car setObjectTexture [16,""];
	sleep 0.1;
	deleteVehicle _light_r;
}else{
	if(!isNil "_light_r")then{
		deleteVehicle _light_r;
	};
 	_car setObjectTexture[1,""];
 	_car setObjectTexture[2,""];	
 	_car setObjectTexture[3,""];
 	_car setObjectTexture[4,""];
 	_car setObjectTexture[5,""];
 	_car setObjectTexture[6,""];
 	_car setObjectTexture[7,""];
 	_car setObjectTexture[8,""];
 	_car setObjectTexture[9,""];
 	_car setObjectTexture[10,""];
 	_car setObjectTexture[11,""];
 	_car setObjectTexture[12,""];
 	_car setObjectTexture[13,""];
 	_car setObjectTexture[14,""];
 	_car setObjectTexture[15,""];
 	_car setObjectTexture[16,""];
 	_car setObjectTexture[17,""];
};
};
_car = _this select 0;
if(isNil "_car")exitWith{}; // the fuck???
_car setVariable ["AM_lightbar",0,true];
_car setVariable ["AM_siren",0,true];
[_car] execVM "firetruck\script\am_lightbar.sqf";
[_car] execVM "firetruck\script\siren.sqf";
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","",

			"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"
		};
		skeletonName="Car";
		class Animations
		{
			// 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_2_destruct:wheel_1_1_destruct {source="HitLBWheel";selection="wheel_1_2_hide";};
			class wheel_1_3_destruct:wheel_1_1_destruct {source="HitLMWheel";selection="wheel_1_3_hide";};
			class wheel_1_4_destruct:wheel_1_1_destruct {source="HitLF2Wheel";selection="wheel_1_4_hide";};

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

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

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

			// 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

				//Glass Damage START
				class Glass1_destruct
				{
					type="hide";
					selection="glass1";
					source="HitGlass1";
					minValue = 0; 
					maxValue = 1; 
					hidevalue = 0.99999;
				};
				class Glass2_destruct:Glass1_destruct{selection="glass2";source="HitGlass2";};
				class Glass3_destruct:Glass1_destruct{selection="glass3";source="HitGlass3";};
				class Glass4_destruct:Glass1_destruct{selection="glass4";source="HitGlass4";};
				class Glass5_destruct:Glass1_destruct{selection="glass5";source="HitGlass5";};
				class Glass6_destruct:Glass1_destruct{selection="glass6";source="HitGlass6";};
				//Glass Damage 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_1_3: Wheel_1_1
			{
				selection="wheel_1_3";
				axis="wheel_1_3_axis";
			};
			class Wheel_2_2: Wheel_1_1
			{
				selection="wheel_2_2";
				axis="wheel_2_2_axis";
			};
			class Wheel_2_3: Wheel_1_1
			{
				selection="wheel_2_3";
				axis="wheel_2_3_axis";
			};
			class Wheel_1_4: Wheel_1_1
			{
				selection="wheel_1_4";
				axis="wheel_1_4_axis";
			};
			class Wheel_2_4: Wheel_1_1
			{
				selection="wheel_2_4";
				axis="wheel_2_4_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";
				axis="posun wheel_2_1";
			};
			class wheel_1_2_Damper: Wheel_1_1_Damper
			{
				selection="wheel_1_2_damper_land";
				axis="posun wheel_1_2";
			};
			class Wheel_2_2_Damper: Wheel_1_1_Damper
			{
				selection="wheel_2_2_damper_land";
				axis="posun wheel_2_2";
			};
			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 AM_FCV: Car
	{
		skeletonName = "civil_car";
		sectionsInherit = "Car";
		sections[]=
		{
			"Camo1",
			"Camo2",
			"Camo3",
			"body",
			"karoserie",
			"palivo",
			"plate1",
			"plate2",
			"plate3",
			"plate4",
			"plate5",
			"plate6",
			"plate7","ind_left","ind_right"

		};
		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 Rotate {
				Animperiod=1;
				type="rotation";
				selection="rotat";
				axis="rotat_axis";
				sourceAddress = "loop";
				source="user";
				memory=1;
				minValue=-1;
				maxValue=1;
				angle0=0;
				angle1="rad +360";
			};
			class indicator_left {
				type="Hide";
				sourceAddress="loop";
				source="Gear";
				minValue=-1;
				maxValue=0;
				hideValue="0.2";
				selection="ind_left";
			};
			class indicator_right: indicator_left {
				selection="ind_right";
			};
			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 plate1{
				type="Hide";
				selection="plate1";
				sourceAddress="clamp";
				source="Gear";
				minValue = -1;
				maxValue = 0;
				hideValue = "0.2";
			};
			class plate2{
				type="Hide";
				selection="plate2";
				sourceAddress="clamp";
				source="Gear";
				minValue = -1;
				maxValue = 0;
				hideValue = "0.2";
			};
			class plate3{
				type="Hide";
				selection="plate3";
				sourceAddress="clamp";
				source="Gear";
				minValue = -1;
				maxValue = 0;
				hideValue = "0.2";
			};
			class plate4{
				type="Hide";
				selection="plate4";
				sourceAddress="clamp";
				source="Gear";
				minValue = -1;
				maxValue = 0;
				hideValue = "0.2";
			};
			class plate5{
				type="Hide";
				selection="plate5";
				sourceAddress="clamp";
				source="Gear";
				minValue = -1;
				maxValue = 0;
				hideValue = "0.2";
			};
			class plate6{
				type="Hide";
				selection="plate6";
				sourceAddress="clamp";
				source="Gear";
				minValue = -1;
				maxValue = 0;
				hideValue = "0.2";
			};
			class plate7{
				type="Hide";
				selection="plate7";
				sourceAddress="clamp";
				source="Gear";
				minValue = -1;
				maxValue = 0;
				hideValue = "0.2";
			};
			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 CGZ_Fire_KME:AM_FCV{
		sections[]={
			"Camo1",
			"Camo2",
			"Camo3",
			"body",
			"karoserie",
			"palivo",
			"lb_red","lb_blue",
			"lb-corner-left","lb-corner-right",
			"lb-dir-1","lb-dir-2","lb-dir-3","lb-dir-4","lb-dir-5","lb-dir-6","lb-dir-7",
			"lb-rear-blue1","lb-rear-blue2","lb-rear-red1","lb-rear-red2",
			"lb-red-top","lb-blue-top",
			"plate1","plate2","plate3","plate4","plate5","plate6","plate7"

		};
	};
};

class CfgPatches {
	class cgz_firedepartment{
		units[] = {"CGZ_Firetruck_Kme"};
		weapons[] = {};
		requiredVersion = 0.1;
		requiredAddons[] = {"A3_Soft_F"};
	};
};


class cfgWeapons {
	class SportCarHorn;	// External class reference
	
	class ALR_horn_horn : SportCarHorn {
		displayname = "Horn";
		reloadTime = 4;
		drySound[] = {"ALR_policesounds\Horn.wav", 1, 1};
	};
	
	class ALR_horn_airhorn1 : SportCarHorn {
		displayname = "Airhorn";
		reloadTime = 4;
		drySound[] = {"ALR_policesounds\Airhorn1.wav", 1, 1};
	};
	
	class ALR_horn_airhorn2 : SportCarHorn {
		displayname = "Airhorn 2";
		reloadTime = 4;
		drySound[] = {"ALR_policesounds\Airhorn2.wav", 1, 1};
	};
	
	class ALR_horn_priority : SportCarHorn {
		displayName = "Priority";
		reloadtime = 4;
		drysound[] = {"ALR_policesounds\Priority.wav", 1, 1};
	};
	
	class ALR_horn_takedown1 : SportCarHorn {
		displayName = "Takedown 1";
		reloadtime = 4;
		drysound[] = {"ALR_policesounds\Takedown1.wav", 1, 1};
	};
	
	class ALR_horn_takedown2 : SportCarHorn {
		displayName = "Takedown 2";
		reloadtime = 4;
		drysound[] = {"ALR_policesounds\Takedown2.wav", 1, 1};
	};
};

class DefaultEventhandlers;	// External class reference
class cfgVehicles {
	class LandVehicle;	// External class reference
	
	class Car : LandVehicle {
		class HitPoints;	// External class reference
		class NewTurret;	// External class reference
	};
	
	class Car_F : Car {
		class Turrets {
			class MainTurret : NewTurret {
				class ViewOptics;	// External class reference
			};
		};
		
		class HitPoints {
			class HitLFWheel;	// External class reference
			class HitLF2Wheel;	// External class reference
			class HitRFWheel;	// External class reference
			class HitRF2Wheel;	// External class reference
			class HitBody;	// External class reference
			
			class HitGlass1 {};
			class HitGlass2;	// External class reference
			class HitGlass3;	// External class reference
			class HitGlass4;	// External class reference
		};
		class EventHandlers;	// External class reference
		class AnimationSources;	// External class reference
	};
	class CGZ_Firetruck_Kme: Car_F
	{
		model 	= "\firetruck\firetruck";  /// simple path to model
		picture	= "\AM_V_Data\UI\al.paa"; /// just some icon in command bar
		Icon	= "\AM_V_Data\UI\icon.paa"; /// icon in map	

		hiddenSelections[] = {"camo1","plate1","plate2","plate3","plate4","plate5","plate6","plate7"}; ///we want to allow changing of colours
		terrainCoef 	= 6.5; 	/// different surface affects this car more, stick to tarmac
		turnCoef 		= 2.5; 	/// should match the wheel turn radius
		precision 		= 10; 	/// how much freedom has the AI for its internal waypoints - lower number means more precise but slower approach to way
		fireResistance 	= 5; 	/// lesser protection against fire than tanks
		armor 			= 32; 	/// just some protection against missiles, collisions and explosions
		cost			= 50000; /// how likely is the enemy going to target this vehicle
		transportMaxBackpacks 	= 3; /// just some backpacks fit the trunk by default
		transportSoldier 		= 3; /// number of cargo except driver
		class HitPoints2 /// 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 EventHandlers;		
		wheelDamageRadiusCoef 	= 0.9; 			
		wheelDestroyRadiusCoef 	= 0.4;			
		maxFordingDepth 		= 0.5;			
		waterResistance 		= 1;			
		crewCrashProtection		= 0.25;			
		driverLeftHandAnimName 	= "drivewheel"; 
		driverRightHandAnimName = "drivewheel";		
		
		class Turrets{}; 
		class HitPoints : HitPoints
		{
			class HitLFWheel:HitLFWheel	{armor=0.125; passThrough=0;};
			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="fueltank"; visual=""; passThrough=0.2;}; 
			class HitEngine 		{armor=0.50; material=-1; name="engine"; visual=""; passThrough=0.2;};
			class HitBody: HitBody 	{name = "body"; visual="camo1"; passThrough=1;}; /// all damage to the hull is aFRLied to total damage

			class HitGlass1:HitGlass1 {armor=0.25;}; /// it is pretty easy to puncture the glass but not so easy to remove it
			class HitGlass2:HitGlass2 {armor=0.25;};
			class HitGlass3:HitGlass3 {armor=0.25;};
			class HitGlass4:HitGlass4 {armor=0.25;};
		};
	
		driverAction 		= driver_offroad01; /// what action is going the driver take inside the vehicle. Non-existent action makes the vehicle inaccessible
		cargoAction[] 		= {passenger_low01, passenger_generic01_leanleft, passenger_generic01_foldhands}; /// the same of all the crew
		getInAction 		= GetInLow; 		/// how does driver look while getting in
		getOutAction 		= GetOutLow; 		/// and out
		cargoGetInAction[] 	= {"GetInLow"}; 	/// and the same for the rest, if the array has fewer members than the count of crew, the last one is used for the rest
		cargoGetOutAction[] = {"GetOutLow"}; 	/// that means all use the same in this case
		
		#include "sounds.hpp"	/// sounds are in a separate file to make this one simple
		#include "pip.hpp"		/// PiPs are in a separate file to make this one simple
		#include "physx.hpp"	/// PhysX settings are in a separate file to make this one simple
		
		/// 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"; 		

		class Damage /// damage changes material in specific places (visual in hitPoint)
		{
			tex[]={};
			mat[]=
			{
				"A3\data_f\glass_veh_int.rvmat", 		/// material mapped in model
				"A3\data_f\Glass_veh_damage.rvmat", 	/// changes to this one once damage of the part reaches 0.5
				"A3\data_f\Glass_veh_damage.rvmat",		/// changes to this one once damage of the part reaches 1

				"A3\data_f\glass_veh.rvmat",			/// another material
				"A3\data_f\Glass_veh_damage.rvmat",		/// changes into different ones
				"A3\data_f\Glass_veh_damage.rvmat"
			};
		};
		
		class Exhausts /// specific exhaust effects for the car
		{
			class Exhaust1 /// the car has two exhausts - each on one side
			{
				position 	= "exhaust";  		/// name of initial memory point
				direction 	= "exhaust_dir";	/// name of memory point for exhaust direction
				effect 		= "ExhaustsEffect";	/// what particle effect is it going to use
			};
			class Exhaust2
			{
				position 	= "exhaust2_pos";
				direction 	= "exhaust2_dir";
				effect 		= "ExhaustsEffect";
			};				
		};		
		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
	};
	class CGZ_KME:CGZ_Firetruck_Kme /// some class that is going to be visible in editor
	{	
		scope	= 2; 			/// makes the car visible in editor
		crew 	= "C_man_1"; 	/// we need someone to fit into the car
		side	= 3; 	
		model 	= "firetruck\firetruck";
		faction	= CIV_F;		/// and with civilian faction
		displayName = "CGZ Fire Department"; 
		weapons[] = {"ALR_horn_horn", "ALR_horn_airhorn1", "ALR_horn_airhorn2"};
		hiddenSelections[] = {"camo1","lb_red","lb_blue", // 0 to 2
			"lb-corner-left","lb-corner-right", // 3 and 4
			"lb-dir-1","lb-dir-2","lb-dir-3","lb-dir-4","lb-dir-5","lb-dir-6","lb-dir-7", // 5 to 11
			"lb-rear-blue1","lb-rear-blue2","lb-rear-red1","lb-rear-red2", //12-15
			"lb-red-top","lb-blue-top",
			"plate1","plate2","plate3","plate4","plate5","plate6","plate7"
			};//16 and 17
		hiddenSelectionsTextures[] = {"\firetruck\Skin\.paa", "", "", "", "", "", "", "", "", "", "","",""};	 /// we could use any texture to cover the car

		class eventhandlers {
			init="_this execVM ""firetruck\script\init.sqf"";";
		};
		class UserActions {
			class codetwo {
				displayName = "Lightbar On";
				position = "drivewheel";
				radius = 1000;
				condition = "driver this == player && (this getVariable 'am_lightbar') == 0";
				statement = "this setVariable ['am_lightbar',1,true]";
				onlyForplayer = 0;
			};
			class codeone {
				displayName = "Lightbar Off";
				position = "drivewheel";
				radius = 1000;
				condition = "driver this == player && (this getVariable 'am_lightbar') == 1";
				statement = "this setVariable ['am_lightbar',0,true]";
				onlyForplayer = 0;
			};
			class sirenon {
				displayName = "Siren On";
				position = "drivewheel";
				radius = 1000;
				condition = "driver this == player && (this getVariable 'am_siren') == 0";
				statement = "this setVariable ['AM_siren',1,true]";
				onlyForplayer = 0;
			};
			class sirenoff {
				displayName = "Siren Off";
				position = "drivewheel";
				radius = 1000;
				condition = "driver this == player && (this getVariable 'am_siren') == 1";
				statement = "this setVariable ['AM_siren',0,true]";
				onlyForplayer = 0;
			};
		};
	};	
};
//hiddenSelections[] = {"camo1",	"ind_left",  "ind_right",  "r-1",  "r-2",  "r-3",  "r-4",  "r-5",  "r-6",  "fr-td",  "fl-td",  "l-td",  "r-td",  "f-lbl-1",  "f-lbl-2",  "f-lbr-1",  "f-lbr-2",	"fr-c-red",  "fr-c-blue",  "rr-c-red",  "rl-c-blue",  "side-l-blue",  "side-l-red",  "side-r-blue",  "side-r-red"}; ///we want to allow changing of colours

		//hiddenSelectionsTextures[] = {"\AM_V_Data\ford\crownvic\maps\ext\police.paa",	"",  "",  "",  "",  "",  "",  "",  "",  "",  "",  "",  "",  "",  "",  "",  "",	"",  "",  "",  "",  "",  "",  "",  ""};	 /// we could use any texture to cover the car

Share this post


Link to post
Share on other sites
"ind_left", "ind_right", "r-1", "r-2", "r-3", "r-4", "r-5", "r-6", "fr-td", "fl-td", "l-td", "r-td", "f-lbl-1", "f-lbl-2", "f-lbr-1", "f-lbr-2",    "fr-c-red", "fr-c-blue", "rr-c-red", "rl-c-blue", "side-l-blue", "side-l-red", "side-r-blue", "side-r-red"

 

 

where are these in the model itself, you declare them in modelconfig and then try to assign textures to it. if they arent named selections in the model the texture cant be assigned.

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  

×