Jump to content
🛡️FORUMS ARE IN READ-ONLY MODE Read more... ×
Sign in to follow this  
Messiah

Second turret to use Primary turret view LOD?

Recommended Posts

Going out on a limb here by saying that I have searched, trawled and generally looked everywhere for this, and I'm surprised it hasn't been discussed or asked before, hence why I'm a little cautious about starting a new thread :confused:

I have a vehicle, with two crew served turrets on the roof. The primary turret, as it should, uses the Gunner LOD as it's primary view LOD. The secondary turret, however, uses the Pilot view LOD (which has been stripped down to what the driver can see). Now, the only command I could find that in anyway relates to which LOD the turret uses is:

gunnerUsesPilotView = false

which when set to false, according to the BIKI, should force the turret to use the 0.00 view resolution LOD. However, it seems to have no effect on the second turret and which LOD it uses. Essentially my question boils down to:

1. I don't recall having this issue before - is there no way to make subsequent turrets use the gunner LOD? Seems odd that they don't, and with the lack of a thread about it (that I can find), makes me believe I'm the one doing something incorrectly.

2. Assuming they can't use the gunner LOD, then I'm curious as to why gunnerUsesPilotView = false fails to work?

Config.cpp below:

#include "basicdefines.hpp"

class CfgPatches
{
  	class rksl_foxhound_lppv
  	{
    		units[] = {rksl_foxhound_lppv};
     		requiredVersion = 1.00;
     		weapons[] = {rksl_foxhound_mounted_GPMG};
     		requiredAddons[] = {};
  	};   
};

class CfgFactionClasses
{
	class UK_ARMED_FORCES
	{
 		displayName = "UK Armed Forces";
 		priority = 8;
 		side = 1;
	};
};
class CfgVehicleClasses
{
  	class RKSL_UK_WHEELED
  	{
     		displayName = "Army Wheeled (RKSL)";
  	};   
};

class CfgMagazines
{
  	class Default;
  	class CA_Magazine: Default {};
  	class VehicleMagazine: CA_Magazine {};
  	class RKSL_200Rnd_762x51_GPMG_FOXHOUND: CA_Magazine
  	{
     		scope = 2;
     		displayName = "200RND GPMG Belt";
     		picture = "\CA\weapons\data\equip\m_m240_ca.paa";
     		count = 200;
     		type = "2* 256";
     		ammo = "B_762x51_Ball";
     		initSpeed = 900;
  	};
};

class cfgWeapons
{
  	class Default;
  	class MGunCore;
  	class LauncherCore;
  	class GrenadeCore;
  	class CannonCore;
  	class MGun: MGunCore {};
  	class rksl_foxhound_mounted_GPMG: Mgun
  	{
     		scope = 2;
     		displayName = "L7A2 GPMG";
     		reloadTime = 0.075;
     		magazineReloadTime = 7;
     		autoFire = 1;
     		sound[] = {"\ca\Weapons\Data\Sound\PK_1a_SS", 10.000000, 1};
     		soundContinuous = 0;
     		dispersion = 0.003000;
     		minRange = 2;
     		minRangeProbab = 0.500000;
     		midRange = 500;
     		midRangeProbab = 0.700000;
     		maxRange = 1100;
     		maxRangeProbab = 0.10000;
     		aiDispersionCoefY = 7.000000;
     		aiDispersionCoefX = 7.000000;
     		magazines[] = {"RKSL_200Rnd_762x51_GPMG_FOXHOUND"};
     		maxLeadSpeed = 600;
     		canLock = 0;
     		cursor = "\ca\Weapons\Data\w_weapon_mg";
     		cursorAim = "\ca\Weapons\Data\w_weapon_mg";
     		showAimCursorInternal = 0;
     		flash = "gunfire";
     		flashSize = 0.100000;
     		recoil = "Empty";
     		ffMagnitude = 0.500000;
     		ffFrequency = 11;
     		ffCount = 6;
  	};
};

