Jump to content
Sign in to follow this  
[aps]gnat

Fixed Wing - Multiple Turrets - Testing - Bug

Recommended Posts

Tag: Plane planes fixed wing aircraft turrets AI fixed wing gun gunners

With a tipoff from Yac I've been investigating multiple turrets on planes / fixed wing aircraft.

Multiple turrets now work on aircraft, don't know when it happen.

Jump in any turret as a player and its cool (like the B17, but with no attachto lagging)

All works wonderful, EXCEPT, A.I. appear to be incapable of swinging the same turrets to engage target.

They will fire, but only if a target goes by their static tunnel vision.

So, before I go reporting this bug and hoping BIS can "switch on" the last few required settings for multi-turret planes, I'm putting the detail out with the hope that it may actually be a simple problem.

DEMO Addon and Mission

Addons

- A multi-turret plane - found in Russian - Air

- A multi-turret boat - found in Russian - Ship

Both addons are almost identical, except one is class Ship, while the other which doesn't work is class plane.

Mission

- Places the special plane and the boat on Utes and allow the observer to note the different actions between AI in each.

- "T" can be used to move between positions

- Note boat will engage targets

- Note that the left turret of the plane will VERY briefly fire at one of the departing UH60's

The BIG QUESTION is, can this be fixed or is it really that something fundamentally "core code" is missing from the plane class.

TurretTest1.jpg

ADDONS + Source

http://members.iinet.net.au/~nrspence2/ArmAII/MultiTurretAddons.7z

Please don't upload the model onto TurboSquid or similar, I spent a lot of time making it.

CONFIG and MODEL.CFG

CPP

// -----------------------------------------------
// Feb 2012
// (c) p3d models and code
// permission required before using code or models
// Not for commercial use
// See readme for more detail
// -----------------------------------------------


#define TEast 0 
#define TWest 1 
#define TGuerrila 2 
#define TCivilian 3 
#define TSideUnknown 4 
#define TEnemy 5 
#define TFriendly 6 
#define TLogic 7 

#define true 1 
#define false 0 

// type scope 
#define private 0 
#define protected 1 
#define public 2 

#define WeaponNoSlot 0// dummy weapons 
#define WeaponSlotPrimary 1// primary weapons 
#define WeaponSlotSecondary 16// secondary weapons 
#define WeaponSlotItem 256// items 
#define WeaponSlotBinocular 4096// binocular 
#define WeaponHardMounted 65536 


#define CanSeeRadar 1
#define CanSeeEye 2
#define CanSeeOptics 4
#define CanSeeEar 8
#define CanSeeCompass 16
#define CanSeeAll 31


class CfgPatches
{
class GNTMGP
       {
        units[] = {MGP, MGB};
 weapons[] = {};
 requiredAddons[] = {};		 
       };
};

class CfgVehicles
{
class Plane;
class Ship;
class MGPx : Plane
{
	class NewTurret;
	class Turrets;
	irScanRangeMin=500;
	irScanRangeMax=200000;
	class viewpilot;
	class viewgunner;
	class AnimationSources;
	driverCanSee = 31;
	gunnerCanSee = 31;
	commanderCanSee = 31;
	radarType = 4;
	LockDetectionSystem = 8 + 4;
	IncommingMisslieDetectionSystem = 16;
	driverhasflares =true;
	soundLocked[] = {"\ca\Tracked\Data\Sound\alarm_loop1", 0.000316228, 2};
	soundIncommingMissile[] = {"\ca\Tracked\Data\Sound\alarm_loop1", 0.000316228, 4};		
};	
class MGBx : Ship
{
	class NewTurret;
	class Turrets;
	irScanRangeMin=500;
	irScanRangeMax=200000;
	class viewpilot;
	class viewgunner;
	class AnimationSources;
	driverCanSee = 31;
	gunnerCanSee = 31;
	commanderCanSee = 31;
	radarType = 4;
	LockDetectionSystem = 8 + 4;
	IncommingMisslieDetectionSystem = 16;
	driverhasflares =true;
	soundLocked[] = {"\ca\Tracked\Data\Sound\alarm_loop1", 0.000316228, 2};
	soundIncommingMissile[] = {"\ca\Tracked\Data\Sound\alarm_loop1", 0.000316228, 4};		
};	
class MGP: MGPx
{
	scope=public;
	displayName="Multi Turret Plane";
	crew = "RU_Soldier";
	faction = "RU";
	side=TEast;
	transportSoldier=0;
	model="\GNT_MGP\MGP.p3d";

