Jump to content
Sign in to follow this  
chops

Turret problems on ship

Recommended Posts

Hi folks,

I've been going crazy trying to get the turrets on my destroyer to work properly. They move fine, the weapons are there, but when the AI are controlling the turrets, they turn them away from any targets the commander gives them.

In this pic you can see the main cannon turning away from the target (an Ifrit on the hillside)

th_2013-12-11_00001_zps1d3b4544.jpg

The CWIS won't ever target helicopters either. It just points straight up.

th_2013-12-11_00003_zps05d3fa98.jpg

Here's the ship's config. Please note there's a lot of stuff commented out- place-holders and WIP values and the like.

// config.bin - 07:52:23 04/21/13, generated in 0.02 seconds
// Generated by unRap v1.06 by Kegetys
// Separate rootclasses: Disabled, Automatic comments: Enabled

#define true	1
#define false	0

#define private		0
#define protected		1
#define public		2

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

enum {
DESTRUCTENGINE = 2,
DESTRUCTDEFAULT = 6,
DESTRUCTWRECK = 7,
DESTRUCTTREE = 3,
DESTRUCTTENT = 4,
STABILIZEDINAXISX = 1,
STABILIZEDINAXESXYZ = 4,
STABILIZEDINAXISY = 2,
STABILIZEDINAXESBOTH = 3,
DESTRUCTNO = 0,
STABILIZEDINAXESNONE = 0,
DESTRUCTMAN = 5,
DESTRUCTBUILDING = 1,
};

class CfgPatches {
class CPS_DDG {
	units[] = {"CPS_DDG"};
	weapons[] = {};
	requiredVersion = 0.1;
	requiredAddons[] = {"A3_Boat_F"};
};
};
class DefaultEventhandlers;	// External class reference
class RCWSOptics;		// External class reference
class Turrets;			// External class reference
class Newturret;		// External class reference
class PhysXMaterialBase;	// External class reference
class Mode_SemiAuto;		// External class reference
class Mode_Burst;		// External class reference

class PhysXMaterials {
class DriveOn : PhysXMaterialBase {
	restitution = "-15.0f";
	staticFriction = "100.5f";
	dynamicFriction = "50.0f";
};
};


class CfgAmmo {
class MissileBase; 	// External class reference
class M_Air_AA;		// External class reference
//class Sh_120_HE;	// External class reference
/*		
class Mk45_127mm : Sh_120_HE {
	hit = 355;
	indirectHit = 45;
	indirectHitRange = 12;
};
*/
class M_ESSM_AA : M_Air_AA {
	airLock = 2;
};
class CPS_BGM109fake : MissileBase
	{
	hit = 10;
	indirectHit = 5;
	indirectHitRange = 10.5;
	soundHit[] = {"",1,1,1900};
	model = "\cps_missile\bgm109proxy.p3d";
	proxyShape = "\cps_missile\bgm109proxy.p3d";
	trackOversteer = 1;
	CraterEffects = "ATRocketCrater";
	explosionEffects = "ATRocketExplosion";
	whistleDist = 8;
	maxControlRange = 11000;
	maneuvrability = 14;
	simulationStep = 0.002;
	airLock = 0;
	irLock = 1;
	laserLock = 1;
	cmimmunity = 0.8;
	manualControl = 1;
	cost = 1000;
	maxSpeed = 400;
	timeToLive = 45;
	airFriction = 0.04;
	sideAirFriction = 0.08;
	trackLead = 1;
	//initTime = 0.15;
	initTime = 0;
	thrustTime = 12;
	thrust = 366;
	fuseDistance = 500;
	muzzleEffect = "BIS_fnc_effectFiredHeliRocket";
};
};

class CfgMagazines 
{
class VehicleMagazine;	// External class reference
class Default;	// External class reference

//class 32Rnd_155mm_Mo_shells;	// External class reference
class 2Rnd_AAA_missiles;	// External class reference


class 32Rnd_ESSM_missiles : 2Rnd_AAA_missiles {
	displayName = "$STR_A3_CfgMagazines_4Rnd_AAA_missiles0";
	displayNameShort = "$STR_A3_CfgMagazines_4Rnd_AAA_missiles_dns";
	ammo = "M_ESSM_AA";
	count = 32;
};
class CPS_bgm109fakex2: VehicleMagazine
{
	scope = 2;
	displayName = "BGM-109";
	displayNameShort = "BGM-109";
	ammo = "CPS_BGM109fake";
	initSpeed = 0;
	maxLeadSpeed = 220;
	sound[] = {"",1.0,1};
	reloadSound[] = {"",0.000316228,1};
	count = 2;
	nameSound = "missiles";
};
/*	
class 20Rnd_127mmHE_Mk45 : 32Rnd_155mm_Mo_shells {
	scope = public;
	displayName = "Mk45";
	ammo = "Mk45_127mm";
	count = 20;
	initSpeed = 200;
};
*/
};