class cfgvehicles
{
  	class LandVehicle;
  	class Car: LandVehicle
  	{
     		class Turrets;
     		class NewTurret;
  	};
  	class HMMWV_Base : Car {};
  	class HMMWV_M2 : HMMWV_Base {};   
  	class rksl_foxhound_lppv_base: HMMWV_M2
  	{
     		damperSize = 0.1;
     		damperForce = 3;
     		scope = 0;
     		wheelCircumference = 3.236;
     		acceleration = 4;
     		faction = UK_ARMED_FORCES;
     		vehicleClass = "RKSL_UK_Wheeled";
     		crew = "BAF_soldier_MTP";
     		transportSoldier = 3;
     		driverAction = RKSL_Foxhound_Driver;
    		cargoAction[] = {RKSL_Foxhound_Commander,Truck_Cargo02,Truck_Cargo02};
     		cargoIsCoDriver[] = {true,false,false};
     		displayName = "Foxhound LPPV Base";
     		displayNameShort = "Foxhound";
     		armor = 600;
     		damageResistance = 0.01;
     		nameSound="truck";
     		fuelCapacity=500;
     		maxSpeed=130;
     		transportMaxMagazines = 999;
     		transportMaxWeapons =999;
     		turnCoef = 1.5;
     		terraincoef = 1.5;
     		class Damage
     		{
        		tex[]=
        		{};
        		mat[]=
        		{};
     		};
     		class Turrets: Turrets
     		{
        		class MainTurret: NewTurret
        		{
           			gunnerUsesPilotView=0;
           			gunnerName = "Top Cover (Left)";
           			maxHorizontalRotSpeed=1.200000;
           			outGunnerMayFire = 1;
           			memoryPointGun = "machinegun";
           			body = "mainTurret"; //classname of animation in model.cfg that rotates turret
			gun = "mainGun"; //classname of animation in model.cfg that elevates turret
			animationSourceBody = "mainTurret";
			animationSourceGun = "mainGun";
           			selectionFireAnim = "zasleh";
           			weapons[] = {rksl_foxhound_mounted_GPMG};
           			magazines[] = {RKSL_200Rnd_762x51_GPMG_FOXHOUND,RKSL_200Rnd_762x51_GPMG_FOXHOUND,RKSL_200Rnd_762x51_GPMG_FOXHOUND,RKSL_200Rnd_762x51_GPMG_FOXHOUND,RKSL_200Rnd_762x51_GPMG_FOXHOUND};
           			gunBeg = "gun_begin"; //gunBeg = endpoint of the gun
           			gunEnd = "gun_end"; //gunEnd = chamber of the gun
           			soundServo[]={\ca\wheeled\Data\Sound\servo3, db-75, 0.9};
           			minElev = -20; maxElev = +40;
           			minTurn = -90; maxTurn = +90;
           			gunnerOpticsModel = "\ca\Weapons\optika_empty";
           			hasGunner= 1;
           			gunnerAction = "RKSL_Foxhound_Gunner";
           			gunnerForceOptics = 0;
           			memoryPointGunnerOptics="gunnerview";
           			memoryPointsGetInGunner="pos gunner";
           			memoryPointsGetInGunnerDir="pos gunner dir";
           			startEngine = 0;
           			class HitTurret {armor=0.8;material=51;name="vez";visual="vez";passThrough=0;};
           			class HitGun {armor=0.4;material=52;name="zbran";visual="zbran";passThrough=0;};
           			castGunnerShadow = 1;
           			commanding = 0;
           			proxyType = CPGunner;
           			proxyindex = 3;
        		};
        		class 2nd_Turret: MainTurret
        		{
           			gunnerOutOpticsShowCursor = true;
			gunnerUsesPilotView = false
           			gunnerName = "Top Cover (Right)";
           			body = "2nd_Turret";
           			gun = "2nd_Gun";
           			animationSourcebody = "2nd_Turret";
           			animationSourcegun = "2nd_Gun";
          			selectionFireAnim = "2nd_zasleh";
           			memoryPointGunnerOptics="2nd_gunnerview";
           			memoryPointsGetInGunner="pos gunner 2";
           			memoryPointsGetInGunnerDir="pos gunner 2 dir";
           			gunBeg = "2nd_gun_begin"; //gunBeg = endpoint of the gun
           			gunEnd = "2nd_gun_end"; //gunEnd = chamber of the gun
           			proxyType = CPGunner;
           			proxyindex = 4;
        		};
     		};
     		class Reflectors
     		{
       		class Left
        		{
           			color[]={0.900000,0.800000,0.800000,1.000000};
           			ambient[]={0.100000,0.100000,0.100000,1.000000};
           			position="Light_1_1_pos";
           			direction="Light_1_1_dir";
           			hitpoint="Light_1_1_pos";
           			selection="Light_1_1";
           			size=0.500000;
           			brightness=0.500000;
        		};         
        		class Right
        		{
           			color[]={0.900000,0.800000,0.800000,1.000000};
           			ambient[]={0.100000,0.100000,0.100000,1.000000};
           			position="Light_1_2_pos";
           			direction="Light_1_2_dir";
           			hitpoint="Light_1_2_pos";
           			selection="Light_1_2";
           			size=0.500000;
           			brightness=0.500000;
        		};
     		};

  	};
  	class rksl_foxhound_lppv: rksl_foxhound_lppv_base
  	{
     		displayName = "Foxhound LPPV (D)";
     		Model = "\rksl_foxhound\rksl_foxhound_lppv.p3d";
     		scope = 2;
  	};

};

