Jump to content
Sign in to follow this  
alexboy

Vertical Missile Launch (US Destroyer Addon) (please help)

Recommended Posts

I am trying to make a Cruise missile to launch from the center of the ship...

I have the cruise missile, it works perfectly and all... only problem is that the missile fires from an unknown point (even though i have the points to fire out of pre-defined)

(optics are located at the front/top of the ship, while the missiles are suppose to launch from center)

another problem is that the model of the missile is pointing upward (i want this) but when it fires it.... the missile is still pointing up and just goes in the direction of the turret....

What i want to happen is that the missile launches from the center of the ship upwards for set number of seconds or until its like a set height above the ship before it "activates" and the missile rotates up/down to fly toward the target (like how a missile from a sub gets launched, up, then an arc to its target)

specific weapon that i want to launch up

(VLS ) the event handler is the launch script for the cruise missile from arma 2 ... but has no affect on the missile for some reason

will add this in next post due to little room

config code


#define true	1
#define false	0

#define VSoft		0
#define VArmor		1
#define VAir		2

#define LockNo		0
#define LockCadet		1
#define LockYes		2

#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

#define ReadAndWrite		0
#define ReadAndCreate		1
#define ReadOnly		2
#define ReadOnlyVerified		3


class CfgPatches 
{
class TxT_LCS1
{
units[] = {};
weapons[] = {};
requiredVersion = 0.100000;
};


};

class Mode_SemiAuto;			//External class reference
class Mode_Burst;			//External class reference


class CfgMagazines {
class Default;	// External class reference

class CA_Magazine : Default {};

class VehicleMagazine : CA_Magazine {};
class 50Rnd_120mm_Mo_shells;	// External class reference

class 24Rnd_PG_missiles: VehicleMagazine
{};
class 1Rnd_Jerohawk_Missile : 24Rnd_PG_missiles{ //50Rnd_120mm_Mo_shells {
	displayName = "Jerohawk Missile";
	count = 1;
	ammo = "Sh_Jerohawk_destroyer";//"VLS_destroyer"; //changed
	initSpeed = 200;
	sound[] = {"A3\sounds_f\weapons\rockets\explosion_missile_02.wav", db0, 1, 1200};
	reloadSound[] = {"", 0.000316228, 1};
	nameSound = "missiles";
};	
class 1Rnd_GNTDummyGunA: VehicleMagazine
{
	scope = 2;
	displayName = "Torpedo";
	ammo = "GntDummy_Gun";
	count = 1;
	initSpeed = 1700;
};
class 1Rnd_GNTR29RM_DLT: VehicleMagazine
{
	scope = 2;
	displayName = "R-29RM";
	ammo = "M_GNTR29RM_DLT";
	initSpeed = 8;
	count = 1;
	maxLeadSpeed = 10;
};
};







class CfgCloudlets
{
class Default;
class BombExp1;
class BombSmk1;
class BombSmk2;
class BombSmk3;
class GNTBombExp1a: BombExp1
{
	circleRadius = 10;
	circleVelocity[] = {-3,0,-3};
	timerPeriod = 1;
	lifeTime = 8;
	size[] = {2,7,2};
	color[] = {{ 1,1,1,0.8 },{ 1,1,1,0.3 },{ 1,1,1,0.3 },{ 1,1,1,0.3 },{ 1,1,1,0 }};
	animationSpeed[] = {1};
	randomDirectionPeriod = 0.2;
	randomDirectionIntensity = 0.1;
	onTimerScript = "";
	beforeDestroyScript = "";
	lifeTimeVar = 0.5;
	positionVar[] = {2,2,2};
	MoveVelocityVar[] = {0.1,3,0.1};
	rotationVelocityVar = 1;
	sizeVar = 0.9;
	colorVar[] = {0.2,0,0,0.3};
	randomDirectionPeriodVar = 0.2;
	randomDirectionIntensityVar = 0.05;
};
class GNTBombSmk1a: BombSmk1
{
	circleRadius = 18.5;
	lifeTime = 8.5;
	size[] = {45,30};
	lifeTimeVar = 0.5;
	color[] = {{ 0.95,0.9,0.85,0.4 },{ 0.85,0.8,0.75,0.3 },{ 0.75,0.7,0.65,0.2 },{ 0.65,0.6,0.55,0.1 },{ 0.55,0.5,0.45,0 }};
};
class GNTBombSmk2a: BombSmk2
{
	circleRadius = 8.5;
	lifeTime = 8.5;
	size[] = {45,30};
	lifeTimeVar = 0.5;
	color[] = {{ 0.95,0.9,0.85,0.4 },{ 0.85,0.8,0.75,0.3 },{ 0.75,0.7,0.65,0.2 },{ 0.65,0.6,0.55,0.1 },{ 0.55,0.5,0.45,0 }};
};
class GNTBombSmk3a: BombSmk3
{
	circleRadius = 18.5;
	lifeTime = 14;
	size[] = {40,35};
	lifeTimeVar = 0.5;
	color[] = {{ 0.95,0.9,0.85,0.4 },{ 0.85,0.8,0.75,0.3 },{ 0.75,0.7,0.65,0.2 },{ 0.65,0.6,0.55,0.1 },{ 0.55,0.5,0.45,0 }};
};
class RightWater1;
class LeftWater1;
class LeftEng1;
class RightEng1;
class NEff: Default
{
	interval = 0;
	sizeCoef = 0;
	colorCoef[] = {1,1,1,1};
	animationName = "";
	animationSpeedCoef = 0;
	lifetime = 0;
	position[] = {0,0,0};
};
};
class NoSpray
{
class NoSpray
{
	simulation = "particles";
	type = "NEff";
};
};
class GNT_BCrater1a{};
class GNT_BExplosion1a
{
class LightExp
{
	simulation = "light";
	type = "ExploLight";
	position[] = {0,0,0};
	intensity = 0.001;
	interval = 1;
	lifeTime = 0.5;
};
class BombExp1
{
	simulation = "particles";
	type = "GNTBombExp1a";
	position[] = {0,0,0};
	intensity = 1;
	interval = 1;
	lifeTime = 0.2;
};
class BombSmk1
{
	simulation = "particles";
	type = "GNTBombSmk1a";
	position[] = {0,0,0};
	intensity = 1;
	interval = 1;
	lifeTime = 0.7;
};
class BombSmk2
{
	simulation = "particles";
	type = "GNTBombSmk2a";
	position[] = {0,0,0};
	intensity = 1;
	interval = 1;
	lifeTime = 0.7;
};
class BombSmk3
{
	simulation = "particles";
	type = "GNTBombSmk3a";
	position[] = {0,0,0};
	intensity = 1;
	interval = 1;
	lifeTime = 3;
};
};




