Jump to content
Sign in to follow this  
Viking_NFS

Jeep with turret

Recommended Posts

Hi all,

I'm working on a conversion of the PedagneMOD Lince/LMV model for the Norwegian Force modification.

Arremba over at PedagneMOD was decent enough to lend me the MLOD of the jeep to ease the process.

I have run into abit of difficulty regarding the animation of the vehicle.

I can't seem to get ANY moving parts working on the jeep. No wheels turning.

The turret won't rotate or elevate, and it won't even fire.

The only thing that seems to have worked is that the muzzle flash is gone.

At the moment, I am using the following model.cfg:

class CfgSkeletons
{
class NOM_Default
{
	isDiscrete=1;
	skeletonInherit="";
	skeletonBones[]={};
};
class NOM_Vehicle: NOM_Default
{
	isDiscrete=1;
	skeletonInherit="NOM_Default";
	skeletonBones[]=
	{
		"ukaz_rpm",
		"damageHide",
		"ukaz_rychlo",
		"",
		"DriveWheel",
		"",
	};
};
class NOM_CarSkeleton: NOM_Vehicle
{
	skeletonInherit="NOM_Vehicle";
	skeletonBones[]=
	{
		"DriveWheel",
		"",
		"levy predni tlumic",
		"",
		"pravy predni tlumic",
		"",
		"levy dalsi tlumic",
		"",
		"pravy dalsi tlumic",
		"",
		"levy predni zatoc",
		"levy predni tlumic",
		"pravy predni zatoc",
		"pravy predni tlumic",
		"levy dalsi zatoc",
		"levy dalsi tlumic",
		"pravy dalsi zatoc",
		"pravy dalsi tlumic",
		"levy prostredni tlumic",
		"",
		"pravy prostredni tlumic",
		"",
		"levy zadni tlumic",
		"",
		"pravy zadni tlumic",
		"",
		"levy predni",
		"levy predni zatoc",
		"pravy predni",
		"pravy predni zatoc",
		"levy dalsi",
		"levy dalsi zatoc",
		"pravy dalsi",
		"pravy dalsi zatoc",
		"levy prostredni",
		"levy prostredni tlumic",
		"pravy prostredni",
		"pravy prostredni tlumic",
		"levy zadni",
		"levy zadni tlumic",
		"pravy zadni",
		"pravy zadni tlumic",
		"ukaz_rychlo",
		"",
		"ukaz_rychlo2",
		"",
		"ukaz_rpm",
		"",
		"OtocVez",
		"",
		"OtocHlaven",
		"OtocVez",
		"fuel_01",
		"",
		"fuel_1",
		"",
		"prop_01",
		"",
		"prop_02",
		"",
		"prop_2",
		"",
		"prop_1",
		"",
		"damageHide",
		"",
		"damageVez",
		"OtocVez",
		"damageHlaven",
		"OtocHlaven"
	};
};
class NOM_MB290Skeleton: NOM_CarSkeleton
{
	isDiscrete=1;
	skeletonInherit="NOM_CarSkeleton";
	skeletonBones[]=
	{
	};
};
class NOM_IVECO_M2Skeleton: NOM_CarSkeleton
{
	isDiscrete=1;
	skeletonInherit="NOM_CarSkeleton";
	SkeletonBones[]=
 		{
 		};
   };
class default;
class Flag: default
{
};
class FlagCarrier: default
{
	skeletonInherit="Default";
	skeletonBones[]=
	{
		"stozar",
		"",
		"vlajka",
		""
	};
};
};
class Rotation
{
type="rotation";
memory=1;
minValue=0;
maxValue=1;
angle0=0;
angle1=1;
};
class CfgModels
{
class Default
{
	sectionsInherit="";
	sections[]={};
	skeletonName="";
};
class NOM_Default
{
	sectionsInherit="";
	sections[]={};
	skeletonName="";
};
class flag_vojak: Default
{
	sections[]=
	{
		"latka"
	};
};
class NOM_Vehicle: NOM_Default
{
	sectionsInherit="NOM_Default";
	sections[]=
	{
		"velka vrtule",
		"mala vrtule",
		"velka vrtule staticka",
		"mala vrtule staticka",
		"cislo",
		"grupa",
		"side",
		"sektor",
		"clan",
		"clan_sign",
		"podsvit pristroju",
		"poskozeni",
		"L svetlo",
		"P svetlo",
		"zasleh"
	};
	skeletonName="NOM_Vehicle";
	class Animations
	{
		class damageHide
		{
			type="hide";
			source="damage";
			selection="damageHide";
		};
	};
};
class NOM_Car: NOM_Vehicle
{
	sectionsInherit="NOM_Vehicle";
	sections[]=
	{
		"ammo",
		"sklo predni p",
		"sklo predni l",
		"zadni svetlo",
		"brzdove svetlo",
		"spz",
		"karoserie",
		"motor",
		"zbran",
		"vez",
		"zbytek",
		"levy predni",
		"levy prostredni",
		"levy zadni",
		"pravy predni",
		"pravy prostredni",
		"pravy zadni",
		"clan",
		"clan_sign",
		"zasleh",
		"P svetlo",
		"L svetlo",
		"palivo"
	};
	skeletonName="NOM_CarSkeleton";
	class Animations
	{
		class damageHide
		{
			type="hide";
			source="damage";
			selection="damageHide";
		};
		class IndicatorSpeed
		{
			animPeriod=0;
			type="rotation";
			source="speed";
			selection="ukaz_rychlo";
			axis="osa_rychlo";
			memory=0;
			minValue=0.000000;
			maxValue=16.670000;
			angle0=0.000000;
			angle1=2.879793;
		};
		class IndicatorSpeed2
		{
			type="rotation";
			source="speed";
			selection="ukaz_rychlo2";
			axis="osa_rychlo2";
			memory="false";
			animPeriod=0;
			minValue=0;
			maxValue=16.670000;
			angle0=0;
			angle1="rad -240";
		};
		class IndicatorRPM
		{
			animPeriod=0;
			type="rotation";
			source="rpm";
			selection="ukaz_rpm";
			axis="osa_rpm";
			memory=0;
			minValue=0.000000;
			maxValue=1.000000;
			angle0=0.000000;
			angle1=2.967060;
		};
		class DrivingWheel
		{
			type="rotation";
			source="drivingWheel";
			selection="drivewheel";
			axis="drivewheel_axis";
			minValue=-1;
			maxValue=1;
			angle0=8;
			angle1=-8;
		};
		class TurnFrontWheelR
		{
			type="rotationY";
			source="drivingWheel";
			selection="pravy predni zatoc";
			axis="pravy predni";
			memory="false";
			animPeriod=0;
			sourceAddress="loop";
			minValue="rad -180";
			maxValue="rad +180";
			angle0="rad +90";
			angle1="rad -90";
		};
		class TurnFrontWheelL: TurnFrontWheelR
		{
			selection="levy predni zatoc";
			axis="levy predni";
		};
		class TurnFrontWheelR2: TurnFrontWheelR
		{
			selection="pravy dalsi zatoc ";
			axis="pravy dalsi";
		};
		class TurnFrontWheelL2: TurnFrontWheelR
		{
			selection="levy dalsi zatoc ";
			axis="levy dalsi";
		};
		class FrontWheelR
		{
			type="rotationX";
			source="wheel";
			selection="pravy predni";
			axis="";
			memory="true";
			animPeriod=0;
			sourceAddress="loop";
			minValue=0;
			maxValue=1;
			angle0=0;
			angle1="rad -360";
		};
		class FrontWheel2R: FrontWheelR
		{
			selection="pravy dalsi";
		};
		class BackWheelR: FrontWheelR
		{
			selection="pravy zadni";
		};
		class BackWheel2R: FrontWheelR
		{
			selection="pravy prostredni";
		};
		class FrontWheelL: FrontWheelR
		{
			selection="levy predni";
		};
		class FrontWheel2L: FrontWheelR
		{
			selection="levy dalsi";
		};
		class BackWheelL: FrontWheelR
		{
			selection="levy zadni";
		};
		class BackWheel2L: FrontWheelR
		{
			selection="levy prostredni";
		};
		class FrontWheelDamperR
		{
			type="translationY";
			source="damper";
			selection="pravy predni tlumic";
			axis="";
			animPeriod=0;
			minValue=-1000;
			maxValue=1000;
		};
		class FrontWheelDamper2R: FrontWheelDamperR
		{
			selection="pravy dalsi tlumic";
		};
		class BackWheelDamperR: FrontWheelDamperR
		{
			selection="pravy zadni tlumic";
		};
		class BackWheelDamper2R: FrontWheelDamperR
		{
			selection="pravy prostredni tlumic";
		};
		class FrontWheelDamperL: FrontWheelDamperR
		{
			selection="levy predni tlumic";
		};
		class FrontWheelDamper2L: FrontWheelDamperR
		{
			selection="levy dalsi tlumic";
		};
		class BackWheelDamperL: FrontWheelDamperR
		{
			selection="levy zadni tlumic";
		};
		class BackWheelDamper2L: FrontWheelDamperR
		{
			selection="levy prostredni tlumic";
		};
		class damageVez: damageHide
		{
			selection="damageVez";
		};
		class damageHlaven: damageHide
		{
			selection="damageHlaven";
		};
	};
};
class NOM_MB290: NOM_Car
{
	skeletonName="NOM_MB290Skeleton";
	class Animations: Animations
	{
		class IndicatorSpeed: IndicatorSpeed
		{
			maxValue=16.670000;
			angle0=-0.174533;
			angle1=3.141593;
		};
		class IndicatorRPM: IndicatorRPM
		{
			angle0=0.000000;
			angle1=1.483530;
		};
		class fuel
		{
			type="rotation";
			source="fuel";
			selection="fuel_1";
			axis="fuel_1_axis";
			memory=0;
			minValue=0.000000;
			maxValue=1.000000;
			angle0=-0.087266;
			angle1=-1.658063;
		};
		class prop_01
		{
			type="rotation";
			source="rpm";
			selection="prop_01";
			axis="prop_01_axis";
			memory=0;
			minValue=0.000000;
			maxValue=0.360000;
			angle0=1.396263;
			angle1=0.000000;
		};
		class prop_02
		{
			type="rotation";
			source="rpm";
			selection="prop_02";
			axis="prop_02_axis";
			memory=0;
			minValue=0.000000;
			maxValue=0.640000;
			angle0=0.349066;
			angle1=-0.349066;
		};
		class ABSwitch {
			type = "rotation";
			source = "ABSwitch";
			sourceAddress = "clamp";
			minValue = 0;
			maxValue = 1;
			animperiod = 1;
			selection = "ABSwitch";
			axis = "axis_ABSwitch";
			angle0 = "0";
			angle1 = "0.00017";
		};
	};
};
class NOM_IVECO_M2:NOM_Car
{
 skeletonName="NOM_IVECO_M2Skeleton";
 class Animations
 {
  class MainTurret
  {
   type="rotationY";
   source="mainTurret";
   memory = 1;//by default
   animPeriod = 0;//Unknown
   selection="otocvez";
   axis="OsaVeze";//"otocvez_axis";//possibly
   minValue = -6.2831855;//rad -359.99997
   maxValue = 6.2831855;//rad 359.99997
   minPhase = -6.2831855;//rad -359.99997
   maxPhase = 6.2831855;//rad 359.99997
   angle0 = -6.2831855;//rad -359.99997;
   angle1 = 6.2831855;//rad 359.99997;
//    AxisPos[] = {-6.2831855,6.2831855,1.4013e-045/*#DEN*/};
//    AxisDir[] = {1.8056909e+028,1.0144e-038/*#DEN*/,1.8056947e+028};
//    angle = 1.0144e-038/*#DEN*/;
//    axisOffset = -6.2831855
  };
  class MainGun
  {
   type="rotationX";
   source="mainGun";
   memory = 1;//by default
   animPeriod = 0;//Unknown
   selection="otochlaven";
   axis="OsaHlavne";//"otochlaven_axis";//possibly
   minValue = -6.2831855;//rad -359.99997
   maxValue = 6.2831855;//rad 359.99997
   minPhase = -6.2831855;//rad -359.99997
   maxPhase = 6.2831855;//rad 359.99997
   angle0 = -6.2831855;//rad -359.99997;
   angle1 = 6.2831855;//rad 359.99997;
//    AxisPos[] = {-6.2831855,6.2831855,0.0};
//    AxisDir[] = {4.5080154e+021,1.8977538e+028,1.05056e-038/*#DEN*/};
//    angle = 4.5080244e+021;
//    axisOffset = 1.8977538e+028
  };
  class HatchGunner
  {
   type="rotation";
   source="hatchGunner";
   memory = 1;//by default
   animPeriod = 0;//Unknown
   selection="poklop_gunner";
   axis="osa_poklop_gunner";//"poklop_gunner_axis";//possibly
   minValue = 0.0;//rad 0.0
   maxValue = 1.0;//rad 57.295773
   minPhase = 0.0;//rad 0.0
   maxPhase = 1.0;//rad 57.295773
   angle0 = 0.0;//rad 0.0;
   angle1 = -2.0943952;//rad -119.99999;
//    AxisPos[] = {0.0,-2.0943952,2.24208e-044/*#DEN*/};
//    AxisDir[] = {7.00649e-044/*#DEN*/,1.4013e-045/*#DEN*/,1.54143e-044/*#DEN*/};
//    angle = 1.4013e-045/*#DEN*/;
//    axisOffset = 2.8026e-045/*#DEN*/
  };
 };//Animations
};//modelclass
};//CfgModels