	unloadInCombat = false;
	unitInfoType = "RscUnitInfoAir";
	typicalCargo[] = {"RU_Soldier","RU_Soldier_AR"};
	cargoAction[] = {"RHIB_Driver","RHIB_Driver"};
   	getInAction="RHIB_Driver";
	driverAction = "RHIB_Driver";
	gunnerAction = "BRDM2_Gunner";

	memoryPointCommonDamage = "zamerny";
	memoryPointCameraTarget = "pilot";
	memoryPointcommanderOptics = "pilot";
	commanderOpticsModel = "\ca\weapons\optika_D30";
	memoryPointMissile[] = {"spicerakety", "ustihlavne1"};
	memoryPointMissileDir[] = {"konecrakety", "konechlavne1"};

	armor=200;
	armorHull=1;
	armorTurret=0.800000;
	armorGun=0.600000;
	armorEngine=0.800000;
	armorLights=0.400000;
	armorTracks=0.600000;

	hasdriver = true;
	hasGunner=1;
	driverisCommander=0;
	gunneriscommander = true;
	getInRadius=120;
	alwaysTarget = 0;
	irTarget = 1;
	irScanToEyeFactor = 9;
	irScanGround = 1;
	laserTarget = 0;
	laserScanner = 0;
	hideUnitInfo = 0;
	nightVision = 0;
	threat[] = {0.8,1,0.8};		

	secondaryExplosion = -1;
  		precision=200;  //300 Ch60325
  		brakeDistance=100; //10  Ch60325
  		formationTime=100; //200
  		steerAheadSimul=9.2;
  		steerAheadPlan=4.6;
  		predictTurnSimul=4.6;
  		predictTurnPlan=4.6;
  		formationX=100;
  		formationZ=200;

	maxSpeed=450;
	fuelCapacity=10000;

	class TransportMagazines {};

	transportAmmo = 10000;
	accuracy = 1.25;
	transportVehiclesCount = 0;
	enableGPS = 1;
	extCameraPosition[] = {0, 14.0, -34.0};		

      class Sounds
      {
		class Engine
		{
			sound[] =
			{
				"ca\sounds\Air\AV8\ext\ext-jetair-engine-low2",
				2.51189,
				1,
				1300
			};
			frequency = "1*(1+rpm)";
			volume = "0.7*engineOn";
		};
      };		

	class AnimationSources: AnimationSources
	{
		class gunBarrel
		{
			source = "reload";
			weapon = M2;
		};
	};		

	class Turrets {
		class MainTurret : NewTurret {
			body = "main1turret";
			gun = "main1gun";
			animationSourceBody = "main1turret";
			animationSourceGun = "main1gun";
			gunnerAction = "BRDM2_Gunner";
			gunnerName = "Turret-Rear (1)";
			gunnerOpticsModel = "\ca\wheeled\optika_BRDM";
			turretInfoType = "RscUnitInfo_AH64D_gunner";
			proxyIndex = 1;
			castGunnerShadow = 0;
			ejectDeadGunner = 0;
			proxyType="CPGunner";
			minElev = -3;
			maxElev = 35;
			soundServo[]={"\ca\wheeled\Data\Sound\servo3",0.000178,0.900000};
			initElev = 15;
			minTurn = -155;
			maxTurn = 155;
			initTurn = 0;
			weapons[] = {"M134"};
			magazines[] = {"2000Rnd_762x51_M134","2000Rnd_762x51_M134"};
			memoryPointGun = "gunner1";
			memoryPointGunnerOptics = "gunner1";

			showgunneroptics = 1;
			startEngine = 0;
			forceHideGunner = 1;
			outGunnerMayFire = 1;
			inGunnerMayFire = 1;
			irScanToEyeFactor = 0.1; //1
			sensitivity=1;
			hasgunner=true;
			gunBeg = "ustihlavne1";
			gunEnd = "konechlavne1";				
			gunnerForceOptics = 1;
			commanding = -1;
			primarygunner = 1;