class CfgAmmo {
class Sh_120mm_AMOS;		//External class Reference
class MissileBase;
class M_GNTR29RM_DLT: MissileBase
{
	model = "\TxT_LCS1\weap\GNTrsm54.p3d";
	hit = 4700;
	indirectHit = 3500;
	indirectHitRange = 50;
	irLock = 1;
	manualControl = 1;
	timeToLive = 80;
	cost = 10000;
	maxSpeed = 200;
	thrust = 30;
	initTime = 0;
	thrustTime = 15.0;
	maneuvrability = 25;
	CraterEffects = "GNT_BCrater1a";
	explosionEffects = "GNT_BExplosion1a";
	simulationStep = 0.002;
	trackLead = 2.0;
	trackOversteer = 2.0;
	sideAirFriction = 0.1;
	effectsMissile = "missile5";
};
class Sh_Jerohawk_destroyer : MissileBase{ //Sh_120mm_AMOS {
	model = "\cruisemissile\cruisemissile4";//change no ca
	proxyShape = "\A3\weapons_f\empty";
	hit = 3500;
	indirectHit = 2500;
	indirectHitRange = 15;
	cost = 10000;
	muzzleEffect = "";
	waterFriction = -0.00001;
	whistleDist = 4;
	CraterEffects = "AAMissileCrater";
	explosionEffects = "AAMissileExplosion";
	effectsMissileInit = "RocketBackEffectsRPG";
	effectsMissile = "missile3";
//class EventHandlers//: EventHandlers
	//{
		//init = "_this execVM ""\at_phalanx_missile\start.sqf"";";
	//init = "[_this select 0] exec ""\CruiseMissile\Data\Scripts\launch.sqf"";";
		//init = "_this execVM ""\CruiseMissile\Data\Scripts\launch.sqf"";";
		//};
	class CamShakeFire {
		power = 10;
		duration = 0.5;
		frequency = 20;
		distance = 30;
	};

	class CamShakePlayerFire {
		power = 5;
		duration = 0.1;
		frequency = 20;
	};

	class CamShakeHit {
		power = 50;
		duration = 1;
		frequency = 20;
	};
};	

class BulletBase;
class GntDummy_Gun: BulletBase
{
	hit = 4000;
	indirectHit = 1;
	indirectHitRange = 1;
	typicalSpeed = 1900;
	cost = 100;
	deflecting = 1;
	airLock = 0;
	model = "";
};


};

class cfgWeapons {
class Default;	// External class reference
class LauncherCore;	// External class reference
class CannonCore ;	// External class reference
class MissileLauncher;

	class GNTR29RMLauncher_DLT: MissileLauncher
{
	displayName = "R-29RM";
	minRange = 200;
	minRangeProbab = 0.2;
	midRange = 1000;
	midRangeProbab = 0.96;
	maxRange = 9000;
	maxRangeProbab = 0.96;
	//sound[] = {"\ca\Weapons\Data\Sound\Javelin1",31.622776,1};
	reloadTime = 6;
	canLock = 2;
	magazineReloadTime = 45;
	magazines[] = {"1Rnd_GNTR29RM_DLT"};
	aiRateOfFire = 1.0;
	aiRateOfFireDistance = 3000;
	//soundFly[] = {"\ca\air\Data\Sound\AH6_engine_v3",25.118866,1};
};

class GNTDummyGunA: CannonCore
{
	scope = 1;
	cursorAim = "\ca\Weapons\Data\clear_empty";
	multiplier = 1;
	autoFire = 1;
	flashSize = 0.01;
	reloadTime = 2.0;
	magazineReloadTime = 30;
	displayName = "Torpedo";
	minRange = 300;
	minRangeProbab = 0.98;
	midRange = 2000;
	midRangeProbab = 0.98;
	maxRange = 4500;
	maxRangeProbab = 0.9;
	sound[] = {"",17.782795,1};
	aiRateOfFire = 10.3;
	aiRateOfFireDistance = 4200;
	magazines[] = {"1Rnd_GNTDummyGunA"};
	maxLeadSpeed = 600;
	dispersion = 0.01;
	aiDispersionCoefY = 7.0;
	aiDispersionCoefX = 7.0;
};

class Vertical_launching_system :  LauncherCore{ //CannonCore {
	scope = protected;
	displayname = "Vertical launching system";
	autoFire = 1;
	nameSound = "CannonCore";
	cursor = "mortar";
	cursorAim = "EmptyCursor";
	sound[] = {"A3\Sounds_F\weapons\Cannons\cannon82mm", db20, 1, 700};
	reloadSound[] = {"A3\sounds_f\dummysound", 1.12202, 1, 12};
	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 = 2;
	magazines[] = {"1Rnd_Jerohawk_Missile"};
	ballisticsComputer = 2;
	canShootInWater = 1;

	class EventHandlers//: EventHandlers
	{
		//init = "_this execVM ""\at_phalanx_missile\start.sqf"";";
	init = "[_this select 0] exec ""\CruiseMissile\Data\Scripts\launch.sqf"";";
		//init = "_this execVM ""\CruiseMissile\Data\Scripts\launch.sqf"";";
		};


	modes[] = {"Single1","Burst1", "Burst2", "Burst3"};