class cfgWeapons {
class Default;		// External class reference
class RocketPods;	//	"
//class CannonCore;	// External class reference
class missiles_ASRAAM;		// External class reference

class missiles_ESSM : missiles_ASRAAM {
	minRange = 1500;
	minRangeProbab = 0.9;
	midRange = 3500;
	midRangeProbab = 0.25;
	maxRange = 9000;
	maxRangeProbab = 0.9;	
	reloadTime = 3;
	magazineReloadTime = 90;
	magazines[] = {"32Rnd_ESSM_missiles"};
	weaponLockSystem = 2 + 16;
	weaponLockDelay = 0,5;
};
class cps_bgm109Launcher: RocketPods
{
	autoFire = 0;
	CanLock = 2;
	displayName = "BGM-109";
	displayNameMagazine = "BGM-109";
	shortNameMagazine = "BGM-109";
	magazines[] = {"CPS_bgm109fakex2"};
	reloadTime = 1;
	magazineReloadTime = 5;
	aiRateOfFire = 5.0;
	aiRateOfFireDistance = 500;
	nameSound = "MissileLauncher";
	sound[] = {"A3\Sounds_F\weapons\Rockets\missile_1",1.1220185,1.3,1100};
	soundFly[] = {"A3\Sounds_F\weapons\Rockets\rocket_fly_1",1.0,1.1,700};
	lockingTargetSound[] = {"\A3\Sounds_F\weapons\Rockets\locked_1",0.316228,1};
	lockedTargetSound[] = {"\A3\Sounds_F\weapons\Rockets\locked_3",0.316228,2.5};
	weaponSoundEffect = "DefaultRifle";
	cursor = "EmptyCursor";
	cursorAim = "EmptyCursor";
	weaponLockDelay = 3.0;
	textureType = "fullAuto";
	minRange = 300;
	minRangeProbab = 0.25;
	midRange = 2500;
	midRangeProbab = 0.9;
	maxRange = 9000;
	maxRangeProbab = 0.01;
};



/*
class Mk45_DDG : CannonCore {
	scope = public;
	displayname = "Mk45 Naval Gun";
	nameSound = "CannonCore";
	cursor = "mortar";
	cursorAim = "EmptyCursor";
	sound[] = {"A3\Sounds_F\weapons\Mortar\mortar_03", db2, 1, 250};
	reloadSound[] = {"A3\Sounds_F\weapons\Mortar\mortar_reload_01", 1.0, 1, 60};
	weaponSoundEffect = "DefaultRifle";
	soundServo[] = {"", db-80, 1.0};
	minRange = 80;
	minRangeProbab = 0.7;
	midRange = 2000;
	midRangeProbab = 0.7;
	maxRange = 4000;
	maxRangeProbab = 0.1;
	reloadTime = 1.8;
	magazineReloadTime = 5;
	maxLeadSpeed = 100;	// max estimated speed km/h
	autoReload = true;
	canLock = LockNo;
	magazines[] = {"20Rnd_127mmHE_Mk45"};
	ballisticsComputer = 2;

	class GunParticles {
		class FirstEffect {
			effectName = "MortarFired";
			positionName = "Usti Hlavne";
			directionName = "Konec Hlavne";
		};
	};
	modes[] = {"Single1", "Single2", "Single3", "Burst1", "Burst2", "Burst3"};

	class Single1 : Mode_SemiAuto {
		showToPlayer = true;
		displayName = "$STR_A3_mortar_82mm_Single10";
		sound[] = {"A3\Sounds_F\weapons\Mortar\mortar_03", db2, 1, 250};
		reloadSound[] = {"A3\Sounds_F\weapons\Mortar\mortar_reload_01", 1.0, 1, 40};
		weaponSoundEffect = "DefaultRifle";
		soundServo[] = {"", db-80, 1.0};
		reloadTime = 1.8;
		minRange = 0;
		midRange = 0;
		maxRange = 0;
		artilleryDispersion = 3.7;
		artilleryCharge = 0.35;
	};

	class Single2 : Single1 {
		displayName = "$STR_A3_mortar_82mm_Single20";
		artilleryCharge = 0.7;
	};

	class Single3 : Single1 {
		displayName = "$STR_A3_mortar_82mm_Single30";
		artilleryCharge = 1;
	};

	class Burst1 : Mode_Burst {
		showToPlayer = false;
		displayName = "$STR_A3_mortar_82mm_Burst10";
		burst = 4;
		sound[] = {"A3\Sounds_F\weapons\Mortar\mortar_03", db2, 1, 250};
		reloadSound[] = {"A3\Sounds_F\weapons\Mortar\mortar_reload_01", 1.0, 1, 40};
		weaponSoundEffect = "DefaultRifle";
		soundServo[] = {"", db-80, 1.0};
		soundBurst = 0;
		reloadTime = 1.8;
		minRange = 60;
		minRangeProbab = 0.5;
		midRange = 290;
		midRangeProbab = 0.7;
		maxRange = 665;
		maxRangeProbab = 0.5;
		artilleryDispersion = 5.93;
		artilleryCharge = 0.35;
	};

	class Burst2 : Burst1 {
		showToPlayer = false;
		displayName = "$STR_A3_mortar_82mm_Burst20";
		minRange = 230;
		minRangeProbab = 0.4;
		midRange = 1175;
		midRangeProbab = 0.6;
		maxRange = 2660;
		maxRangeProbab = 0.4;
		artilleryCharge = 0.7;
	};

	class Burst3 : Burst1 {
		showToPlayer = false;
		displayName = "$STR_A3_mortar_82mm_Burst30";
		minRange = 540;
		minRangeProbab = 0.3;
		midRange = 2355;
		midRangeProbab = 0.4;
		maxRange = 5500;
		maxRangeProbab = 0.3;
		artilleryCharge = 1;
	};

};
*/
};