Now, the MB290 in the same model.cfg has no problems whatsoever with any parts (all wheels, steering wheel and indicators work fine).

I am also using the following config.cpp entry for the vehicle

class NOM_IVECO_M2: NOM_MB290
	{
 crew = "NOM_TMBNLead";
 vehicleClass = "NOM_Veh";
 model = "\NOM_Veh\NOM_IVECO_M2";
 picture = "\NOM_Veh\icons\VTMLcc_ico_ca.paa";
 icon = "\NOM_Veh\icons\VTMLm2_simbolo_ca.paa";
 mapSize = 8;
 displayName = "IVECO LMV M2";
 magazines[] = {};
 armor = 80;
 damageResistance = 0.00562;
 enableGPS = 1;
 type = 1;
 cost = 100000;
 armorGlass = 1;
 armorWheels = 0.5;
 typicalCargo[] = {"SoldierWB","SoldierWB","SoldierWAT","SoldierWBOfficer"};
 transportSoldier = 3;
 hasGunner = 1;
 castDriverShadow = 0;
 driverIsCommander = 1;
 animationSourceHatch = "hatchGunner";
 cargoAction[] = {"Landrover_Cargo01","UAZ_Cargo01","UAZ_Cargo01"};
 canLock = "LockNo";
 unitInfoType = "UnitInfoShip";
 threat[] = {1,0.1,0.4};
 class AnimationSources
 {
  class belt_rotation
  {
   source = "reload";
   weapon = "M2";
  };
 };
 class Turrets
 {
  class MainTurret: NewTurret
  {
   body = "OtocVez";
   gun = "OtocHlaven";
   animationSourceBody = "mainTurret";
   animationSourceGun = "mainGun";
   animationSourceHatch = "HatchGunner";
   selectionFireAnim = "zasleh";
   gunBeg = "usti hlavne";
   gunEnd = "konec hlavne";
   memoryPointGunnerOptics = "gunnerview";
   gunnerOpticsModel = "\ca\weapons\optika_empty";
   gunnerAction = "Landrover_Gunner";
   hasGunner = 1;
   weapons[] = {"M2"};
   magazines[] = {"100Rnd_127x99_M2","100Rnd_127x99_M2","100Rnd_127x99_M2","100Rnd_127x99_M2","100Rnd_127x99_M2","100Rnd_127x99_M2"};
   soundServo[] = {"\NON_Veh\sound\servo3",0.000177828,0.9};
   minElev = -25;
   maxElev = 60;
   viewGunnerInExternal = 1;
   castGunnerShadow = 1;
  };
 };
 class HitLFWheel
 {
  armor = 0.38;
  material = -1;
  name = "Levy predni tlumic";
  visual = "Levy predni";
  passThrough = 0;
 };
 class HitRFWheel
 {
  armor = 0.38;
  material = -1;
  name = "Pravy predni tlumic";
  visual = "Pravy predni";
  passThrough = 0;
 };
 class HitLBWheel
 {
  armor = 0.38;
  material = -1;
  name = "Levy zadni tlumic";
  visual = "Levy zadni";
  passThrough = 0;
 };
 class HitRBWheel
 {
  armor = 0.38;
  material = -1;
  name = "Pravy zadni tlumic";
  visual = "Pravy zadni";
  passThrough = 0;
 };
 dammageHalf[] = {"\NOM_Veh\i\cristalado_ca.paa","\NOM_Veh\i\cristalado_roto1_ca.paa","\NOM_Veh\i\cristalado_ca.paa","\NOM_Veh\i\cristalado_roto1_ca.paa","\NOM_Veh\i\cristalfrente_ca.paa","\NOM_Veh\i\cristalfrente_roto1_ca.paa","\NOM_Veh\i\cristalfrente_ca.paa","\NOM_Veh\i\cristalfrente_roto1_ca.paa"};
 dammageFull[] = {"\NOM_Veh\i\cristalado_ca.paa","\NOM_Veh\i\cristalado_roto2_ca.paa","\NOM_Veh\i\cristalado_ca.paa","\NOM_Veh\i\cristalado_roto2_ca.paa","\NOM_Veh\i\cristalfrente_ca.paa","\NOM_Veh\i\cristalfrente_roto2_ca.paa","\NOM_Veh\i\cristalfrente_ca.paa","\NOM_Veh\i\cristalfrente_roto2_ca.paa"};
 class Damage
 {
  tex[] = {};
  mat[] = {"\NOM_Veh\i\Targhe.rvmat","\NOM_Veh\i\Targhe.rvmat","\NOM_Veh\i\Targhe_destruct.rvmat","\NOM_Veh\i\Land_Opaco.rvmat","\NOM_Veh\i\Land_Opaco.rvmat","\NOM_Veh\i\Land_Opaco_destruct.rvmat","\NOM_Veh\i\asz_vtml.rvmat","\NOM_Veh\i\asz_vtml.rvmat","\NOM_Veh\i\asz_vtml_destruido.rvmat","NOM_Veh\i\asz_vtml_in.rvmat","NOM_Veh\i\asz_vtml_in.rvmat","NOM_Veh\i\asz_vtml_in_destruido.rvmat","NOM_Veh\i\asz_vtml_in2.rvmat","NOM_Veh\i\asz_vtml_in2.rvmat","NOM_Veh\i\asz_vtml_in2_destruido.rvmat","NOM_Veh\i\m1abrams_mg_mount.rvmat","NOM_Veh\i\m1abrams_mg_mount.rvmat","NOM_Veh\i\m1abrams_mg_mount_destruct.rvmat","NOM_Veh\i\m2.rvmat","NOM_Veh\i\m2.rvmat","NOM_Veh\i\m2_destruct.rvmat","NOM_Veh\i\cargo.rvmat","NOM_Veh\i\cargo.rvmat","NOM_Veh\i\cargo_destruct.rvmat","NOM_Veh\i\hmmwv_hood.rvmat","NOM_Veh\i\hmmwv_hood.rvmat","NOM_Veh\i\hmmwv_hood_destruct.rvmat"};
 };
 class Library
 {
  libTextDesc = "IVECO Light Multirole Vehicle armed with M2";
 };
};
};