	class Single1 : Mode_SemiAuto {
		displayName = "INS Guidance";
		sound[] = {"A3\Sounds_F\weapons\Cannons\cannon82mm.wav", db20, 1, 500};
		reloadSound[] = {"A3\sounds_f\dummysound", 1.12202, 1, 12};
		soundServo[] = {"", db-80, 1.0};
		reloadTime = 1.8;
		minRange = 90;
		midRange = 3000;
		maxRange = 8000;
		artilleryDispersion = 0.7;
		artilleryCharge = 1;
	};

	class Burst1 : Mode_Burst {
		showToPlayer = false;
		displayName = "$STR_A3_mortar_82mm_Burst10";
		burst = 4;
		sound[] = {"A3\Sounds_F\weapons\Cannons\cannon82mm", db20, 1, 500};
		reloadSound[] = {"A3\sounds_f\dummysound", 1.12202, 1, 12};
		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 = 0.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;
	};
};
};

/*extern*/ class DefaultEventhandlers;
/*extern*/ class RCWSOptics;

class CfgVehicles {
class All{};
class AllVehicles:All{};
class Land : AllVehicles {};
class Ship: AllVehicles{}; 
class BigShip: Ship{};

class Boat_F: BigShip {
	/*extern*/ class NewTurret;
	/*extern*/ class Turrets;
	/*extern*/ class ViewOptics;
};

class TxT_LCS1: Boat_F
{


	displayName = USS Freedom / LCS1;

	GunnerAction = "RHIB_Driver";
	model="\TxT_LCS1\LCS1.p3d";	

	vehicleClass = "Ship";
	crew = "B_Soldier_lite_F";
	faction = BLU_F;
	side = TWest;

	scope=public;		
	hasDriver=true;
	hasGunner=true;
	hasCommander=true;
	driverIsCommander=false;
	gunnerOpticsShowCursor = true;

	getInRadius= 20;		

	extCameraPosition[] = {0, 24.0, -54.0};
	camouflage = 0.01;	// how dificult to spot - bigger - better spotable
	accuracy = 5.0;	// accuracy needed to recognize type of this target
	airCapacity = 1209600; // Quite important for sumarines. Determines the time the crew inside the ship can be below the surface before dying suffocated for lack of air. It seems that when using class submarinex, the engine sets the crew as if they were below the water 
	featureSize = 100;
	driverCanSee = 31;
	commanderCanSee = 31;
	gunnerCanSee = 31;
	radarType = 4;
	LockDetectionSystem = 8 + 4;
	IncommingMisslieDetectionSystem = 16;
	alwaysTarget = 0;

	soundLocked[] = {"\ca\Tracked\Data\Sound\alarm_loop1", 0.000316, 2};//change no CA
	soundIncommingMissile[] = {"\ca\Tracked\Data\Sound\alarm_loop1", 0.000316, 4};//change now CA

	selectionFireAnim = "VLS_AIM";

	memoryPointLMissile = "VLS_1";
	memoryPointRMissile = "VLS_2";

	audible = 4;

	antiRollbarForceCoef = 0;
	antiRollbarForceLimit = 5;
	antiRollbarSpeedMax = 60;
	antiRollbarSpeedMin = 20;

	allowTabLock = 1;
	irTarget = false;
	irScanRangeMin = 0;
	irScanRangeMax = 8000;
	irScanToEyeFactor = 9;
	irScanGround = true;
	laserTarget = false;
	laserScanner = false;
	hideUnitInfo = false;
	nightVision = false;

	// threat (VSoft, VArmor, VAir), how threatening vehicle is to unit types
	threat[] = {0.8, 1, 0.8};

	armor=25000;
	armorStructural=2.000000;
	verticalTurnCoef = 30.2; // This line seems to control the speed for ascending/descending.

	canFloat = 1;
	showWeaponCargo =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;
	enableGPS = 1;
	transportSoldier = 75;
	cost = 80000;
	transportAmmo= 30000;
	fuelCapacity= 8800;


	supplyRadius = 3;
	precision = 15;
	brakeDistance = 100;//change start
	steerAheadSimul = 6.0;//
	steerAheadPlan = 3.0;//
	predictTurnSimul = 1.0;//
	predictTurnPlan = 1.0; //changed stop
	//acceleration = 50;
	//turnCoef = 0.75;
	maxSpeed = 75;	// max speed on level road, km/h
	simulation = "shipX";
	thrustDelay = 1;
	overSpeedBrakeCoef = .8;//0.2;
	waterLeakiness = 10000;//200;
	waterLinearDampingCoefY = 8;//10;
	waterLinearDampingCoefX = 2;//10.0;
	waterAngularDampingCoef = 8;//10;
	waterResistanceCoef = 0.01;//0.0015;
	rudderForceCoef = 14;//0
	rudderForceCoefAtMaxSpeed = 50;//18;
	idleRpm = 1000;//200;
	redRpm = 6000;//3200;
	peakTorque = 5000;
	//maxOmega = 22500;
	enginePower = 80000;//66200;
	engineShiftY = -10.1;//-15.100;

	impactEffectSpeedLimit = 8;
	impactEffectsSea = "ImpactEffectsSea";

	tBody = 150;

	reversed = 1;

	safeDepth = 2;

	cargoCanEject = 0;
	driverCanEject = 0;

	ArtilleryScanner =1;

	Uav = 0;

	///////////////////////////////////////////////////////////////////////////////////////////
	///////////////////////////////////////////////////////////////////////////////////////////		

	dustBackLeftPos = "dustBackLeft";
	dustBackRightPos = "dustBackRight";
	dustFrontLeftPos = "dustFrontLeft";
	dustFrontRightPos = "dustFrontRight";

	memoryPointDriverOptics[] = {"driverview","pilot"};
	memoryPointsGetInDriver = "pos_driver";
	memoryPointsGetInDriverDir = "pos_driver_dir";
	memoryPointsgetOutDriver = "pos_driver";
	memoryPointsgetOutDriverDir = "pos_driver_dir";
	memoryPointsGetInCargo = "pos_cargo";
	memoryPointsGetInCargoDir = "pos_cargo_dir";
	memoryPointsgetOutCargo = "pos_cargo";
	memoryPointsgetOutCargoDir = "pos_cargo_dir";
	memoryPointsgetInGunner = "pos_gunner";
	memoryPointsgetInGunnerDir = "pos_gunner_dir";
	memoryPointsgetOutGunner = "pos_gunner";
	memoryPointsgetOutGunnerDir = "pos_gunner_dir";