class Animationsources;	// External class reference

class CfgVehicles {

class Ship; 

class CPS_DDG : Ship 
	{
	mapSize = 125;


	displayName = Arleigh Burke destroyer;
	vehicleClass = "Ship";

	driverCanSee = 31;
	commanderCanSee = 31;
	gunnerCanSee = 31;
	radarType = 4;
	LockDetectionSystem = 8 + 4;
	IncommingMisslieDetectionSystem = 16;

	irTarget = true;
	irScanRangeMin = 500;
	irScanRangeMax = 200000;
	irScanToEyeFactor = 14;
	irScanGround = true;
	allowTabLock = true;
	showAllTargets = 2;	


	scope = public;

	crew = "B_soldier_F";
	faction = BLU_F;
	side = TWest;
	typicalCargo[] = {"B_Soldier_F", "B_Soldier_F"};		

	armor = 2000;
	armorStructural = 40.0;

	memoryPointsLeftWaterEffect = "engineeffectl";
	memoryPointsRightWaterEffect = "engineeffectr";  

	accuracy = 0.5;	// accuracy needed to recognize type of this target
	model = "\CPS_DDG\DDGA3.p3d";
	Icon = "\mnk_lcs\lcs_icon.paa";
	unitInfoType = "UnitInfoShip";
	insideSoundCoef = 0;
	soundEngineOnInt[] = {"a3\Sounds_F\vehicles\boat\SpeedBoat\ext-boat-start-02.wav", 1.0, 1.0};
	soundEngineOnExt[] = {"a3\Sounds_F\vehicles\boat\SpeedBoat\ext-boat-start-02.wav", 1.0, 1.0, 200};
	soundEngineOffInt[] = {"a3\Sounds_F\vehicles\boat\SpeedBoat\ext-boat-stop-02.wav", 1.0, 1.0};
	soundEngineOffExt[] = {"a3\Sounds_F\vehicles\boat\SpeedBoat\ext-boat-stop-02.wav", 1.0, 1.0, 200};

	class Sounds {
		class IdleOut {
			sound[] = {"A3\Sounds_F\vehicles\boat\SpeedBoat\speedboat-idle-2.wav", db5, 1.0, 300};
			frequency = "0.95	+	((rpm/	1200) factor[(100/	1200),(300/	1200)])*0.15";
			volume = "engineOn*(((rpm/	1200) factor[(0/	1200),(30/	1200)])	*	((rpm/	1200) factor[(500/	1200),(300/	1200)]))";
		};

		class Engine {
			sound[] = {"A3\Sounds_F\vehicles\boat\SpeedBoat\speedboat-low-2.wav", db10, 1.0, 450};
			frequency = "0.95	+	((rpm/	1200) factor[(300/	1200),(600/	1200)])*0.2";
			volume = "engineOn*(((rpm/	1200) factor[(150/	1200),(250/	1200)])	*	((rpm/	1200) factor[(600/	1200),(400/	1200)]))";
		};

		class EngineMidOut {
			sound[] = {"A3\Sounds_F\vehicles\boat\SpeedBoat\speedboat-mid-2.wav", db10, 1.0, 500};
			frequency = "0.95	+		((rpm/	1200) factor[(600/	1200),(900/	1200)])*0.2";
			volume = "engineOn*(((rpm/	1200) factor[(350/	1200),(500/	1200)])	*	((rpm/	1200) factor[(1000/	1200),(700/	1200)]))";
		};

		class EngineMaxOut {
			sound[] = {"A3\Sounds_F\vehicles\boat\SpeedBoat\speedboat-high-2.wav", 5.62341, 1.0, 600};
			frequency = "0.95	+	((rpm/	1200) factor[(700/	1200),(1000/	1200)])*0.2";
			volume = "engineOn*((rpm/	1200) factor[(800/	1200),(1200/	1200)])";
		};