			class ViewOptics {
				initAngleX = 0;
				minAngleX = -5;
				maxAngleX = 45;
				initAngleY = 0;
				minAngleY = -20;
				maxAngleY = 20;
				initFov = 0.6;
				minFov = 0.1;
				maxFov = 0.8;
					};

			class ViewGunner {
				initAngleX = 0;
				minAngleX = 0;
				maxAngleX = 0;
				initAngleY = 0;
				minAngleY = -90;
				maxAngleY = 90;
				initFov = 0.6;
				minFov = 0.5;
				maxFov = 0.7;
					};

		};

		class Main2Turret : NewTurret {
			body = "main2turret";
			gun = "main2gun";
			animationSourceBody = "main2turret";
			animationSourceGun = "main2gun";
			gunnerName = "Turret-Centre (2)";
			gunnerAction = "BRDM2_Gunner";
			gunnerInAction = "BMP2_Gunner";
			gunnerGetInAction = "";
			gunnerGetOutAction = "";
			forceHideGunner = 1;				
			memoryPointGun = "gunner2";
			memoryPointGunnerOptics = "gunner2";
			gunnerOutOpticsModel = "";
			showgunneroptics = 1;
			gunnerForceOptics = 1;
			startEngine = 0;
			hasgunner=true;
			proxyIndex = 2;
			castGunnerShadow = 0;
			ejectDeadGunner = 0;
			proxyType="CPGunner";
			outGunnerMayFire = 1;
			inGunnerMayFire = 1;
			sensitivity=1;
			minElev = -3;
			maxElev = 55;
			soundServo[]={"\ca\wheeled\Data\Sound\servo3",0.000178,0.900000};
			initElev = 0;
			minTurn = -160;
			maxTurn = 160;
			initTurn = 0;
			gunBeg = "ustihlavne2";
			gunEnd = "konechlavne2";
			weapons[] = {"M134"};
			magazines[] = {"2000Rnd_762x51_M134","2000Rnd_762x51_M134"};
			gunnerOpticsModel = "\ca\wheeled\optika_BRDM";
			turretInfoType = "RscUnitInfo_AH64D_gunner";
			gunnerCanSee = 31;
			commanding = -2;
			primarygunner = 0;
			gunnerCompartments = "Compartment1";
			class ViewOptics {
				initAngleX = 0;
				minAngleX = -5;
				maxAngleX = 45;
				initAngleY = 0;
				minAngleY = -20;
				maxAngleY = 20;
				initFov = 0.6;
				minFov = 0.1;
				maxFov = 0.9;
					};

			class ViewGunner {
				initAngleX = 0;
				minAngleX = 0;
				maxAngleX = 0;
				initAngleY = 0;
				minAngleY = -90;
				maxAngleY = 90;
				initFov = 0.6;
				minFov = 0.5;
				maxFov = 0.7;
					};
		};			

		class CIWS1Turret : Main2Turret {
			body = "main3turret";
			gun = "main3gun";
			animationSourceBody = "main3turret";
			animationSourceGun = "main3gun";
			proxyIndex = 3;
			gunnerName = "Turret-Left(3)";
			minElev = -15;
			maxElev = 75;
			initElev = 5;
			minTurn = -10;
			maxTurn = 190;
			initTurn = 90;
			soundServo[] = {"", 0.01, 1.0};
			gunBeg = "ustihlavne3";
			gunEnd = "konechlavne3";
			weapons[] = {"M134"};
			magazines[] = {"2000Rnd_762x51_M134","2000Rnd_762x51_M134"};
			gunnerOpticsModel = "\ca\wheeled\optika_BRDM";
			turretInfoType = "RscUnitInfo_AH64D_gunner";
			gunnerCanSee = 31;
			memoryPointGun = "gunner3";
			memoryPointGunnerOptics = "gunner3";
			gunnerForceOptics = 1;
			startEngine = 0;
			hasgunner=true;
			commanding = -3;
			primarygunner = 0;
			proxyType="CPGunner";
		};
		class CIWS2Turret : Main2Turret {
			body = "main4turret";
			gun = "main4gun";
			animationSourceBody = "main4turret";
			animationSourceGun = "main4gun";
			proxyIndex = 4;
			gunnerName = "Turret-Right(4)";
			minElev = -15;
			maxElev = 75;
			initElev = 5;
			minTurn = 170;
			maxTurn = 370;
			initTurn = 270;
			soundServo[] = {"", 0.01, 1.0};
			gunBeg = "ustihlavne4";
			gunEnd = "konechlavne4";
			weapons[] = {"M134"};
			magazines[] = {"2000Rnd_762x51_M134","2000Rnd_762x51_M134"};
			gunnerOpticsModel = "\ca\wheeled\optika_BRDM";
			turretInfoType = "RscUnitInfo_AH64D_gunner";
			gunnerCanSee = 31;
			memoryPointGun = "gunner4";
			memoryPointGunnerOptics = "gunner4";
			gunnerForceOptics = 1;
			startEngine = 0;
			hasgunner=true;
			commanding = -4;
			primarygunner = 0;
			proxyType="CPGunner";
		};
	};