	memoryPointMissile = "memoryPointMissile";//[] = {"memoryPointMissile"};
	memoryPointMissileDir = "memoryPointMissileDir";//[] = {"memoryPointMissileDir"};

	// These are points in the memory LOD that represent the spawning points for water particle FX. The first ones represent bow FX, the last ones represent the foam generated by the engine propeller

	memoryPointsLeftEngineEffect = "EngineEffectL";
	memoryPointsLeftWaterEffect = "waterEffectL";
	memoryPointsRightEngineEffect = "EngineEffectR";
	memoryPointsRightWaterEffect = "waterEffectR";

	memoryPointSupply = "SupplyPoint";

	selectionClan = "clan";
	selectionDamage = "zbytek";
	selectionBackLights = "zadni svetlo";
	selectionBrakeLights = "brzdove svetlo";

	shownUnderWaterSelections[] = {};

	destrType = "DestructBuilding"; 

	dammageHalf[] = {"\AnyAddon\AnyPAA.paa","\AnyAddon\AnyOtherPAA.paa", ...};
	dammageFull[] = {"\AnyAddon\AnyPAA.paa","\AnyAddon\AnyOtherPAA.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])";
		};
	};

	///////////////////////////////////////////////////////////////////////////////////////////
	///////////////////////////////////////////////////////////////////////////////////////////

	enableManualFire = 0;
	smokeLauncherGrenadeCount = 12;
	smokeLauncherVelocity = 14;
	smokeLauncherOnTurret = 0;
	smokeLauncherAngle = 120;

	magazines[] = {"60Rnd_CMFlare_Chaff_Magazine","60Rnd_CMFlare_Chaff_Magazine","60Rnd_CMFlare_Chaff_Magazine","60Rnd_CMFlare_Chaff_Magazine","60Rnd_CMFlare_Chaff_Magazine","60Rnd_CMFlare_Chaff_Magazine","60Rnd_CMFlare_Chaff_Magazine"};
	weapons[] = {"CMFlareLauncher"};

	///////////////////////////////////////////////////////////////////////////////////////////
	///////////////////////////////////////////////////////////////////////////////////////////


//alexboy took this out
	//class complexGearbox {
	//	GearboxRatios[] = {"R1", -0.782, "N", 0, "D1", 2};
	//	TransmissionRatios[] = {"High", 1.0};
	//	gearBoxMode = "auto";
	//	moveOffGear = 1;
	//	driveString = "D";
	//	neutralString = "N";
	//	reverseString = "R";
	//};

	/*class complexGearbox
		{	
			GearboxRatios[]    = {"R1",-3.231,"N",0,"D1",2.462,"D2",1.870,"D3",1.241,"D4",0.970,"D5",0.711};
			TransmissionRatios[] = {"High",4.111}; // Optional: defines transmission ratios (for example, High and Low range as commonly found in offroad vehicles)
			moveOffGear        = 1; // defines what gear an automatic or semi-automatic gearbox will move off from stationary in. 1 by default.
			driveString        = "D"; // string to display in the HUD for forward gears.
			neutralString      = "N"; // string to display in the HUD for neutral gear.
			reverseString      = "R"; // string to display in the HUD for reverse gears.
		};*/

	///////////////////////////////////////////////////////////////////////////////////////////
	///////////////////////////////////////////////////////////////////////////////////////////


class AttenuationsEffects {
	class TankAttenuation;
	};
	attenuationEffectType = "TankAttenuation"; //added



	class Exhausts
	{
		class Exhaust1
		{
			position = "Exhaust1";
			direction = "Exhaust1_dir";
			effect = "ExhaustEffectHeli";
		};
		class Exhaust2
		{
			position = "Exhaust2";
			direction = "Exhaust2_dir";
			effect = "ExhaustEffectHeli";
		};
	};


	ladders[] = { {"start","end" }                        };// a building with one ladder
	//ladders[] = { {"start1","end1" } , {"start2","end2" } };// two ladder building

	///////////////////////////////////////////////////////////////////////////////////////////
	///////////////////////////////////////////////////////////////////////////////////////////

	leftDustEffect = "LDustEffects";
	leftEngineEffect = "LEngEffectsSmall";
	leftFastWaterEffect = "LWaterEffects";
	leftWaterEffect = "LWaterEffects";
	rightDustEffect = "RDustEffects";
	rightEngineEffect = "REngEffectsSmall";
	rightFastWaterEffect = "RWaterEffects";
	rightWaterEffect = "RWaterEffects";
	waterEffectSpeed = 5;
	engineEffectSpeed = 5;
	waterFastEffectSpeed = 18;

	///////////////////////////////////////////////////////////////////////////////////////////
	///////////////////////////////////////////////////////////////////////////////////////////

	/* The entry to the actionmenu */
	class UserActions
	{			
		class Open_fence_back
		{
			displayName="Drop the fence";
			onlyforplayer = true;
			position="fence_button";
			radius=2; /* visibility distance of the entry */
			condition="this animationPhase ""fence_back"" < 0.5";
			statement="this animate [""fence_back"", 1]";
		};
		class Close_fence_back : Open_fence_back
		{
			displayName="Close the fence";
			condition="this animationPhase ""fence_back"" >= 0.5";
			statement="this animate [""fence_back"", 0]";
		};
		class Open_indoor
		{
			displayName="Open Door";
			onlyforplayer = true;
			position="indoor_point";
			radius=2; /* visibility distance of the entry */
			condition="this animationPhase ""indoor"" < 0.5";
			statement="this animate [""indoor"", 1]";
		};
		class Close_indoor : Open_indoor
		{
			displayName="Close Door";
			condition="this animationPhase ""indoor"" >= 0.5";
			statement="this animate [""indoor"", 0]";
		};
	};

		class AnimationSources //: AnimationSources
	{