		class WaternoiseOutW0 {
			sound[] = {"A3\Sounds_F\vehicles\boat\SFX\voda-o-bok-lodi-0-speed1.wav", db-10, 1.0, 250};
			frequency = "1";
			volume = "(speed factor[4, 1])";
		};

		class WaternoiseOutW1 {
			sound[] = {"A3\Sounds_F\vehicles\boat\SFX\voda-o-bok-lodi-20-speed.wav", db-10, 1.0, 250};
			frequency = "1";
			volume = "((speed factor[2, 6]) min (speed factor[6, 4]))";
		};

		class WaternoiseOutW2 {
			sound[] = {"A3\Sounds_F\vehicles\boat\SFX\voda-o-bok-lodi-50-speed.wav", db-10, 1.0, 250};
			frequency = "1";
			volume = "(speed factor[3, 9])";
		};
	};


	class AnimationSources : Animationsources {

		class landingpadnets {
			source = "user";
			animPeriod = 5;
			initPhase = 0;
		};
		class VLSflaps {
			source = "user";
			animPeriod = 1;
			initPhase = 0;
		};
	};
	class UserActions {
		class Lowernets {
			displayName = "Lower helipad nets";
			position = "sternnet_axis";
			onlyforplayer = 0;
			radius = 200;
			condition = "this animationPhase ""portnet"" == 0";
			statement = "this animate [""portnet"",1]; this animate [""starbnet"",1]; this animate [""sternnet"",1]";
		};

		class Raisenets {
			displayName = "Raise helipad nets";
			position = "sternnet_axis";
			onlyforplayer = 0;
			radius = 200;
			condition = "this animationPhase ""portnet"" == 1";
			statement = "this animate [""portnet"",0]; this animate [""starbnet"",0]; this animate [""sternnet"",0]";
		};
		class openVLSflaps {
			displayName = "Open VLS flaps";
			position = "flap1_axis";
			onlyforplayer = 0;
			radius = 200;
			condition = "this animationPhase ""flap1"" == 0";
			statement = "this animate [""flap1"",1]; this animate [""flap2"",1]";
		};
		class closeVLSflaps {
			displayName = "Close VLS flaps";
			position = "flap1_axis";
			onlyforplayer = 0;
			radius = 200;
			condition = "this animationPhase ""flap1"" == 1";
			statement = "this animate [""flap1"",0]; this animate [""flap2"",0]";
		};
	};


	class HitPoints {
		class HitBody {
			armor = 0.7;
			material = 50;
			name = "karoserie";
			visual = "zbytek";
			passThrough = true;
		};

		class HitEngine {
			armor = 0.12;
			material = -1;
			name = "Engine";
			visual = "";
			passThrough = true;
		};

		class HitTurret {
			armor = 0.7;
			material = -1;
			name = "otochlaven";
			visual = "otochlaven";
			passThrough = true;
		};
	};
	driverLeftHandAnimName = "drivewheel";
	driverRightHandAnimName = "drivewheel";
	driverAction = "driver_boat01";
	getInAction = "GetInMedium";
	getOutAction = "GetOutMedium";
	cargoGetInAction[] = {"GetInMedium"};
	cargoGetOutAction[] = {"GetOutMedium"};
	castDriverShadow = true;
	castCargoShadow = true;
	driverhasflares = true;
	gunnerHasFlares = false;
	//gunneriscommander= true;
	gunneriscommander= false;
	enableGPS = 1;
	transportSoldier = 8;
	cost = 10000;


	supplyRadius = 3;
	precision = 15;
	steerAheadSimul = 0.5;
	steerAheadPlan = 0.35;
	predictTurnPlan = 0.8;
	predictTurnSimul = 0.6;
	brakeDistance = 60.0;	// vehicle movement precision
	acceleration = 30;
	turnCoef = 0.75;
	//maxSpeed = 75;	// max speed on level road, km/h
	maxSpeed = 100;		

	simulation = "shipx";
	thrustDelay = 2;
	overSpeedBrakeCoef = 0.2;
	//enginePower = 66200;
	enginePower = 662000;

	engineShiftY = -10.100;
	waterLeakiness = 300;
	waterLinearDampingCoefY = 10;
	waterLinearDampingCoefX = 2.0;
	waterAngularDampingCoef = 30;
	waterResistanceCoef = 0.0015;
	rudderForceCoef = 14;
	rudderForceCoefAtMaxSpeed = 18;
	idleRpm = 1000;
	redRpm = 5600;