	class Library  {
		libTextDesc = "Multi Gun Plane";
	};
};
class MGB: MGBx
{
	scope=public;
	displayName="Multi Turret Boat";
	crew = "RU_Soldier";
	faction = "RU";
	side=TEast;
	transportSoldier=0;
	model="\GNT_MGP\MGB.p3d";

	unloadInCombat = false;
	unitInfoType = "RscUnitInfoAir";
	typicalCargo[] = {"RU_Soldier","RU_Soldier_AR"};
	cargoAction[] = {"RHIB_Driver","RHIB_Driver"};
   	getInAction="RHIB_Driver";
	driverAction = "RHIB_Driver";
	gunnerAction = "BRDM2_Gunner";

	memoryPointCommonDamage = "zamerny";
	memoryPointCameraTarget = "pilot";
	memoryPointcommanderOptics = "pilot";
	commanderOpticsModel = "\ca\weapons\optika_D30";
	memoryPointMissile[] = {"spicerakety", "ustihlavne1"};
	memoryPointMissileDir[] = {"konecrakety", "konechlavne1"};

	armor=200;
	armorHull=1;
	armorTurret=0.800000;
	armorGun=0.600000;
	armorEngine=0.800000;
	armorLights=0.400000;
	armorTracks=0.600000;

	hasdriver = true;
	hasGunner=1;
	driverisCommander=0;
	gunneriscommander = true;
	getInRadius=120;
	alwaysTarget = 0;
	irTarget = 1;
	irScanToEyeFactor = 9;
	irScanGround = 1;
	laserTarget = 0;
	laserScanner = 0;
	hideUnitInfo = 0;
	nightVision = 0;
	threat[] = {0.8,1,0.8};		

	secondaryExplosion = -1;
  		precision=200;  //300 Ch60325
  		brakeDistance=100; //10  Ch60325
  		formationTime=100; //200
  		steerAheadSimul=9.2;
  		steerAheadPlan=4.6;
  		predictTurnSimul=4.6;
  		predictTurnPlan=4.6;
  		formationX=100;
  		formationZ=200;

	maxSpeed=50;
	fuelCapacity=10000;

	class TransportMagazines {};

	transportAmmo = 10000;
	accuracy = 1.25;
	transportVehiclesCount = 0;
	enableGPS = 1;
	extCameraPosition[] = {0, 14.0, -34.0};		

      class Sounds
      {
		class Engine
		{
			sound[] =
			{
				"ca\sounds\Air\AV8\ext\ext-jetair-engine-low2",
				2.51189,
				1,
				1300
			};
			frequency = "1*(1+rpm)";
			volume = "0.7*engineOn";
		};
      };		

	class AnimationSources: AnimationSources
	{
		class gunBarrel
		{
			source = "reload";
			weapon = M2;
		};
	};		

	class Turrets {
		class MainTurret : NewTurret {
			body = "main1turret";
			gun = "main1gun";
			animationSourceBody = "main1turret";
			animationSourceGun = "main1gun";
			gunnerAction = "BRDM2_Gunner";
			gunnerName = "Turret-Rear (1)";
			gunnerOpticsModel = "\ca\wheeled\optika_BRDM";
			turretInfoType = "RscUnitInfo_AH64D_gunner";
			proxyIndex = 1;
			castGunnerShadow = 0;
			ejectDeadGunner = 0;
			proxyType="CPGunner";
			minElev = -3;
			maxElev = 35;
			soundServo[]={"\ca\wheeled\Data\Sound\servo3",0.000178,0.900000};
			initElev = 15;
			minTurn = -155;
			maxTurn = 155;
			initTurn = 0;
			weapons[] = {"M134"};
			magazines[] = {"2000Rnd_762x51_M134","2000Rnd_762x51_M134"};
			memoryPointGun = "gunner1";
			memoryPointGunnerOptics = "gunner1";

