Jump to content
Sign in to follow this  
abs

How To Create a New Missile?

Recommended Posts

Hey,

So, for my Star Trek addons I'm working on new weapons for them. This is my first time trying to configure vehicle weapons. One of the things I need is something called a Plasma Torpedo. I've created a model for it, but I seem to have issues getting it to work in the config. Here is what I have so far:

STA2_Vehicles:

		weapons[]={"PlasmaCannon"};
	magazines[]={"STA2_RPlasMag"};

(I have not included the rest of the config, because as far as I know these two lines are the only relevant part of the config.)

STA2_Weapons:

CfgAmmo

	class MissileBase;
class STA2_RPlasma: MissileBase
{
	model= "\STA2_Weapons\STA2_RPlasma";
	//proxyShape = \ca\weapons\Hellfire_proxy;
	hit=850;
	indirectHit=20;
	indirectHitRange=2;
	cost=10000;
	maxSpeed=320;
	irLock=true;
//		laserLock=true;
//		manualControl=true;
	lightColor[] = {0.5,0.25,0.25,0};
	maxControlRange=8000;
	initTime=0.15;
	thrustTime=2.5;
	thrust=320;
	trackOversteer = 1;
	trackLead = 1;
	maneuvrability=20;
};

CfgMagazines

	class VehicleMagazine;
class STA2_RPlasMag:VehicleMagazine
{
	scope = 1;
	displayName = "Plasma Torpedo";
	count = 30;
	ammo = "STA2_RPlasma";
	initSpeed = 0;
	sound[] = {"\ca\Weapons\Data\Sound\TOW_2",3.16228,1,1400};
 		reloadSound[] = {"\ca\Weapons\Data\Sound\missload",0.000316228,1,20};
 		timeToLive = 120;
	maneuvrability = 8;
	simulationStep = 0.01;
	sideAirFriction = 0.2;
	irLock = 1;
	trackOversteer = 1;
	trackLead = 1;
	maxSpeed = 300;
	initTime = 0.15;
	thrustTime = 2.0;
	thrust = 141;
	nameSound = "missiles";
};

CfgWeapons

	class MissleLauncher;
class PlasmaCannon: MissleLauncher
{
	scope = 1;
	displayName = "Plasma Cannon";
	canLock=1;
	magazines[]={"STA2_RPlasMag"};
	minRange=70;minRangeProbab=0.10;
	midRange=4000;midRangeProbab=0.7;
	maxRange=1000;maxRangeProbab=0.001;
	reloadTime = 30;
 		magazineReloadTime = 30;
	aiRateOfFire=10.0;
	aiRateOfFireDistance=2500;
	sound[]={\ca\Weapons\Data\Sound\RocketLauncher_Shot05,db30,1};
	soundFly[]={\ca\Weapons\Data\Sound\rocket_fly1,db40,0.8};

	//required by game :p
	nameSound = "";
	type = 65536; // Don't know why it's asking for this, because it's already a part of MissileLauncher class. Copied value from MissileLauncher.
	picture =""; //What the heck is this for if it's on a vehicle and not a carried weapon?
	class Library
	{
		libTextDesc = "This is a bullshit description that the game requires for something that shouldn't be part of the armoury.";
	};

};

Full config:

#define PHASER tracerColor[]={0,0,1,0.5};tracerColorR[]={0,0,1,0.5};


class cfgPatches
{
class STA2_Weapons
{
	units[] = {};
	weapons[] =
	{
		"STA2_Type2"
	};
	requiredVersion = 1;
	requiredAddons[] =
	{
		"CAData","CA_Anims_Char", "CAWeapons"
	};
};
};
//Weapon firing modes
class Mode_SemiAuto
{
displayName = "Single";
};
class Mode_Burst: Mode_SemiAuto
{
displayName = "Burst";
};
class Mode_FullAuto: Mode_SemiAuto
{
displayName = "Full";
};



class cfgWeapons
{
class PistolCore;
class Pistol: PistolCore{};
class STA2_Type2: Pistol
{
	modes[]=
	{
		Stun,
		Kill
	};
	class Single: Mode_SemiAuto{};
	class Stun:Single
	{
		ffCount=1;
		displayName="Stun";
		sound[]={"\STA2_Weapons\data\phaser.wav",db0,1};
	};
	class Kill:Mode_FullAuto
	{
		//ffCount=10;;
		displayName="Kill";
		sound[]={"\STA2_Weapons\data\phaser.wav",db0,1};
		autoFire=1;
	};
	scope = 2;
	displayName = "Type 2 Phaser";
	model = "\STA2_Weapons\STA2_Type2";
	modelOptics="-";
	autoFire = 0;
	picture = "";
	sound[]={"\STA2_Weapons\data\phaser.wav",db0,1};
	drySound[]={\ca\Weapons\Data\Sound\T33_dry_v1, db-80,1};
	reloadMagazineSound[]={\ca\Weapons\Data\Sound\pistol_reload,db-30,1};
	magazines[]={STA2_PhaserClip};