		class recoil_source
		{
			source = "reload";//"ammorandom";
			weapon = "autocannon_40mm_CTWS";
		};
		class muzzle_rot_cannon
		{
			source = "ammorandom";
			weapon = "LMG_Minigun";
		};
	};	
	///////////////////////////////////////////////////////////////////////////////////////////
	///////////////////////////////////////////////////////////////////////////////////////////

	class Turrets {

		class FrontTurret : NewTurret {
			class HitPoints {
				class HitTurret {
					armor = 0.8;
					material = 60;
					name = "gun_trav";
					visual = "gun_trav";
					passThrough = true;
				};

				class HitGun {
					armor = 0.6;
					material = 60;
					name = "gun_elev";
					visual = "gun_elev";
					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 = "gun_beg";	// endpoint of the gun
			gunEnd = "gun_end";	// chamber of the gun
			weapons[] = {"autocannon_40mm_CTWS"};
			magazines[] = {"60Rnd_40mm_GPR_shells","60Rnd_40mm_GPR_shells","40Rnd_40mm_APFSDS_shells","40Rnd_40mm_APFSDS_shells"};
			discreteDistance[] = {100, 200, 300, 400, 600, 800, 1000, 1200};
			discreteDistanceInitIndex = 2;
			gunnerName = "Cannon 40mm Operator";
			memoryPointGunnerOptics = "gunnerview";
			memoryPointGunnerOutOptics = "gunnerview";//ADDED
			memoryPointGun = "gun_end";
			gunnerOpticsModel = "\A3\weapons_f\reticle\Optics_Gunner_02_F";
			gunnerOpticsEffect[] = {"TankCommanderOptics1", BWTV};
			turretInfoType = "RscOptics_crows";
			gunnerForceOptics = false;
			startEngine = false;

			commanding = 0;
			primaryGunner = 1;
			primaryObserver = 0;

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

			class ViewOptics : RCWSOptics {};

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

			class OpticsIn //added
			{
				class Wide: ViewOptics
				{
					initAngleX = 0;
					minAngleX = -360;
				maxAngleX = +360;
				initAngleY = 0;
				minAngleY = -360;//100
				maxAngleY = 360;
					initFov = 0.3;
					minFov = 0.3;
					maxFov = 0.3;
					visionMode[] = {"NV","Ti"};
					thermalMode[] = {0,1};
					gunnerOpticsModel = "\A3\Weapons_F\Reticle\Optics_Gunner_AAA_01_w_F.p3d";
					gunnerOpticsEffect[] = {};
				};
				class Medium: Wide
				{
					gunnerOpticsModel = "\A3\Weapons_F\Reticle\Optics_Gunner_AAA_01_m_F.p3d";
					initFov = 0.07;
					minFov = 0.07;
					maxFov = 0.07;
				};
				class Narrow: Wide
				{
					gunnerOpticsModel = "\A3\Weapons_F\Reticle\Optics_Gunner_AAA_01_n_F.p3d";
					initFov = 0.028;
					minFov = 0.028;
					maxFov = 0.028;
				};
			};


		};








		class MainTurret: NewTurret
		{
			body = "main1turret";
			gun = "main1gun";
			animationSourceBody = "main1turret";
			animationSourceGun = "main1gun";
			gunnerAction = "gunner_hunter";
			gunnerName = "Weapons Station";
			//gunnerOpticsModel = "\ca\wheeled\optika_BRDM";
			gunnerOpticsModel = "\A3\weapons_f\reticle\Optics_Gunner_02_F";
			proxyIndex = 1;
			castGunnerShadow = 1;
			ejectDeadGunner = 0;
			minElev = -5;
			maxElev = 45;
			//soundServo[] = {"\ca\wheeled\Data\Sound\servo3",0.000178,0.9};
			soundServo[] = {"A3\sounds_f\dummysound", db-45, 1.0};
			initElev = 0;
			minTurn = -185;
			maxTurn = 185;
			initTurn = 0;
			weapons[] = {"GNTR29RMLauncher_DLT"};
			magazines[] = {"1Rnd_GNTR29RM_DLT","1Rnd_GNTR29RM_DLT","1Rnd_GNTR29RM_DLT","1Rnd_GNTR29RM_DLT","1Rnd_GNTR29RM_DLT","1Rnd_GNTR29RM_DLT","1Rnd_GNTR29RM_DLT","1Rnd_GNTR29RM_DLT","1Rnd_GNTR29RM_DLT","1Rnd_GNTR29RM_DLT","1Rnd_GNTR29RM_DLT","1Rnd_GNTR29RM_DLT","1Rnd_GNTR29RM_DLT","1Rnd_GNTR29RM_DLT","1Rnd_GNTR29RM_DLT","1Rnd_GNTR29RM_DLT"};
			memoryPointGun = "gunner1";
			memoryPointGunnerOptics = "gunner1";
			gunnerCompartments = "Compartment1";
			showgunneroptics = 1;
			startEngine = 0;
			forceHideGunner = 0;
			gunnercansee = "2+4+8+16+1";
			outGunnerMayFire = 1;
			inGunnerMayFire = 1;
			irScanRangeMin = 500;
			irScanRangeMax = 10000;
			irScanToEyeFactor = 1;
			sensitivity = 1;
			hasgunner = 1;
			gunBeg = "ustihlavne1";
			gunEnd = "konechlavne1";
			missileBeg = "spicerakety";
			missileEnd = "konecrakety";
			gunnerForceOptics = 1;
			commanding = 1;

			class EventHandlers //take out
	{
		init = "[_this] execvm ""\TxT_LCS1\scr\launch.sqf""";
		fired = "[_this] execvm ""\TxT_LCS1\scr\launch.sqf""";
	};
			class ViewOptics
			{
				initAngleX = 0;
				initAngleY = 0;
			minAngleX = -360;//-45;
				maxAngleX = 360;//45;
				minAngleY = -360;//-45;//added
				maxAngleY = 360;//45;//added
				initFov = 0.6;
				minFov = 0.15;
				maxFov = 0.8;
			};
			class ViewGunner
			{
				initAngleX = 0;
				minAngleX = 0;
				maxAngleX = 0;
				initAngleY = 0;
				minAngleY = -360;
				maxAngleY = 360;
				initFov = 0.6;
				minFov = 0.5;
				maxFov = 0.7;
			};
		};