			showgunneroptics = 1;
			startEngine = 0;
			forceHideGunner = 1;
			outGunnerMayFire = 1;
			inGunnerMayFire = 1;
			irScanToEyeFactor = 0.1; //1
			sensitivity=1;
			hasgunner=true;
			gunBeg = "ustihlavne1";
			gunEnd = "konechlavne1";				
			gunnerForceOptics = 1;
			commanding = -1;
			primarygunner = 1;

			class ViewOptics {
				initAngleX = 0;
				minAngleX = -5;
				maxAngleX = 45;
				initAngleY = 0;
				minAngleY = -20;
				maxAngleY = 20;
				initFov = 0.6;
				minFov = 0.1;
				maxFov = 0.8;
					};

			class ViewGunner {
				initAngleX = 0;
				minAngleX = 0;
				maxAngleX = 0;
				initAngleY = 0;
				minAngleY = -90;
				maxAngleY = 90;
				initFov = 0.6;
				minFov = 0.5;
				maxFov = 0.7;
					};

		};

		class Main2Turret : NewTurret {
			body = "main2turret";
			gun = "main2gun";
			animationSourceBody = "main2turret";
			animationSourceGun = "main2gun";
			gunnerName = "Turret-Centre (2)";
			gunnerAction = "BRDM2_Gunner";
			gunnerInAction = "BMP2_Gunner";
			gunnerGetInAction = "";
			gunnerGetOutAction = "";
			forceHideGunner = 1;				
			memoryPointGun = "gunner2";
			memoryPointGunnerOptics = "gunner2";
			gunnerOutOpticsModel = "";
			showgunneroptics = 1;
			gunnerForceOptics = 1;
			startEngine = 0;
			hasgunner=true;
			proxyIndex = 2;
			castGunnerShadow = 0;
			ejectDeadGunner = 0;
			proxyType="CPGunner";
			outGunnerMayFire = 1;
			inGunnerMayFire = 1;
			sensitivity=1;
			minElev = -3;
			maxElev = 55;
			soundServo[]={"\ca\wheeled\Data\Sound\servo3",0.000178,0.900000};
			initElev = 0;
			minTurn = -160;
			maxTurn = 160;
			initTurn = 0;
			gunBeg = "ustihlavne2";
			gunEnd = "konechlavne2";
			weapons[] = {"M134"};
			magazines[] = {"2000Rnd_762x51_M134","2000Rnd_762x51_M134"};
			gunnerOpticsModel = "\ca\wheeled\optika_BRDM";
			turretInfoType = "RscUnitInfo_AH64D_gunner";
			gunnerCanSee = 31;
			commanding = -2;
			primarygunner = 0;
			gunnerCompartments = "Compartment1";
			class ViewOptics {
				initAngleX = 0;
				minAngleX = -5;
				maxAngleX = 45;
				initAngleY = 0;
				minAngleY = -20;
				maxAngleY = 20;
				initFov = 0.6;
				minFov = 0.1;
				maxFov = 0.9;
					};

			class ViewGunner {
				initAngleX = 0;
				minAngleX = 0;
				maxAngleX = 0;
				initAngleY = 0;
				minAngleY = -90;
				maxAngleY = 90;
				initFov = 0.6;
				minFov = 0.5;
				maxFov = 0.7;
					};
		};			