(The turrets are defined above CfgVehicles as they should be).

And before you ask, the p3d model has the same name as it does under cfgmodels in the model.cfg.

And I've gone over the model together with the model.cfg about three times and all the selections correspond.

Anyone have any idea what could be causing this?

I'm assuming it's something really basic that, once fixed, will sort out the whole shebang.

Thanks

Share this post


Link to post
Share on other sites

With

class NOM_IVECO_M2Skeleton: NOM_CarSkeleton
{
	isDiscrete=1;
	skeletonInherit="NOM_CarSkeleton";
	SkeletonBones[]=
 		{
 		};
   };

I'm pretty sure you just defined NO skeleton for you car.

You may have been trying to copy NOM_CarSkeleton, but you didn't.

Copy the WHOLE text out again for SkeletonBones[] inn your new model.

Spell it out, its only a few bytes of data extra, but could save you a lot of time.

Share this post


Link to post
Share on other sites
Gnat;1730465']With

class NOM_IVECO_M2Skeleton: NOM_CarSkeleton
{
	isDiscrete=1;
	skeletonInherit="NOM_CarSkeleton";
	SkeletonBones[]=
 		{
 		};
   };

I'm pretty sure you just defined NO skeleton for you car.

You may have been trying to copy NOM_CarSkeleton' date=' but you didn't.