		class AftTurret : NewTurret {

			stabilizedInAxes = 4;
			body = "SeaRAMTurret";
			gun = "SeaRAMGun";
			animationSourceBody = "SeaRAMTurret";
			animationSourceGun = "SeaRAMGun";
			gunnerAction = "gunner_hunter";
			gunnerGetInAction = "GetInMedium";
			gunnerGetOutAction = "GetOutMedium";
			ejectDeadGunner = false;
			outGunnerMayFire = true;
			inGunnerMayFire = true;
			soundServo[] = {"A3\sounds_f\dummysound", db-45, 1.0};
			gunBeg = "missile_end";//"missile_beg";	// endpoint of the gun
			gunEnd = "missile_beg";//"missile_end";	// chamber of the gun
			weapons[] = {"missiles_ASRAAM"};
			magazines[] = {"4Rnd_AAA_missiles","4Rnd_AAA_missiles","4Rnd_AAA_missiles"};
			gunnerName = "SeaRAM Operator";
			memoryPointGunnerOutOptics = "SeaRAMview";//ADDED
			memoryPointGunnerOptics = "SeaRAMview";
			memoryPointGun = "missile_end";
			memoryPointLMissile = "Rocket_1";
			memoryPointRMissile = "Rocket_2";
			gunnerOpticsModel = "\A3\weapons_f\reticle\Optics_Gunner_02_F";
			gunnerOpticsEffect[] = {"TankCommanderOptics1", BWTV};
			turretInfoType = "RscOptics_crows";
			gunnerForceOptics = false;
			startEngine = false;

			commanding = 0;
			primaryGunner = 2;
			primaryObserver = 0;

			LODTurnedIn = 1100;
			LODTurnedOut = 1100;
			usePip = 1;
			minElev = -360;//-15
			maxElev = 360;
			initElev = 5;
			minTurn = 45;
			maxTurn = 315;
			initTurn = 180;				




			class ViewOptics : RCWSOptics {};

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

			class OpticsIn //added
			{
				class Wide: ViewOptics
				{
					initAngleX = 0;
					minAngleX = -360;
				maxAngleX = +360;
				initAngleY = 0;
				minAngleY = -360;//100
				maxAngleY = 360;
					initFov = 0.3;
					minFov = 0.3;
					maxFov = 0.3;
					visionMode[] = {"NV","Ti"};
					thermalMode[] = {0,1};
					gunnerOpticsModel = "\A3\Weapons_F\Reticle\Optics_Gunner_AAA_01_w_F.p3d";
					gunnerOpticsEffect[] = {};
				};
				class Medium: Wide
				{
					gunnerOpticsModel = "\A3\Weapons_F\Reticle\Optics_Gunner_AAA_01_m_F.p3d";
					initFov = 0.07;
					minFov = 0.07;
					maxFov = 0.07;
				};
				class Narrow: Wide
				{
					gunnerOpticsModel = "\A3\Weapons_F\Reticle\Optics_Gunner_AAA_01_n_F.p3d";
					initFov = 0.028;
					minFov = 0.028;
					maxFov = 0.028;
				};
			};

		};
		class ReaperTurret : NewTurret {

			stabilizedInAxes = 4;
			gunnerName = "Reaper 65x39mm Operator";		
			outGunnerMayFire = 1;
			memoryPointGun = "front_aa_chamber";
			//memoryPointGun[] = {"front_aa_chamber","front_aa_chamber1"};
			body = "FrontaaTurret";
			gun = "FrontaaGun";
			animationSourceBody = "frontaaTurret";
			animationSourceGun = "frontaaGun";
			gunnerAction = "ManActTestDriverOut";
			gunnerGetInAction = "GetInLow";
			gunnerGetOutAction = "GetOutLow";
			soundServo[] = {"A3\sounds_f\dummysound", 0.005623, 1.000000};
			gunBeg = "front_aa_muzzle";
			gunEnd = "front_aa_chamber";
			weapons[] = {"LMG_Minigun"};
			magazines[] = {"2000Rnd_65x39_Belt_Tracer_Yellow", "2000Rnd_65x39_Belt_Tracer_Yellow", "2000Rnd_65x39_Belt_Tracer_Yellow", "2000Rnd_65x39_Belt_Tracer_Yellow", "2000Rnd_65x39_Belt_Tracer_Yellow", "2000Rnd_65x39_Belt_Tracer_Yellow", "2000Rnd_65x39_Belt_Tracer_Yellow", "2000Rnd_65x39_Belt_Tracer_Yellow"};
			discreteDistance[] = {100, 200, 300, 400, 600, 800, 1000, 1200, 1600, 2000, 2500, 3000};
			discreteDistanceInitIndex = 5;
			memoryPointGunnerOutOptics = "front_aa_opticview";//ADDED
			memoryPointGunnerOptics = "front_aa_opticview";
			gunnerOpticsModel = "\A3\weapons_f\reticle\Optics_Gunner_02_F";
			turretInfoType = "RscOptics_crows";
			radarType = 4;
			gunnerForceOptics = 1;
			startEngine = 0;
			commanding = 0;
			primaryGunner = 0;
			primaryObserver = 1;
			LODTurnedIn = 1100;
			LODTurnedOut = 1100;
			usePip = 1;
			minElev = -360;//-8
			maxElev = 180;//360
			initElev = 0;





			class HitPoints {

				class HitTurret {
					armor = 0.800000;
					material = -1;
					name = "vez";
					visual = "vez";
					passThrough = 0.300000;
				};

				class HitGun {
					armor = 0.400000;
					material = -1;
					name = "zbran";
					visual = "zbran";
					passThrough = 0.100000;
				};
			};

			class ViewOptics: RCWSOptics {
			};