	class complexGearbox {
		GearboxRatios[] = {"R1", -0.782, "N", 0, "D1", 2};
		TransmissionRatios[] = {"High", 1.0};
		gearBoxMode = "auto";
		moveOffGear = 1;
		driveString = "D";
		neutralString = "N";
		reverseString = "R";
	};
	enableManualFire = 0;
	smokeLauncherGrenadeCount = 6;
	smokeLauncherVelocity = 14;
	smokeLauncherOnTurret = 0;
	smokeLauncherAngle = 150;
	magazines[] = {"CPS_bgm109fakex2","60Rnd_CMFlare_Chaff_Magazine","60Rnd_CMFlare_Chaff_Magazine","60Rnd_CMFlare_Chaff_Magazine","60Rnd_CMFlare_Chaff_Magazine"};
	weapons[] = {"cps_bgm109Launcher","CMFlareLauncher"};

	//memoryPointMissileDir[] = {"toma1","toma2"};
	memoryPointMissile[] = {"spicerakety","ustihlavne1"};
	//memoryPointMissile[] = {"ustihlavne1","spicerakety"};
	memoryPointMissileDir[] = {"konecrakety","konechlavne1"};
	//memoryPointMissileDir[] = {"konechlavne1","konecrakety"};


	class Exhausts {
		class Exhaust1 {
			position = "Exhaust1";
			direction = "Exhaust1_dir";
			effect = "DamageSmokePlane";
		};
	};
	leftFastWaterEffect = "LFastWaterEffects";
	rightFastWaterEffect = "RFastWaterEffects";
	waterEffectSpeed = 5;
	engineEffectSpeed = 5;
	waterFastEffectSpeed = 18;

	artilleryScanner = 1;
	laserScanner = 1;
	availableForSupportTypes[] = {"Artillery"};


	class Turrets : Turrets {
		class FrontTurret : NewTurret {

			class HitPoints {
				class HitTurret {
					armor = 0.8;
					material = 60;
					name = "otochlaven";
					visual = "otochlaven";
					passThrough = true;
				};

				class HitGun {
					armor = 0.6;
					material = 60;
					name = "otochlaven";
					visual = "otochlaven";
					passThrough = true;
				};
			};
			stabilizedInAxes = 4;
			body = "MainTurret";
			gun = "MainGun";
			animationSourceBody = "mainTurret";
			animationSourceGun = "mainGun";
			gunnerAction = "gunner_hunter";
			gunnerGetInAction = "GetInMedium";
			gunnerGetOutAction = "GetOutMedium";
			ejectDeadGunner = false;
			outGunnerMayFire = true;
			inGunnerMayFire = true;
			soundServo[] = {"A3\sounds_f\dummysound", db-45, 1.0};
			//gunBeg = "mk45_beg";	// endpoint of the gun
			//gunEnd = "mk45_end";	// chamber of the gun
			gunBeg = "usti hlavne";
			gunEnd = "konec hlavne";
			//weapons[] = {"Mk45_DDG"};
			weapons[] = {"cannon_120mm"};
			//magazines[] = {"20Rnd_127mmHE_Mk45","20Rnd_127mmHE_Mk45","20Rnd_127mmHE_Mk45","20Rnd_127mmHE_Mk45","20Rnd_127mmHE_Mk45","20Rnd_127mmHE_Mk45","20Rnd_127mmHE_Mk45","20Rnd_127mmHE_Mk45"};
			magazines[] = {"16Rnd_120mm_HE_shells_Tracer_Red","16Rnd_120mm_HE_shells_Tracer_Red","16Rnd_120mm_HE_shells_Tracer_Red"};
			discreteDistance[] = {100, 200, 300, 400, 600, 800, 1000, 1200};
			discreteDistanceInitIndex = 2;
			gunnerName = "Mk45 Gunner";
			memoryPointGunnerOptics = "gunnerview";
			gunnerOpticsModel = "\A3\weapons_f\reticle\Optics_Gunner_02_F";
			gunnerOpticsEffect[] = {"TankCommanderOptics1", BWTV};
			turretInfoType = "RscOptics_crows";
			gunnerForceOptics = false;
			startEngine = false;
			sensitivity = 1;
			memoryPointGun = "kulas";
			hasgunner = 1;
			commanding = -2;
			primaryGunner = 1;
			primaryObserver = 0;
			proxyType= "CPGunner"; 
			//proxyIndex = 1;
			proxyIndex = 2;
			gunnerCanSee = 31;

			LODTurnedIn = 1100;
			LODTurnedOut = 1100;
			usePip = 1;
			minElev = -15;
			maxElev = 45;
			initElev = 5;
			minTurn = -135;
			maxTurn = 135;
			initTurn = 0;

			class ViewOptics : RCWSOptics {};

			class ViewGunner : ViewOptics {
				initAngleX = -15;
				minAngleX = -45;
				maxAngleX = 45;
				initFov = 0.9;
				minFov = 0.42;
				maxFov = 0.9;
				visionMode[] = {};
			};
		};

		class ForeTurret : NewTurret {