		class CIWS1Turret : Main2Turret {
			body = "main3turret";
			gun = "main3gun";
			animationSourceBody = "main3turret";
			animationSourceGun = "main3gun";
			proxyIndex = 3;
			gunnerName = "Turret-Left(3)";
			minElev = -15;
			maxElev = 75;
			initElev = 5;
			minTurn = -10;
			maxTurn = 190;
			initTurn = 90;
			soundServo[] = {"", 0.01, 1.0};
			gunBeg = "ustihlavne3";
			gunEnd = "konechlavne3";
			weapons[] = {"M134"};
			magazines[] = {"2000Rnd_762x51_M134","2000Rnd_762x51_M134"};
			gunnerOpticsModel = "\ca\wheeled\optika_BRDM";
			turretInfoType = "RscUnitInfo_AH64D_gunner";
			gunnerCanSee = 31;
			memoryPointGun = "gunner3";
			memoryPointGunnerOptics = "gunner3";
			gunnerForceOptics = 1;
			startEngine = 0;
			hasgunner=true;
			commanding = -3;
			primarygunner = 0;
			proxyType="CPGunner";
		};
		class CIWS2Turret : Main2Turret {
			body = "main4turret";
			gun = "main4gun";
			animationSourceBody = "main4turret";
			animationSourceGun = "main4gun";
			proxyIndex = 4;
			gunnerName = "Turret-Right(4)";
			minElev = -15;
			maxElev = 75;
			initElev = 5;
			minTurn = 170;
			maxTurn = 370;
			initTurn = 270;
			soundServo[] = {"", 0.01, 1.0};
			gunBeg = "ustihlavne4";
			gunEnd = "konechlavne4";
			weapons[] = {"M134"};
			magazines[] = {"2000Rnd_762x51_M134","2000Rnd_762x51_M134"};
			gunnerOpticsModel = "\ca\wheeled\optika_BRDM";
			turretInfoType = "RscUnitInfo_AH64D_gunner";
			gunnerCanSee = 31;
			memoryPointGun = "gunner4";
			memoryPointGunnerOptics = "gunner4";
			gunnerForceOptics = 1;
			startEngine = 0;
			hasgunner=true;
			commanding = -4;
			primarygunner = 0;
			proxyType="CPGunner";
		};
	};

	class Library  {
		libTextDesc = "Multi Gun Boat";
	};
};
};

Model.cfg

class CfgSkeletons 
{ 
class default
{
	isDiscrete = 1;
	skeletonInherit = "";
	skeletonBones[] = {};
};
class MGPBones1: default
{
	isDiscrete=1;
	skeletonInherit = "";
	skeletonBones[]=
	{
	"main1turret","",
	"main1gun","main1turret",
	"M9M317","main1gun",
	"main2turret","",
	"main2gun","main2turret",
	"DHide06","main2turret",
	"main_recoil","main2gun",
	"main3turret","",
	"main3gun","main3turret",
	"main4turret","",
	"main4gun","main4turret"
	};
   };

};

class CfgModels
{
class MGP
{
	skeletonName = "MGPBones1";
	sectionsInherit="";
	sections[] = {"main1turret","main1gun","main2turret","main2gun","main3turret","main3gun","main4turret","main4gun","main_recoil"};
	class Animations
	{
		class main_recoil
		{
		   type="translation";
		   source="gunBarrel";
		   selection="main_recoil";
		   begin="recoil_start";
		   end="recoil_end";
		   initPhase=1;
		   memory=1;
		   animPeriod =0.2;
		   sourceAddress = "loop";
		   offset0=0;
		   offset1=1;
		 };		
		class main1turret //the horizontal moving part of the turret
			{
			type="rotationY";
			source="main1turret";
			selection="main1turret";
			axis="axis1turret";
			animPeriod=0;
			memory=1;
			minValue="rad -360";
			maxValue="rad +360";
			angle0="rad -360";
			angle1="rad +360";
			};

		class main1gun //the vertical moving part of the turret
			{
			type="rotationX";
			source="main1gun";
			selection="main1gun";
			axis="axis1gun";
			animPeriod=0;
			memory=1;
			minValue="rad -360";
			maxValue="rad +360";
			angle0="rad -360";
			angle1="rad +360";
			};

		class main2turret : main1turret //the horizontal moving part of the turret
			{
			source="main2turret";
			selection="main2turret";
			axis="axis2turret";
			};

		class main2gun : main1gun //the vertical moving part of the turret
			{
			source="main2gun";
			selection="main2gun";
			axis="axis2gun";
			};
		class main3turret : main1turret //the horizontal moving part of the turret
			{
			source="main3turret";
			selection="main3turret";
			axis="axis3turret";
			};