Copy the WHOLE text out again for SkeletonBones['] inn your new model.

Spell it out, its only a few bytes of data extra, but could save you a lot of time.

Thanks for the reply!

Do you mean copy the SkeletonBones from NOM_CarSkeleton into NOM_IVECO_M2Skeleton?

I did that anyway, and it did nothing for me.

Share this post


Link to post
Share on other sites

Seems to be no need for the extra skeleton definitions anyway.

In the CFGModel simply have

skeletonName="NOM_CarSkeleton";

for everyone of your vehicles.

Right beside that you must have a

sections[] = {blah, blah ....

You don't seem to have that.

Its assumed your P3D is called "NOM_IVECO_M2.p3d" else it won't work.

Share this post


Link to post
Share on other sites
Gnat;1731094']Seems to be no need for the extra skeleton definitions anyway.

In the CFGModel simply have

skeletonName="NOM_CarSkeleton";

for everyone of your vehicles.

Right beside that you must have a

sections[] = {blah' date=' blah ....[/b']

You don't seem to have that.

Its assumed your P3D is called "NOM_IVECO_M2.p3d" else it won't work.

Yup its def called the right p3d name.

Tried what you said here but still nothing...

Really appreciate the help!

Share this post


Link to post
Share on other sites

Alright I solved the wheels using this model.cfg:

class Rotation;
class CfgSkeletons
{
class Vehicle;
class NOM_IVECO_M2: Vehicle
{
	isDiscrete=1;
	skeletonInherit="vehicle";
	skeletonBones[]=
	{
		"DriveWheel",
		"",
		"fuel",
		"",
		"rpm",
		"",
		"mph",
		"",
		"wheel_1_1_damper",
		"",
		"wheel_1_2_damper",
		"",
		"wheel_2_1_damper",
		"",
		"wheel_2_2_damper",
		"",
		"wheel_3_1_damper",
		"",
		"wheel_3_2_damper",
		"",
		"wheel_4_1_damper",
		"",
		"wheel_4_2_damper",
		"",
		"wheel_5_1_damper",
		"",
		"wheel_5_2_damper",
		"",
		"wheel_1_1_steering",
		"wheel_1_1_damper",
		"wheel_1_2_steering",
		"wheel_1_2_damper",
		"wheel_2_1_steering",
		"wheel_2_1_damper",
		"wheel_2_2_steering",
		"wheel_2_2_damper",
		"wheel_1_1",
		"wheel_1_1_steering",
		"wheel_1_2",
		"wheel_1_2_steering",
		"wheel_2_1",
		"wheel_2_1_steering",
		"wheel_2_2",
		"wheel_2_2_steering",
		"wheel_3_1",
		"wheel_3_1_damper",
		"wheel_3_2",
		"wheel_3_2_damper",
		"wheel_4_1",
		"wheel_4_1_damper",
		"wheel_4_2",
		"wheel_4_2_damper",
		"wheel_5_1",
		"wheel_5_1_damper",
		"wheel_5_2",
		"wheel_5_2_damper",
		"turret",
		"",
		"gun",
		"turret",
		"hatch_driver",
		"",
		"hatch_Gunner",
		"",
		"fuel_1",
		"",
		"ukaz_rpm",
		"",
		"ukaz_rychlo",
		"",
		"drive_front",
		"",
		"drive_center",
		"",
		"drive_rear",
		"",
		"bed",

		"",
		"damageHide",
		""
	};
};
};
class CfgModels
{
class Vehicle;

class NOM_IVECO_M2: Vehicle
{
	skeletonName="NOM_IVECO_M2";
	sectionsInherit="Vehicle";
	sections[]=
	{
		"Light_1_1",
		"Light_1_2",
		"Light_brake",
		"Light_back",
		"clan",
		"clan_sign",
		"zasleh",
		"karoserie",
		"vez",
		"motor",
		"palivo",
		"zbran"
	};
	class Animations
	{
		class fuel: Rotation
		{
			type="rotation";
			source="fuel";
			selection="fuel_01";
			axis="fuel_01_axis";
			memory=0;
			minValue=0.000000;
			maxValue=1.000000;
			angle0=0.174533;
			angle1=-4.014257;
		};
		class IndicatorSpeed: Rotation
		{
			animPeriod=0;
			type="rotation";
			source="speed";
			selection="ukaz_rychlo";
			axis="osa_rychlo";
			memory=0;
			minValue=0.000000;
			maxValue=16.670000;
			angle0=0.000000;
			angle1=4.0;
		};
		class IndicatorRPM: Rotation
		{
			animPeriod=0;
			type="rotation";
			source="rpm";
			selection="ukaz_rpm";
			axis="osa_rpm";
			memory=0;
			minValue=0.000000;
			maxValue=1.000000;
			angle0=0.000000;
			angle1=3.75;
		};
		class IndicatorOilTemp: Rotation
		{
			source="oil";
			selection="oilTemp";
			axis="oilTemp_axis";
			memory=0;
			maxValue=0.200000;
			angle1="rad 80";
		};
		class DrivingWheel: Rotation
		{
			source="drivingWheel";
			selection="drivewheel";
			axis="drivewheel_axis";
			minValue=-1;
			maxValue=1;
			angle0=-4;
			angle1=4;
		};
		class Steering_1_1
		{
			type="rotationY";
			source="drivingWheel";
			selection="wheel_1_1";
			axis="wheel_1_steering_axis";
			memory=1;
			minValue="rad -90";
			maxValue="rad +90";
			angle0=0.89999998;
			angle1=-0.89999998;
		};
		class Steering_1_2: Steering_1_1
		{
			selection="wheel_1_2";
			axis="wheel_2_steering_axis";
		};
		class Steering_2_1: Steering_1_1
		{
			selection="wheel_2_1_steering";
			axis="wheel_2_1_steering_axis";
			memory=1;
		};
		class Steering_2_2: Steering_1_1
		{
			selection="wheel_2_2_steering";
			axis="wheel_2_2_steering_axis";
			memory=1;
		};
		class Wheel_1_1
		{
			type="rotationX";
			source="wheel";
			selection="wheel_1_1";
			axis="";
			memory=1;
			sourceAddress="loop";
			minValue=0;
			maxValue=1;
			angle0=0;
			angle1="rad -360";
		};
		class Wheel_1_2: Wheel_1_1
		{
			selection="wheel_1_2";
		};
		class Wheel_2_1: Wheel_1_1
		{
			selection="wheel_2_1";
		};
		class Wheel_2_2: Wheel_1_1
		{
			selection="wheel_2_2";
		};
		class Wheel_3_1: Wheel_1_1
		{
			selection="wheel_3_1";
		};
		class Wheel_3_2: Wheel_1_1
		{
			selection="wheel_3_2";
		};
		class Wheel_4_1: Wheel_1_1
		{
			selection="wheel_4_1";
		};
		class Wheel_4_2: Wheel_1_1
		{
			selection="wheel_4_2";
		};
		class Wheel_5_1: Wheel_1_1
		{
			selection="wheel_5_1";
		};
		class Wheel_5_2: Wheel_1_1
		{
			selection="wheel_5_2";
		};
		class Wheel_1_1_Damper
		{
			type="translationY";
			source="damper";
			selection="wheel_1_1_damper";
			axis="";
			minValue=-1;
			maxValue=1;
			memory=1;
		};
		class Wheel_1_2_Damper: Wheel_1_1_Damper
		{
			selection="wheel_1_2_damper";
		};
		class Wheel_2_1_Damper: Wheel_1_1_Damper
		{
			selection="wheel_2_1_damper";
		};
		class Wheel_2_2_Damper: Wheel_1_1_Damper
		{
			selection="wheel_2_2_damper";
		};
		class Wheel_3_1_Damper: Wheel_1_1_Damper
		{
			selection="wheel_3_1_damper";
		};
		class Wheel_3_2_Damper: Wheel_1_1_Damper
		{
			selection="wheel_3_2_damper";
		};
		class Wheel_4_1_Damper: Wheel_1_1_Damper
		{
			selection="wheel_4_1_damper";
		};
		class Wheel_4_2_Damper: Wheel_1_1_Damper
		{
			selection="wheel_4_2_damper";
		};
		class Wheel_5_1_Damper: Wheel_1_1_Damper
		{
			selection="wheel_5_1_damper";
		};
		class Wheel_5_2_Damper: Wheel_1_1_Damper
		{
			selection="wheel_5_2_damper";
		};
		class MainTurret
		{
			type="rotationY";
			source="mainTurret";
			selection="otocvez";
			axis="osaveze";
			animPeriod=0;
			minValue="rad -360";
			maxValue="rad +360";
			angle0="rad -360";
			angle1="rad +360";
		};
		class MainGun
		{
			type="rotationX";
			source="mainGun";
			selection="otochlaven";
			axis="OsaHlavne";
			animPeriod=0;
			minValue="rad -360";
			maxValue="rad +360";
			angle0="rad -360";
			angle1="rad +360";
		};
		class HatchDriver: Rotation
		{
			source="hatchDriver";
			selection="hatch_driver";
			axis="hatch_driver_axis";
			memory="false";
			angle1="rad -90";
		};
		class HatchGunner: Rotation
		{
			source="hatchGunner";
			selection="poklop_gunner";
			axis="osa_poklop_gunner";
			memory="false";
			angle1="rad -110";
		};

		class drive_front: rotation

		{
			type="rotationz";
			source="wheel";
			selection="drive_front";
			axis="";
			memory=1;
			sourceAddress="loop";
			minValue=0;
			maxValue=1;
			angle0=0;
			angle1="rad -360";
		};
		class drive_center: drive_front

		{
			type="rotationz";
			source="wheel";
			selection="drive_center";
			axis="drive_center_axis";
			memory=1;
			sourceAddress="loop";
			minValue=0;
			maxValue=1;
			angle0=0;
			angle1="rad -360";
		};
		class drive_rear: drive_front

		{
			type="rotationz";
			source="wheel";
			selection="drive_rear";
			axis="drive_rear_axis";
			memory=1;
			sourceAddress="loop";
			minValue=0;
			maxValue=1;
			angle0=0;
			angle1="rad -360";
		};
		class bed
		{
			type="translation";
			source="bed";
			selection="bed";
			axis="bed_axis";
			sourceAddress="clamp";
			minValue=0;
			maxValue=5;
			offset0=0.000000;
			offset1=-6.50000;
			memory=1;
		};
		class bed_tilt :bed

		{
			type="rotation";
			source="bed_tilt";
			selection="bed";
			axis="bed_tilt_axis";
			sourceAddress="clamp";
			memory=1;
			minValue=0;
			maxValue=1;
			angle0=0;
			angle1="rad -18.5";
		};
	};
};	
};

Now, the turret will fire but not rotate. And the main gun cannot be moved up and down either. Any suggestions?

Edited by Viking_NFS

Share this post


Link to post
Share on other sites

class MainTurret
		{
			type="rotationY";
			source="mainTurret";
			selection="otocvez";
			axis="osaveze";
			animPeriod=0;
			minValue="rad -360";
			maxValue="rad +360";
			angle0="rad -360";
			angle1="rad +360";
		};
		class MainGun
		{
			type="rotationX";
			source="mainGun";
			selection="otochlaven";
			axis="OsaHlavne";
			animPeriod=0;
			minValue="rad -360";
			maxValue="rad +360";
			angle0="rad -360";
			angle1="rad +360";
		};

look at the parts called selection

These parts must be named with the same names as the turret and gun selections in O2, and must also be present in you skeleton bones and in your model definitions

You have defined the turret and gun selections with the names "turret" and "gun" so try this and in animations class

class MainTurret
		{
			type="rotationY";
			source="mainTurret";
			selection="turret";
			axis="osaveze";
			animPeriod=0;
			minValue="rad -360";
			maxValue="rad +360";
			angle0="rad -360";
			angle1="rad +360";
		};
		class MainGun
		{
			type="rotationX";
			source="mainGun";
			selection="gun";
			axis="OsaHlavne";
			animPeriod=0;
			minValue="rad -360";
			maxValue="rad +360";
			angle0="rad -360";
			angle1="rad +360";
		};

For the turret to work you also have to add an axis (two points) in oxigen 2, create a new selection and name it accordingly. In this config axis are called OsaHlavne for the gun and osaveze for the turret.

Look at this tutorial. It is for OFP but most things are still valid:

http://ofp.gamepark.cz/_hosted/brsseb/tutorials.htm

Share this post


Link to post
Share on other sites

Cheers mankyle for the help, i got a little bit further now!

But the following happened:

1. Got the gun to go up and down (but not rotate with the turret, proxy and hatch)

at the same time

2. Got the turret, proxy and hatch to rotate (again, without the gun following)

THEN

Linked the turret and gun together in cfgskeletons (forgot to do that), along with the hatch.

And now the gun goes up and down, but there is no movement of the turret what so ever.

And the reticle (and line of fire) does NOT move with the gun as it goes up and down.

So I have

a) a gun that goes up and down

b) the crosshairs dont move with the gun

c) the turret doesnt move

Suggestions?

Edited by Viking_NFS

Share this post


Link to post
Share on other sites

Look at the tutorials and go to o2

Go to the Gun and turret's selections in the first LOD.

If you select the turret selection the Gun selection, the proxy and the hatch must be part of the turret selection.

And also, go to the memory LOD and look at the memory points. The gunnerview, usti hlavne and konec hlavne memory points must be selected and a new selection must be created and named gun, the same name that it is in the resolution LOD.

then create a new selection that includes the gunnerview, usti hlavne and konec hlavne memory points and the Osahlavne (gun axis) memory points.

That would be all

Share this post


Link to post
Share on other sites

Cheers man, thats it solved. :)

This is what I found out, for future reference for anyone else:

1. All selections need to be correct (Brssebs tutorials)

2. CfgSkeletons needs to be defined correctly (VBS2 model.cfg tutorial)

3. Three important rules (VBS2 turret parameters tutorial)

* the cfgSkeleton bones must directly match the named selections in the model, but

* the turret config's animationSourceBody/Gun must directly match animation's source parameter, and

* the turret config's gun/body must directly match the animation classnames.

And hey presto - It works!

Thanks again guys! ;)

Edited by Viking_NFS
Problem solved

Share this post


Link to post
Share on other sites

Also remember to add the muzzle proxy to the IVECOs weapon. Muzzle proxies are located in

\CA\weapons\

Try adding the \CA\weapons\zasleh1_proxy, i think it is the one for machine guns

Happy that it works now. Turrets are a PITA to set correctly

Share this post


Link to post
Share on other sites
Also remember to add the muzzle proxy to the IVECOs weapon. Muzzle proxies are located in

\CA\weapons\

Try adding the \CA\weapons\zasleh1_proxy, i think it is the one for machine guns

Happy that it works now. Turrets are a PITA to set correctly

Thanks, will do!

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  

×