			class HitPoints {
				class HitTurret {
					armor = 0.8;
					material = 60;
					name = "otochlaven_1";
					visual = "otochlaven_1";
					passThrough = true;
				};

				class HitGun {
					armor = 0.6;
					material = 60;
					name = "otochlaven_1";
					visual = "otochlaven_1";
					passThrough = true;
				};

			};
			stabilizedInAxes = 4;
			body = "Turret_2";
			gun = "Gun_2";
			animationSourceBody = "turret_2";
			animationSourceGun = "gun_2";
			gunnerAction = "gunner_hunter";
			gunnerGetInAction = "GetInMedium";
			gunnerGetOutAction = "GetOutMedium";
			ejectDeadGunner = false;
			outGunnerMayFire = true;
			inGunnerMayFire = true;
			soundServo[] = {"A3\sounds_f\dummysound", db-45, 1.0};
			//gunBeg = "forephal_beg";	// endpoint of the gun
			//gunEnd = "forephal_end";	// chamber of the gun
			gunBeg = "usti hlavne_1";
			gunEnd = "konec hlavne_1";
			missileBeg = "missile_1_beg";
			missileEnd = "missile_1_end";
			//weapons[] = {"gatling_20mm","missiles_ESSM"};
			weapons[] = {"autocannon_35mm","missiles_ASRAAM"};
			magazines[] = {"680Rnd_35mm_AA_shells_Tracer_Red","4Rnd_AAA_missiles"};
			gunnerName = "Forward Phalanx";

			//memoryPointGunnerOptics = "forephalgview";
			memoryPointGunnerOptics = "commanderview";

			gunnerOpticsModel = "\A3\weapons_f\reticle\Optics_Gunner_02_F";
			gunnerOpticsEffect[] = {"TankCommanderOptics1", BWTV};
			turretInfoType = "RscOptics_crows";
			gunnerForceOptics = false;
			startEngine = false;
			hasgunner = 1;
			memoryPointGun = "kulas_1";
			sensitivity = 1;
			commanding = 2;
			primaryGunner = 0;
			primaryObserver = 1;
			//proxyIndex = 2;
			proxyIndex = 3;

			proxyType= "CPGunner"; 

			gunnerCanSee = 31;				
			LODTurnedIn = 1100;
			LODTurnedOut = 1100;
			usePip = 1;
			minElev = -25;
			maxElev = 85;
			initElev = 0;
			minTurn = -150;
			maxTurn = 150;
			initTurn = 0;				


			class ViewOptics : RCWSOptics {};

			class ViewGunner : ViewOptics {
				initAngleX = -15;
				minAngleX = -45;
				maxAngleX = 45;
				initFov = 0.9;
				minFov = 0.42;
				maxFov = 0.9;
				visionMode[] = {};
			};
		};

	class AftTurret : NewTurret {

			class HitPoints {
				class HitTurret {
					armor = 0.8;
					material = 60;
					name = "aftphal_trav";
					visual = "aftphal_trav";
					passThrough = true;
				};

				class HitGun {
					armor = 0.6;
					material = 60;
					name = "aftphal_elev";
					visual = "aftphal_elev";
					passThrough = true;
				};

			};


			stabilizedInAxes = 4;
			body = "Turret_3";
			gun = "Gun_3";
			animationSourceBody = "Turret_3";
			animationSourceGun = "Gun_3";
			gunnerAction = "gunner_hunter";
			gunnerGetInAction = "GetInMedium";
			gunnerGetOutAction = "GetOutMedium";
			ejectDeadGunner = false;
			outGunnerMayFire = true;
			inGunnerMayFire = true;
			soundServo[] = {"A3\sounds_f\dummysound", db-45, 1.0};
			//gunBeg = "aftphal_beg";	// endpoint of the gun
			//gunEnd = "aftphal_end";	// chamber of the gun
			gunBeg = "usti hlavne_2";
			gunEnd = "konec hlavne_2";


			missileBeg = "missile_2_beg";
			missileEnd = "missile_2_end";
			weapons[] = {"gatling_20mm","missiles_ESSM"};
			magazines[] = {"2000Rnd_20mm_shells","32Rnd_ESSM_missiles"};
			gunnerName = "Aft Phalanx";

			memoryPointGun = "kulas_2";
			memoryPointGunnerOptics = "aftphalgview";
			sensitivity = 1;

			gunnerOpticsModel = "\A3\weapons_f\reticle\Optics_Gunner_02_F";
			gunnerOpticsEffect[] = {"TankCommanderOptics1", BWTV};
			turretInfoType = "RscOptics_crows";
			gunnerForceOptics = false;
			startEngine = false;
			hasgunner = 1;
			commanding = -2;
			//proxyIndex = 3;
			proxyIndex = 1;
			proxyType= "CPGunner";
			primarygunner = 0;
			gunnerCanSee = 31;