		class main3gun : main1gun //the vertical moving part of the turret
			{
			source="main3gun";
			selection="main3gun";
			axis="axis3gun";
			};

		class main4turret : main1turret //the horizontal moving part of the turret
			{
			source="main4turret";
			selection="main4turret";
			axis="axis4turret";
			};

		class main4gun : main1gun //the vertical moving part of the turret
			{
			source="main4gun";
			selection="main4gun";
			axis="axis4gun";
			};
	};
};

class MGB : MGP	{};

};

Share this post


Link to post
Share on other sites

What kind of ammo ,weapon class they using ?

This will affect ai interest in enemy I noticed , sorry cant dl at moment on iPad , I have a look ,sound interesting thanks

Share this post


Link to post
Share on other sites

Used many, including M2 and demo has M134

Same ammo / weapon for Boat and Plane

Boat has no issues attacking targets ;)

Plane wants to but;

Its like the AI are INCAPABLE of moving the planes turret .....

But they can pull the trigger when something moves in front of their cross-hair

Share this post


Link to post
Share on other sites

well i had a quick look around OA and i guess turrets were added to air with class UAV : Plane ,

i will try to download sometime soon , for now heres some turret info , does anything look different with this stabilized ?

class ViewGunner

{

initAngleX = 5;

minAngleX = -85;

maxAngleX = 85;

initAngleY = 0;

minAngleY = -150;

maxAngleY = 150;

initFov = 0.7;

minFov = 0.42;

maxFov = 0.85;

directionStabilized = 1;

horizontallyStabilized = 1;

};

maybe for AI just like old times the memory points of guns stay at 0 ,which i guess your thinking too with tunnel vision description. maybe look at UAV logic manager see what there having to do ?

Share this post


Link to post
Share on other sites

Thanks Thromp

Tested the extra parameters, on and off, no difference

Check the UAV's, their turret exhibits the same behaviour, while the A1 may lock onto target (generally only once forward of UAV) the turrets do not move to track the target, they simply stay "Stabilized" facing the original direction.

Share this post


Link to post
Share on other sites
Gnat;2114008']

Please Vote !

​Done!

Share this post


Link to post
Share on other sites

In the latest beta 90242...

[89898] Fixed: Secondary gunner tracks enemies

Related?

Share this post


Link to post
Share on other sites
In the latest beta 90242...

[89898] Fixed: Secondary gunner tracks enemies

Related?

Tested. Not related, not fixed !

What is fixed: Each turrets on OTHER vehicle types will now track its own target ....... great! But Aircraft Turrets, not fixed.

Please Vote

https://dev-heaven.net/issues/29050

Share this post


Link to post
Share on other sites

Well .... at least it is a STEP in the right direction.

Just needs to be applied to aircraft! Keep piling on the pressure.

Share this post


Link to post
Share on other sites

This just sounds like the default behaviour since ArmA1 to me.

I cant test it right now since the machine i have infront of me doesnt have ArmA2/Tools installed. But can some one tell me if you turn the turret and fire does it only fire along the centreline of the plane?

If so this has been the norm since ArmA1. If it does fire in the same location as the turret is pointing then this is indeed fantastic news.

Share this post


Link to post
Share on other sites

I voted on this as it would be good to have. (Ai controlled AC130?)

Share this post


Link to post
Share on other sites
if you turn the turret and fire does it only fire along the centreline of the plane? If so this has been the norm since ArmA1.

Yep .... thats the difference Rock, it DOES move now. Hence its not the old ArmA1 problems any longer.

EG: I have an I44 B-17 with FULLY working turrets, NOT attachto ones. Unfortunately it only works AWESOME for players ...... not AI

And an all-in-one AC130 is no doubt very do-able. Just the AI will be useless.

As mention, got the tip-off from Yac about the change in game engine.

Edited by [APS]Gnat

Share this post


Link to post
Share on other sites
In the latest beta 90242...

[89898] Fixed: Secondary gunner tracks enemies

Related?

Already asked, tested and found to not be the fix we are looking for.

Share this post


Link to post
Share on other sites
Gnat;2116872']

And an all-in-one AC130 is no doubt very do-able. Just the AI will be useless.

working on that now

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  

×