	dispersion = 0;

};
class MissleLauncher;
class PlasmaCannon: MissleLauncher
{
	scope = 1;
	displayName = "Plasma Cannon";
	canLock=1;
	magazines[]={"STA2_RPlasMag"};
	minRange=70;minRangeProbab=0.10;
	midRange=4000;midRangeProbab=0.7;
	maxRange=1000;maxRangeProbab=0.001;
	reloadTime = 30;
 		magazineReloadTime = 30;
	aiRateOfFire=10.0;
	aiRateOfFireDistance=2500;
	sound[]={\ca\Weapons\Data\Sound\RocketLauncher_Shot05,db30,1};
	soundFly[]={\ca\Weapons\Data\Sound\rocket_fly1,db40,0.8};

	//required by game :p
	nameSound = "";
	type = 65536; // Don't know why it's asking for this, because it's already a part of MissileLauncher class. Copied value from MissileLauncher.
	picture =""; //What the heck is this for if it's on a vehicle and not a carried weapon?
	class Library
	{
		libTextDesc = "This is a bullshit description for something that shouldn't be part of the armoury.";
	};

};

};







class cfgAmmo
{
class BulletBase;
class STA2_Phaser: BulletBase
{
	hit = 9;
	visibleFire=0.035;
	audibleFire=0.035;
	visibleFireTime=2;
	cost = 5;
	aiRateOfFire = 0; //continuous weapon
	aiRateOfFireDistance = 500;
	typicalSpeed=1500;
	//model = "\ca\Weapons\Data\bullettracer\tracer_green";
	//tracerScale = 1;
	//tracerStartTime = 0;
	//tracerEndTime = 4;
	//airFriction = -0.0000;
	muzzleEffect = "";
	//PHASER
};
class MissileBase;
class STA2_RPlasma: MissileBase
{
	model= "\STA2_Weapons\STA2_RPlasma";
	//proxyShape = \ca\weapons\Hellfire_proxy;
	hit=850;
	indirectHit=20;
	indirectHitRange=2;
	cost=10000;
	maxSpeed=320;
	irLock=true;
//		laserLock=true;
//		manualControl=true;
	lightColor[] = {0.5,0.25,0.25,0};
	maxControlRange=8000;
	initTime=0.15;
	thrustTime=2.5;
	thrust=320;
	trackOversteer = 1;
	trackLead = 1;
	maneuvrability=20;
};
};

class cfgMagazines
{
class Default;
class STA2_Magazine : Default
{
	scope = 2;
	model="\ca\weapons\mag_univ.p3d"; //Model Of Magazine On Ground
	reloadAction = ManActReloadMagazine;  //Animation Of Magazine Reloading
};
class STA2_PhaserClip : STA2_Magazine
{
	scope = 2;
	type = WeaponSlotHandgunItem;
	displayname = "Phaser Clip";
	picture="\Ca\weapons\Data\Equip\m_m9_beretta_CA.paa";
	ammo = STA2_Phaser;
	count = 3000;
	initSpeed = 1500;
	//tracersEvery = 1;
};
class VehicleMagazine;
class STA2_RPlasMag:VehicleMagazine
{
	scope = 1;
	displayName = "Plasma Torpedo";
	count = 30;
	ammo = "STA2_RPlasma";
	initSpeed = 0;
	sound[] = {"\ca\Weapons\Data\Sound\TOW_2",3.16228,1,1400};
 		reloadSound[] = {"\ca\Weapons\Data\Sound\missload",0.000316228,1,20};
 		timeToLive = 120;
	maneuvrability = 8;
	simulationStep = 0.01;
	sideAirFriction = 0.2;
	irLock = 1;
	trackOversteer = 1;
	trackLead = 1;
	maxSpeed = 300;
	initTime = 0.15;
	thrustTime = 2.0;
	thrust = 141;
	nameSound = "missiles";
};
};

Error message:

No entry 'bin\config.bin/CfgWeapons/PlasmaCannon.model'.

Why is it asking me for a model in the PlasmaCannon launcher?

Thanks in advance for any help.

Abs

Share this post


Link to post
Share on other sites

Well, it's a really wild guess but could it be that

class MissleLauncher;

should be

class Miss[b][color="Red"]i[/color][/b]leLauncher;

;)

Share this post


Link to post
Share on other sites
Myke;1874317']Well' date=' it's a really wild guess but could it be that

class MissleLauncher;

should be

class Miss[b][color="Red"]i[/color][/b]leLauncher;

;)[/quote']

no wild guesses, it is THE reason it screws up for abs ;) and once it properly inherits from it, you won't need the other stuff you commented as "engine requires"

Share this post


Link to post
Share on other sites
Myke;1874317']Well' date=' it's a really wild guess but could it be that

class MissleLauncher;

should be

class Miss[b][color="Red"]i[/color][/b]leLauncher;

;)[/quote']

Gah! Fudge me...that was the second time I made that typo. I fixed it, then had to revert some changes in order to correct other mistakes. This is what happens when you only have a grade three edumacation. ;)

Thanks for the fresh pair of eyes, guys. :yay:

Abs

PS: Tried it before replying and it worked!

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  

×