			LODTurnedIn = 1100;
			LODTurnedOut = 1100;
			usePip = 1;
			minElev = -25;
			maxElev = +85;
			initElev = 0;
			minTurn = -330;
			//minTurn = 330;
			maxTurn = 330;
			initTurn = 180;				


			class ViewOptics : RCWSOptics {};

			class ViewGunner : ViewOptics {
				initAngleX = -15;
				minAngleX = -45;
				maxAngleX = 45;
				initFov = 0.9;
				minFov = 0.42;
				maxFov = 0.9;
				visionMode[] = {};
			};
		};

};	

	extCameraPosition[] = {0, 30, -70.0};

	class Reflectors {
		class Right {
			color[] = {0.75, 0.75, 0.85};
			ambient[] = {0.0005, 0.0005, 0.0005};
			position = "P svetlo";
			direction = "konec P svetla";
			hitpoint = "P svetlo";
			selection = "P svetlo";
			size = 1;
			innerAngle = 35;
			outerAngle = 180;
			coneFadeCoef = 40;
			intensity = 5;
			useFlare = 0;
			dayLight = 0;
			flareSize = 0.75;

			class Attenuation {
				start = 30;
				constant = 4.0;
				linear = 0.0;
				quadratic = 1.0;
			};
		};

		class Right2 : Right {
			position = "PIP0_pos";
			useFlare = 1;
		};
	};
	aggregateReflectors[] = {{"Right", "Right2"}};
	hiddenSelections[] = {"Camo", "Camo2", "Camo3"};
};

};
/*
class CfgNonAIVehicles
{
class ProxyDriver;
class ProxyWeapon;
class Proxybgm109: ProxyWeapon
{
	model = "\cps_missile\bgm109proxy";
	simulation = "maverickweapon";
};

};
*/

Here's the model.cfg.

class CfgSkeletons
{
class Default
{
	isDiscrete=1;
	skeletonInherit="";
	skeletonBones[]={};
};
class Vehicle: Default
{
};
class Ship: Vehicle
{
	skeletonInherit="";
	skeletonBones[]=
	{
		"otocvez",
		"",
		"otochlaven",
		"otocvez",
		"kompas",
		"",
		"fuel",
		"",
		"hodinova",
		"",
		"minutova",
		"",
		"mph",
		"",
		"rpm",
		"",
		"rpm2",
		"",
		"volant",
		"",
		"radar",
		""
	};
};
class DDGA3_skel: Ship 
	{
	isDiscrete=1;
	skeletonInherit="ship";
	SkeletonBones[]=
	{	
		"otocvez_1",
		"",
		"otochlaven_1",
		"otocvez_1",
		"aftphal_trav",
		"",
		"aftphal_elev",
		"aftphal_trav",
		"portnet",
		"",
		"starbnet",
		"",
		"sternnet",
		"",
		"flap1",
		"",
		"flap2",
		"",
		"prop_1",
		"",
		"prop_2",
		"",
		"rudder_1",
		"",
		"rudder_2",
		"",
		"radar_1",
		"",
		"radar_2",
		"",
		"missile_1_trav",
		"",
		"missile_1_elev",
		"missile_1_trav",
		"missile_2_trav",
		"",
		"missile_2_elev",
		"missile_2_trav"
	};
};
};

class Rotation;

class CfgModels
{
class Default
{
	sectionsInherit="";
	sections[]={};
	skeletonName="";
};
class allvehicle: Default
{
	sectionsInherit="";
	sections[]={};
	skeletonName="";
};
class Ship: allvehicle
{
	sectionsInherit="";
	sections[]=
	{
		"otocvez",
		"otochlaven",
		"radar",
		"fuel",
		"hodinova",
		"minutova",
		"mph",
		"rpm",
		"rpm2"
	};
	skeletonName="";
};
class DDGA3: Ship
{
	skeletonName="DDGA3_skel";
	sectionsInherit="Ship";
	sections[]=
	{
		//"mk45_trav",
		//"mk45_elev",
		"otochlaven_1",
		"otocvez_1",
		"aftphal_elev",
		"aftphal_trav",
		"portnet",
		"starbnet",
		"sternnet",
		"flap1",
		"flap2",
		"prop_1",
		"prop_2",
		"rudder_1",
		"rudder_2",
		"radar_1",
		"radar_2",
		"missile_1_trav",
		"missile_1_elev",
		"missile_2_trav",
		"missile_2_elev"

	};
	class Animations
	{	
		class MainTurret
		{
			type="rotationY";
			source="mainTurret";
			memory=1;
			animPeriod=0;
			selection="OtocVez";
			axis="OsaVeze";
			minValue="rad -360";
			maxValue="rad 360";
			angle0="rad -360";
			angle1="rad 360";
		};

		class MainGun: MainTurret
		{
			type="rotationX";
			source="maingun";
			memory=1;
			animPeriod=0;
			selection="OtocHlaven";
			axis="OsaHlavne";
		};