class CfgMovesBasic
{
  	class DefaultDie;
  	class ManActions
  	{
     		RKSL_Foxhound_Driver = "RKSL_Foxhound_Driver";
    		RKSL_Foxhound_Commander = "RKSL_Foxhound_Commander";
     		RKSL_Foxhound_Gunner = "RKSL_Foxhound_Gunner";
  	};
};
class CfgMovesMaleSdr: CfgMovesBasic
{
  	class States
  	{
     		class Crew;
     		class RKSL_Foxhound_Driver: Crew
     		{
        		file=\rksl_foxhound\Anims\rksl_foxhound_driver.rtm;
     		}   
     		class RKSL_Foxhound_Commander: Crew
     		{
        		file=\rksl_foxhound\Anims\rksl_foxhound_commander.rtm;
     		}   
     		class RKSL_Foxhound_Gunner: Crew
     		{
        		file=\rksl_foxhound\Anims\rksl_foxhound_gunner.rtm;
     		}   
  	};
};

Share this post


Link to post
Share on other sites

i am wildguessing, but without testing it myself i would say that the proxy placed in the according view lod defines the view, if it shouldnt be in viewpilot, dont put it in viewpilot. maybe define additional gunnerviewpoint and only place that point in the wanted LOD. using viewcargo should also work i think.

Share this post


Link to post
Share on other sites

problem is that the gunner proxy (as in, the gunner himself) is visible in every view and interior LOD. Whilst the primary turret uses the correct gunner view lod, the secondary only ever wants to use the pilot viedw lod.

Share this post


Link to post
Share on other sites

tried deleting the proxy from other views and no success unfortunatel :(

Share this post


Link to post
Share on other sites

do you have a view cargo? cause i would think he should at least use this not view driver

Share this post


Link to post
Share on other sites

Thanks for the help scars!

I have all the classic views, and have now effectively deleted all gunners from cargo/pilot etc and now it's showing the default 'under the vehicle' proxy in either the cargo or pilot view (hard to tell which one it's using now).

It still refuses to use the gunnerview for the second turret. Are we sure that it's even possible?

Share this post


Link to post
Share on other sites

Maybe its possible if the second turret is a subclass of the Mainturret and a bone from the Mainturret in modelcfg, like the commanderoptics basically. I think that as soon its a independent 2nd turret the viewgunner simply doesnt apply for it. But thats just how i think it is, would need multiturret example models to figure it out correctly i guess.

Share this post


Link to post
Share on other sites

indeed, it would be good to see the blackhawk, for example.

Nevermind, at least it's using one of the cargo/pilot views, so I'm able to increase the detailing on the weapon away from the primary LOD.

Share this post


Link to post
Share on other sites
Sign in to follow this  

×