			class ViewGunner: ViewOptics {
				initAngleX = 0;
				initAngleY = 0;
			minAngleX = -360;//-45;
				maxAngleX = 360;//45;
				minAngleY = -360;//-45;//added
				maxAngleY = 360;//45;//added
				initFov = 0.900000;
				minFov = 0.420000;
				maxFov = 0.900000;
				visionMode[] = {};
			};
		};
		class VLS : 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 = "CoTurret";
			gun = "CoGun";
			animationSourceBody = "CoTurret";
			animationSourceGun = "CoGun";
			gunnerAction = "RHIB_Driver";
			gunnerName = "VLS JeroHawk Operator";

			gunnerOpticsModel = "\A3\Armor_F\2D_scope_crows";
			turretInfoType = "RscOptics_crows";
			gunnerForceOptics = false;

			proxyIndex = 1;
			castGunnerShadow = true;
			ejectDeadGunner = false;
			minElev = -10;
			maxElev = 180;
			soundServo[] = {"\ca\wheeled\Data\Sound\servo3", 0.000178, 0.9};//CHANGe no CA
			initElev = 0;
			minTurn = -185;
			maxTurn = 185;
			initTurn = 0;
			weapons[] = {"Vertical_launching_system",};
			magazines[] = {"Titan_AP","Titan_AT","Titan_AA","Titan_AA","1Rnd_Jerohawk_Missile","1Rnd_Jerohawk_Missile","1Rnd_Jerohawk_Missile","1Rnd_Jerohawk_Missile","1Rnd_Jerohawk_Missile","1Rnd_Jerohawk_Missile","1Rnd_Jerohawk_Missile","1Rnd_Jerohawk_Missile","1Rnd_Jerohawk_Missile","1Rnd_Jerohawk_Missile","1Rnd_Jerohawk_Missile","1Rnd_Jerohawk_Missile","1Rnd_Jerohawk_Missile","1Rnd_Jerohawk_Missile","1Rnd_Jerohawk_Missile","1Rnd_Jerohawk_Missile","1Rnd_Jerohawk_Missile","1Rnd_Jerohawk_Missile","1Rnd_Jerohawk_Missile","1Rnd_Jerohawk_Missile","1Rnd_Jerohawk_Missile","1Rnd_Jerohawk_Missile","1Rnd_Jerohawk_Missile","1Rnd_Jerohawk_Missile"};
			memoryPointGun = "OPAM_2";//"gunner1";
			memoryPointGunnerOutOptics = "co_opticview";//ADDED
			memoryPointGunnerOptics = "co_opticview";
			gunnerCompartments = "Compartment1";
			showgunneroptics = 1;
			startEngine = false;
			forceHideGunner = false;

			gunnerCanSee = 31;
			radarType = 4;

			outGunnerMayFire = true;
			inGunnerMayFire = true;
			irScanRangeMin = 200;
			irScanRangeMax = 15000;
			irScanToEyeFactor = 1;
			sensitivity = 2;	// sensor sensitivity
			hasgunner = true;
			gunBeg = "rocket_beg";	// endpoint of the gun
			gunEnd = "rocket_end";	// chamber of the gun
			missileBeg = "missile_beg";
			missileEnd = "missile_end";
			memoryPointLMissile = "VLS_1";
			memoryPointRMissile = "VLS_2";
			commanding = 1;

			class EventHandlers//: EventHandlers
	{
		//init = "_this execVM ""\at_phalanx_missile\start.sqf"";";
	//	init = "[_this select 0] exec ""\at_phalanx_missile\start.sqf"";";
	//fired = "[_this select 0] exec ""\CruiseMissile\Data\Scripts\launch.sqf"";";
		//init = "_this execVM ""\CruiseMissile\Data\Scripts\launch.sqf"";";
		};
			class ViewOptics {
			initAngleX = 0;
				initAngleY = 0;
			minAngleX = -360;//-45;
				maxAngleX = 360;//45;
				minAngleY = -360;//-45;//added
				maxAngleY = 360;//45;//added
				initFov = 0.6;
				minFov = 0.15;
				maxFov = 0.8;
			};

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

			class OpticsIn
			{
				class Wide: ViewOptics
				{
					initAngleX = 0;
					minAngleX = -360;
				maxAngleX = +360;
				initAngleY = 0;
				minAngleY = -360;//100
				maxAngleY = 360;
					initFov = 0.3;
					minFov = 0.3;
					maxFov = 0.3;
					visionMode[] = {"NV","Ti"};
					thermalMode[] = {0,1};
					gunnerOpticsModel = "\A3\Weapons_F\Reticle\Optics_Gunner_AAA_01_w_F.p3d";
					gunnerOpticsEffect[] = {};
				};
				class Medium: Wide
				{
					gunnerOpticsModel = "\A3\Weapons_F\Reticle\Optics_Gunner_AAA_01_m_F.p3d";
					initFov = 0.07;
					minFov = 0.07;
					maxFov = 0.07;
				};
				class Narrow: Wide
				{
					gunnerOpticsModel = "\A3\Weapons_F\Reticle\Optics_Gunner_AAA_01_n_F.p3d";
					initFov = 0.028;
					minFov = 0.028;
					maxFov = 0.028;
				};
			};
		};
	};

};
};

launch

/*
File: launch.sqf
Author: Joris-Jan van 't Land

Description:
Launching a cruisemissile from a submerged submarine.

Parameter(s):
_this select 0: the objetc that launches the missile (should be in water).
_this select 1: the target object.
*/

//ToDo: convert particle systems to particle sources.
//ToDo: abort when launch position is not in water?

private ["_Launcher"];
_Launcher = _this select 0;

_posLaunch = Getpos _Launcher;
_dirLaunch = Getdir _Launcher;

_path = "\cruisemissile\"; 
_pathS = _path + "data\scripts\"; 

//Spawn the launch variant of the cruise missile and its flare.
private ["_misL", "_misFlare"];
_misL = "CruiseMissile1" createVehicle [(_posLaunch select 0), (_posLaunch select 1), -1];

_misFlare = "CruiseMissileFlare1" createVehicle [(_posLaunch select 0), (_posLaunch select 1), -1];
_misFlare inflame true;

//Start the launch.
_misL setVelocity [0, 0, 20];
_misL setdir _dirLaunch;
[_misL] execVM (_pathS + "watersplash.sqf");