		class Turret_2 : MainTurret
		{	
			source="Turret_2";
			selection="OtocVez_1";
			axis="OsaVeze_1";
		};

		class Gun_2: MainGun
		{
			source="Gun_2";
			selection="OtocHlaven_1";
			axis="OsaHlavne_1";
		};
		class Turret_3 : MainTurret
		{	
			source="Turret_3";
			selection="aftphal_trav";
			axis="aftphal_trav_axis";
		};

		class Gun_3: MainGun
		{
			source="gun_3";
			selection="aftphal_elev";
			axis="aftphal_elev_axis";
		};

		class Turret_4 : MainTurret
		{	
			source="Turret_2";
			selection="missile_1_trav";
			axis="missile_1_trav_axis";
		};

		class Gun_4: MainGun
		{
			source="gun_2";
			selection="missile_1_elev";
			axis="missile_1_elev_axis";
		};

		class Turret_5 : MainTurret
		{	
			source="Turret_3";
			selection="missile_2_trav";
			axis="missile_2_trav_axis";
		};

		class Gun_5: MainGun
		{
			source="gun_3";
			selection="missile_2_elev";
			axis="missile_2_elev_axis";
		};

		class portnet
		{
			type="rotation";
			source="landingpadnets";
			sourceAddress = "clamp";
			selection="portnet";
			axis="portnet_axis";
			animPeriod = 0;
			memory = 1;
			minValue = 0.0;
			maxValue = 1;
			angle0 = 0; 
			angle1 = "rad -70";
		};

		class starbnet : portnet 
		{
			selection="starbnet";
			axis="starbnet_axis";
			angle0 = 0; 
			angle1 = "rad 70";	
		};

		class sternnet : portnet
		{
			selection="sternnet";
			axis="sternnet_axis";
			angle0 = 0; 
			angle1 = "rad 70";
		};

		class flap1 : portnet
		{
			source="VLSflaps";
			selection="flap1";
			axis="flap1_axis";
			angle0 = 0; 
			angle1 = "rad 90";
		};		
		class flap2 : flap1
		{

			selection="flap2";
			axis="flap2_axis";
			angle0 = 0; 
			angle1 = "rad 90";
		};	

		class Prop1
		{
			type="rotationZ";
			source="rotor";
			selection="prop_1";
			axis="prop_1_axis";
			sourceAddress="loop";
			angle0=62.831852;
			angle1=0;
		};
		class Prop2
		{
			type="rotationZ";
			source="rotor";
			selection="prop_2";
			axis="prop_2_axis";
			sourceAddress="loop";
			angle0=0;
			angle1=62.831852;
		};
		class Rudder1
		{
			type="rotationY";
			source="drivingwheel";
			selection="rudder_1";
			axis="rudder_1_axis";
			memory="1";
			minValue="rad -50";
			maxValue="rad +50";
			angle0="rad -50";
			angle1="rad +50";
		};
		class Rudder2: Rudder1
		{
			selection="rudder_2";
			axis="rudder_2_axis";
		};
		class Radar1
		{
			type="rotationY";
			source="time";
			selection="radar_1";
			axis="radar_1_axis";
			minValue=0;
			maxValue=6;
			sourceAddress="loop";
			angle0=0;
			angle1="rad 360";
		};
		class Radar2
		{
			type="rotationY";
			source="time";
			selection="radar_2";
			axis="radar_2_axis";
			minValue=0;
			maxValue=4;
			sourceAddress="loop";
			angle0=0;
			angle1="rad -360";
		};
	};
};
};

Any help at all is greatly appreciated. I've spent hours going through the sample models, searching the forums and looking through other people's configs, all to no avail. A terrible case of Turret's Syndrome ;)

Share this post


Link to post
Share on other sites

Thanks for your reply Yano.t11, I'll give that a try - I've tried everything else just about!:rolleyes:

Share this post


Link to post
Share on other sites

how'd it go chops? any luck?

I seem to remember seeing on the bug tracker that turrets on vehicles dont work all that great.

Share this post


Link to post
Share on other sites

Didn't seem to make any difference I'm afraid Yano, thanks for the suggestion though :)

I think now I'm going to see if I can make a three-turret boat using the Arma II MLOD and config and see what I can do from there.

Share this post


Link to post
Share on other sites

So there can be more issues. First check if the turrets are operational by player - moving and shooting. There can be a problem with your Ammo/Magazine/Weapon config. Try to use standard vanilla weapons instead of your defined classes.

Also I recommend you to pack your addon and binarize it, the log file will help you with addon diagnostic.

Share this post


Link to post
Share on other sites

its weird, with AI in the turrets they are swinging the wrong direction and guns point to the sky .....

Works fine as a Player .... just the AI are doing odd stuff.

..... might have to see if this is a bug

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  

×