//Unhide animated parts.
_misL setObjectTexture [0, "#(argb,8,8,3)color(0.501961,0.501961,0.501961,1.0,CO)"];
_misL setObjectTexture [1, "#(argb,8,8,3)color(0.501961,0.501961,0.501961,1.0,CO)"];
_misL setObjectTexture [2, "#(argb,8,8,3)color(0.501961,0.501961,0.501961,1.0,CO)"];
_misL setObjectTexture [3, "#(argb,8,8,3)color(0,0,0,1.0,co)"];

_misL setVariable ["cruisemissile_level", false];

sleep 0.8;

[_misL, _misFlare] execVM (_pathS + "cruisemissileflare.sqf");
_misL setObjectTexture [4, _path + "data\exhaust_flame_ca"];
_misFlare say "CruiseMissileLaunch";
[_misL] execVM (_pathS + "exhaust1.sqf");
[_misL] execVM (_pathS + "exhaust3.sqf");

sleep 0.3;

//[_misL] execVM "booster.sqf";
//[_misL] execVM "vector_control.sqf";

sleep 1;

_misL setObjectTexture [0, ""];

_misL animate ["Cover1", 1];
_misL animate ["Cover2", 1];
_misL animate ["Fin1", 1];
_misL animate ["Fin2", 1];
_misL animate ["Fin3", 1];
_misL animate ["Fin4", 1];
_misL animate ["Wing1", 1];
_misL animate ["Wing2", 1];
_misL animate ["Intake1", 1];

sleep 0.5;

_misL setObjectTexture [1, ""];
_misL setObjectTexture [2, ""];

drop [_path + "cl_cover1", "", "SpaceObject", 1, 40, [-3, -3, -0.5], [-5, 0, 50], 2, 10.0, 1.0, 0, [1], [[1, 1, 1, 1]], [0, 1], 0, 0, "", "", _misL];
drop [_path + "cl_cover1", "", "SpaceObject", 1, 40, [3, 3, -0.5], [5, 0, 50], 2, 10.0, 1.0, 0, [1], [[1, 1, 1, 1]], [0, 1], 0, 0, "", "", _misL];

waitUntil {((Getpos _misL) select 2) >= 80};

_misL setVariable ["cruisemissile_level", true];

_misL setObjectTexture [4, ""];

private ["_pos", "_vel", "_dir"];
_pos = position _misL;
_vel = velocity _misL;
_dir = direction _misL;
deleteVehicle _misL;


true

Share this post


Link to post
Share on other sites

Is there any way to implement the launch of a missile from a gun/weapon to have like a certain launch sequence like the Launch above... then turn into a normal missile and go to its target ?

because i got it to launch at targets and such.... just cant get it to lock on something so it follows it or hit the correct target and also cant get it to launch upwards... which the launch.sqf should do (dont know how to make the missile do that) (or have a "fake missile do that" then delete it, then have the real missile that can track launch)

Share this post


Link to post
Share on other sites

Ok so this seems hard for anyone to help with...

Another way around this... would to make the weapon to be like an MLRS how it launches its missiles into the air through artillery computer...

could anyone help me config that ? i been trying but ... no luck at all... it wont let me use artillery computer

Share this post


Link to post
Share on other sites

Dont model the missile upwards.

Used the FIRED EH to run this script example

// ------------------------------- 
// ArmA Multi-Missile Proxy Launch
// --------------------------------
// Script by Gnat
// 3D pos help from Mandoble
//----------------------
//----------------------------------------
// if you use it, credit me as appropraite
//----------------------------------------
private ["_array","_weapon","_ammoname","_ship","_missobj", "_acount", "_lift", "_dir", "_vx", "_vy", "_vh", "_vz", "_ux", "_uy", "_uz", "_ur","_zzs","_target"];
_array = _this select 0;
_weapon = _array select 1;
_ammoname = _array select 4;
_ship = _array select 0;
if (!isServer) exitWith {};

if(_weapon == "GNTHarpoonLauncher_LAS") then
{	
_missobj = nearestobject[_ship, _ammoname];
_acount = _ship ammo "GNTHarpoonLauncher_LAS";
_zzs = ((getposasl _ship select 2) * -1);
_missobj Setvelocity (velocity _ship);
_missobj SetPos [(_ship ModelToWorld [-1.7,42.4,-12]) select 0,(_ship ModelToWorld [-1.7,42.4,-12]) select 1,2];
_climb = 89; // Initial elevation
_array = _ship weaponDirection "GNTHarpoonLauncher_LAS";
_dir = (_array select 0) atan2 (_array select 1);
_vz = (sin _climb);
_vh = (cos _climb);
_vx = (sin _dir)* _vh;
_vy = (cos _dir)* _vh;
_missobj setVectorDir[_vx, _vy, _vz];
_uz = sin(_climb+90); // 0.940
_ur = cos(_climb+90); // -0.342
_ux = sin(_dir)* _ur;
_uy = cos(_dir)* _ur;
_missobj setVectorUp[_ux, _uy, _uz];
sleep 2;
_dir = 1;
};

Share this post


Link to post
Share on other sites

Thanks Gnat i worked around with using this and it worked !!!!!

ok next problem... for some reason the guns on the Ship (AI as gunner) they aim upwards when they are "suppose" to be aiming at targets that are ahead of it,

also for some reason all the 3rd views of each gunner and driver are at the center of the ship and not like in the correct location

how can i fix this

Share this post


Link to post
Share on other sites

I've seen this in other people projects and for the life of me I cant find the reason

Share this post


Link to post
Share on other sites

Chops ship I can't get to work.

Mankyles LCS does work.

My FSF does work, mostly because I copied the LCS.

Download the LCS and look at the models turrets, the model.cfg and the config.cpp. Use as a guide.

Share this post


Link to post
Share on other sites

weird thing is... i place mankyles ship on my map and it doesnt work ? the turrets point up ???

Share this post


Link to post
Share on other sites

Ok i got the missile to work.... (it follows Laser of the ship or any other laser that that player / AI has that is "connected" to the ship).... only problem now is the fact that the turrets and everythign dont "aim" properly at targets... the AI are messed up....

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  

×