Jump to content
Sign in to follow this  
hitokiri

Bis Tank main gun muzzle flash and smoke grenade problem

Recommended Posts

I am have many problems getting the Arma 2 tank main gun muzzle flash to work does it require additional config entry or memory lod point as the gun operates and fires correctly but only has the standard tank smoke puff like from arma 1 not the flash and smoke puff like arma 2.

My other problem is getting the standard bis smoke discharger to work on my tank i have added "SmokeLauncher" and ""SmokeLauncherMag" to the commanders gun and the other required config entry

 smokeLauncherGrenadeCount = 6;
 smokeLauncherVelocity = 14;
 smokeLauncherOnTurret = 1;
 smokeLauncherAngle = 120;

But when comander fires the smoke discharger weapon nothing happens other than sound effect of it firing. Does it require a script to work or more or different config entrys?

here part config

class RHS_T80B : RHS_T80Base
{
	scope = public;
	model = "\RHS_T80\T80B1.p3d";
	picture = "\RHS_T80\icon\T80BIC.paa";
	Icon = "\Ca\tracked\Data\map_ico\icomap_t72_CA.paa";
	selectionLeftOffset = "pasanimL";
	selectionRightOffset = "pasanimP";
	mapSize = 12;
	faction = "RU";
	displayName = "T-80B(85)";
	vehicleClass = "RHS_Armour";
	nightVision=true;
	side = East;
	crew = "RU_Soldier_Crew";
	typicalCargo[] = {"RU_Soldier_Crew","RU_Soldier_Crew","RU_Soldier_Crew"};
	forceHideDriver = true;
	hasDriver = true; // default
		// default
		 // default
	hiddenSelections[] ={"n1","n2","n3","skirt","TF_Skirt","BF_Skirt","log","snorkel","n4","n5","ERA_side","ERA_turret","Search_random"}; 


	class AnimationSources
	{
	class RHS_T80B_Recoil
	{
	type = "translation";
	source = "user";
	selection = "Recoil";
	memory = 1;
	axis = "axis_recoil";
	begin = "recoil_start";
	end = "recoil_end";
	minValue = 1;
	maxValue = "0";
	offset0 = 0;
	offset1 = 0.29;
	animPeriod = 0.15;
	};


        class RHS_T80B_Front_skirt
           {
			type = "rotation";
			source = "user";
			selection = "BF_Skirt";
			axis = "axis_BF_Skirt";
			sourceAddress = "clamp";
			memory = 1;
			animPeriod = 1;
			minValue = 0;
			maxValue = 1;
			angle0 = "rad  2";
			angle1 = "rad -3";
           };


	class RHS_T80B_maingunup
	{
	type = "rotationX";
	source = "user";
	selection = "maingunup";
	memory = 1;
	axis = "axis_gun";
	sourceAddress = "clamp";
	minValue = "0";
	maxValue = "1";
	angle0 = "rad 0";
	angle1 = "rad 5";
	animPeriod = 2;
	};
	};


	spotableNightLightsOff = 0; //default
		spotableNightLightsOn = 0;//default
 		visibleNightLightsOff = 0; //default
		visibleNightLightsOn = 0;//default

	nameSound = "t72";
	accuracy = 0.8;	// accuracy needed to recognize type of this target
	armor = 650;
	damageResistance = 0.00544;
	cost = 1000000;



	class HitHull {
		armor = 0.85;
		material = 1;
		name = "telo";
		visual = "telo";
		passThrough = true;
	};

	class HitLTrack {
		armor = 0.15;
		material = 1;
		name = "pas_L";
		visual = "-1";
		passThrough = false;
	};

	class HitRTrack {
		armor = 0.15;
		material = 1;
		name = "pas_P";
		visual = "-1";
		passThrough = false;
	};

	class Damage {
		tex[] = {};
		mat[] = {"rhs_t80\hull_g.rvmat", "rhs_t80\hull_g.rvmat", "rhs_t80\hull_destroy.rvmat", "rhs_t80\turret_G.rvmat", "rhs_t80\turret_G.rvmat", "rhs_t80\turret_destroy.rvmat"};
	};

	maxSpeed = 60;	// max speed on level road, km/h
	soundEngine[] = {"\RHS_T80\Sound\t80turbine", db22, 0.8};
	soundEnviron[] = {"\RHS_T80\Sound\T80-Treads", db140, 0.9};
	soundGetOut[] = {"\ca\Tracked\Data\Sound\tank_door", db-40, 1};
	soundGetIn[] = {"\ca\Tracked\Data\Sound\tank_door", db-40, 1};
	driverForceOptics = true;
	driverOutForceOptics = true;
	driverAction = "T72_DriverOut";
	driverInAction = "T72_Driver";
	memoryPointDriverOutOptics = "Driver_out_view";
	driverOutOpticsModel = "\ca\weapons\optika_empty";



	class Exhausts {
		class Exhaust1 {
			position = "vyfuk start";
			direction = "vyfuk konec";
			effect = "ExhaustsEffectBig";
		};
	};


	type = VArmor;

	// threat (VSoft, VArmor, VAir), how threatening vehicle is to unit types

	threat[] = {0.9, 0.8, 0.2};


class EventHandlers
{
init = "[_this select 0,_this select 1] exec ""\RHS_T80_Scripts\scripts\nummern.sqs"";";
Fired = "if (_this select 1 == ""RHS_2A46_2"") then {_this exec ""\RHS_T80_Scripts\scripts\maingunrecoil.sqs""};";

}; 


	class Turrets : Turrets 
	{
	class MainTurret : MainTurret 
	{
			gunnerAction = "T72_GunnerOut";
			gunnerInAction = "T72_Gunner";
			weapons[] = {"RHS_2A46_2","PKT"};
			magazines[] = {"RHS_3BM32_MAG", "RHS_3BK21_MAG", "RHS_3OF26_MAG", "RHS_9M112_Kobra_MAG","rhs_autoloader_mag","2000Rnd_762x54_PKT"};
			soundServo[] = {"RHS_T80\Sound\servo.ogg", 1.0, 1.0};
			gunnerOutForceOptics = 0;
			memoryPointGunnerOptics = "gunnerview";
			hasGunner = true;
			nightVision=true;
			animationSourceHatch = "Hatchgunner";
			animationSourceBody = "MainTurret";
			animationSourceGun = "MainGun";
			memoryPointGun = "Mgun";
			lockWhenDriverOut=1;
			maxHorizontalRotSpeed=0.40000;
			maxVerticalRotSpeed=0.10000;
			primaryGunner = true;
    				primaryObserver = false; //Commander
			gunnerOutOpticsModel = "\ca\weapons\optika_empty";
			gunnerOpticsModel = "\RHS_T80\Optic\RHS_T64_Optic.p3d";
			gunnerOpticsEffect[] = {"TankGunnerOptics1", "OpticsBlur2", "OpticsCHAbera3"};
			minElev = -5;
			maxElev = 15;
			initElev = 0;



			class HitTurret
			{
				armor = 1;
				material = 2;
				name = "otocvez";
				visual = "vez";
				passThrough = true;
			};


			class HitGun {
				armor = 0.5;
				material = 2;
				name = "otochlaven";
				visual = "zbran";
				passThrough = true;
			};


			gunBeg = "Gun_end";	
			gunEnd = "Gun_start";	
			body = "RHS_T80B_MainTurret";
			gun = "RHS_T80B_MainGun";


			class Turrets : Turrets 
			{
			class CommanderOptics : CommanderOptics 
			{
						weapons[] = {"RHS_NSV","SmokeLauncher"};
					magazines[] = {"RHS_NSV_50R", "RHS_NSV_50R","RHS_NSV_50R","SmokeLauncherMag","SmokeLauncherMag"};
					stabilizedInAxes = "StabilizedInAxesNone";
					gunnerName = $STR_POSITION_COMMANDER;
					gunnerOutForceOptics = 1;
					animationSourceHatch = "HatchCommander";
					animationSourceBody = "obsTurret";
					animationSourceGun = "obsGun";
					memoryPointGunnerOptics = "commanderview";
					memoryPointGunnerOutOptics = "commander_out_view";
					gunnerOpticsModel = "\RHS_T80\Optic\RHS_T64_COptic.p3d";
					gunnerOpticsEffect[] = {"TankGunnerOptics1", "OpticsBlur2", "OpticsCHAbera3"};		
					nightVision=true;
					proxyType = "CPCommander";
					proxyIndex = 1;
					lockWhenDriverOut=0;
					primaryGunner = false;
    						primaryObserver = true; //Commander
					hasCommander = true;


					gunBeg = "Mgun_end";	// endpoint of the gun
					gunEnd = "Mgun_start";	// chamber of the gun
					body = "RHS_T80B_com_coppula";
					gun = "RHS_T80B_com_Gun";
					gunnerAction = "T72_CommanderOut";
					gunnerInAction = "T72_Commander";

					minElev = -15;
					maxElev = 80;
					initElev = 0;
					minTurn = -360;
					maxTurn = 360;
					initTurn = 0;
					gunnerOutOpticsModel = "\ca\Weapons\optika_empty";
					soundServo[] = {"\ca\Weapons\Data\Sound\gun_elevate2", db-70, 1.0};
					outGunnerMayFire = true;
					inGunnerMayFire = true;
};
			};
		};
};

smokeLauncherGrenadeCount = 6;
 smokeLauncherVelocity = 14;
 smokeLauncherOnTurret = 1;
 smokeLauncherAngle = 120;

};

turret section of model config

////////////// Turret

	class RHS_T80B_MainTurret 
	{
		selection = "Mainturret";
		type="rotationY";
		source="mainTurret";
		axis="axis_turret";
		animPeriod=0;
		memory=1;
		minValue="rad -360";
		maxValue="rad +360";
		angle0="rad -360";
		angle1="rad +360";
		};

	class RHS_T80B_MainGun 
	{
		selection = "MainGun";
		type="rotationX";
		source="mainGun";
		axis="axis_Gun";
		animPeriod=0;
		memory=1;
		minValue="rad -360";
		maxValue="rad +360";
		angle0="rad -360";
		angle1="rad +360";
		};


	class RHS_T80B_Recoil
	{
	type="translation";
	source="user";
	selection="Recoil";
	axis="axis_recoil";
	memory=1;
	begin="Recoil_start";
	end="Recoil_end";
	minValue=0;
	maxValue="1";
	offset0=0;
	offset1=0.3;
	animPeriod=0.15;
	};

	class RHS_T80B_maingunup : RHS_T80B_MainGun
	{
	type = "rotationX";
	source = "user";
	selection = "maingunup";
	memory = 1;
	axis = "axis_Gun";
	sourceAddress = "clamp";
	minValue = "0";
	maxValue = "1";
	angle0 = "rad 0";
	angle1 = "rad 5";
	};


/////////////// IR search light gunner

	class RHS_T80B_GUN_Search 
	{
		selection = "IR_Search";
		type="rotationX";
		source="mainGun";
		axis="axis_IR_Search";
		animPeriod=0;
		memory=1;
		minValue="rad -5";
		maxValue="rad +15";
		angle0="rad -5";
		angle1="rad +15";
		};



////////////// commander coppula

	class RHS_T80B_com_coppula
	{
		selection = "Com_coppula";
		type="rotationY";
		source="obsTurret";
		axis="axis_com_coppula";
		animPeriod=0;
		memory=1;
		minValue="rad -360";
		maxValue="rad +360";
		angle0="rad -360";
		angle1="rad +360";
		};

	class RHS_T80B_com_Gun 
	{
		selection = "com_Gun";
		type="rotationX";
		source="obsGun";
		axis="axis_com_Gun";
		animPeriod=0;
		memory=1;
		minValue="rad -360";
		maxValue="rad +360";
		angle0="rad -360";
		angle1="rad +360";
		};

///////////////// IR search light commander


	class RHS_T80B_com_com_IR_Search 
	{
		selection = "com_IR_Search";
		type="rotationX";
		source="obsGun";
		axis="axis_com_IR_Search";
		animPeriod=0;
		memory=1;
		minValue="rad -20";
		maxValue="rad +60";
		angle0="rad -20";
		angle1="rad +60";
		};

Hope someone can help these are last 2 bug i have v_v

Share this post


Link to post
Share on other sites

as i know defalt tank gun effect called from ???ca\scripts\fired??? and shown by script in ca\something

don't remember correctly

try inherit default tank gun or call script by yours eventheandler)

sorry ma engliz

Share this post


Link to post
Share on other sites

i can not find script you speak of in ca.pbo and i have also try to inherit bis weapon's but nothing changes. I have also arm my own tank with bis tank weapon but again nothing change gun work but no muzzle flash

this is what missing

flashu.jpg

comparison video

<object width="425" height="344"><param name="movie" value="http://www.youtube.com/watch?v=QZOP5Ph21J0&hl=en_GB&fs=1&"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/watch?v=QZOP5Ph21J0&hl=en_GB&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object>

What i am wondering is that it part of the model like old zasleh muzzle flash on rifles

Share this post


Link to post
Share on other sites

Is your main gun definition (RHS_2A46_2) inherited from the main guns used within ArmAII like the "M256" or simply "CannonCore"?

Because I'm thinking it hasn't inherited the flash and smoke effect properly.

I also see in the ArmAII config a;

effectsFire = "CannonFire";

Share this post


Link to post
Share on other sites

I have the same problem, BUT:

I was playing a bit with my 2S4 Tyulpan (I know it has a mortar, but in config its a tank gun) and noticed that it has the big muzzle flash. Then I tried the 2S5 Giatsint, it didnt have flash, but had recoil animation. The two vehicles use the same config.cpp.

Maybe something to do with main gun recoil?

Share this post


Link to post
Share on other sites

I not think it relate to recoil because it there still no flash when disable it. my main gun inherits from bis D81 that t-72 use

class RHS_2A46_2 : D81
{
	scope = protected;
	reloadTime = 6.5;
	displayName = "2A46-2";
	sound[] = {"\RHS_T80\Sound\125mm", db70, 1};
	reloadSound[] = {"\RHS_T80\Sound\autoloader", 0.5, 1};
	effectsFire = "CannonFire"; 
	nameSound = "cannon";
	cursor = "Cannon";
	ballisticsComputer = 1;
	flash = "gunfire"; 
        flashSize = 10; 
	minRange = 1;
	minRangeProbab = 0.1;
	midRange = 1200;
	midRangeProbab = 0.7;
	maxRange = 2500;
	maxRangeProbab = 0.1;
	maxLeadSpeed = 100;	// max estimated speed km/h
	autoReload = true;
magazines[] =	{"RHS_3BM9_MAG","RHS_3BM12_MAG","RHS_3BM15_MAG","RHS_3BM17_MAG","RHS_3BM22_MAG","RHS_3BM26_MAG","RHS_3BM29_MAG","RHS_3BM32_MAG","RHS_3BM42_MAG","RHS_3BM42M_MAG","RHS_3BM46_MAG","RHS_3BK12_MAG","RHS_3BK14_MAG","RHS_3BK18_MAG","RHS_3BK18M_MAG","RHS_3BK21_MAG","RHS_3BK29_MAG","RHS_3BK31_MAG","RHS_3OF11_MAG","RHS_3OF26_MAG","RHS_9M112_Kobra_MAG","RHS_9M128_Agona_MAG","23Rnd_125mmSABOT_T72", "22Rnd_125mmHE_T72"};


};

Share this post


Link to post
Share on other sites

maybe check you shells

must be

muzzleEffect = "BIS_Effects_Cannon";

????===========================

???

maybe look into ca_config

class DefaultEventhandlers {
init = "_scr = _this execVM "\ca\Data\ParticleEffects\SCRIPTS\init.sqf";";
fired = "_this call BIS_Effects_EH_Fired;";
killed = "_this call BIS_Effects_EH_Killed;";
};

in Ca\Data\ParticleEffects\SCRIPTS\init

	BIS_Effects_EH_Fired=compile preprocessFileLineNumbers "\ca\Data\ParticleEffects\SCRIPTS\fired.sqf";
BIS_Effects_EH_Killed=compile preprocessFileLineNumbers "\ca\Data\ParticleEffects\SCRIPTS\killed.sqf";

BIS_Effects_Cannon=compile preprocessFileLineNumbers "\ca\Data\ParticleEffects\SCRIPTS\muzzle\cannon.sqf";

Edited by nikita320106

Share this post


Link to post
Share on other sites

Seem lazuras correct it animation that effect flash effet when i disable the recoil the flash work

Share this post


Link to post
Share on other sites

The same problem with my T-72B/BA...

Flash and smokelauncher.

SfMEnglish.

Share this post


Link to post
Share on other sites

I think i have find source of the problem, it is not the animation that is causing the lack of muzzle flash but the event handlers

class EventHandlers

{

init = "[_this select 0,_this select 1] exec ""\RHS_T80_Scripts\scripts\nummern.sqs"";";

Fired = "if (_this select 1 == ""RHS_2A46_2"") then {_this exec ""\RHS_T80_Scripts\scripts\maingunrecoil.sqs""};";

};

Are overwriting the default bis event handlers which call both the smoke discharger effect and muzzle flash.

Does anyone know what the resulting merged eventhandler would be as i have tried to but get errors configs are not my strong pointv_v

  • Like 1

Share this post


Link to post
Share on other sites

try to add

Fired = "if (_this select 1 == ""RHS_2A46_2"")

then {

_this exec ""\RHS_T80_Scripts\scripts\maingunrecoil.sqs"

_this call BIS_Effects_EH_Fired;

or

_this(???) exec "\ca\Data\ParticleEffects\SCRIPTS\muzzle\cannon.sqf"

Share this post


Link to post
Share on other sites
i can not find script you speak of in ca.pbo and i have also try to inherit bis weapon's but nothing changes. I have also arm my own tank with bis tank weapon but again nothing change gun work but no muzzle flash

this is what missing

flashu.jpg

comparison video

<object width="425" height="344"><param name="movie" value="http://www.youtube.com/watch?v=QZOP5Ph21J0&hl=en_GB&fs=1&"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/watch?v=QZOP5Ph21J0&hl=en_GB&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object>

What i am wondering is that it part of the model like old zasleh muzzle flash on rifles

wow i hear a dude inside that tank wolf whistling ..:eek:

Share this post


Link to post
Share on other sites

success ^_^

class EventHandlers

{

init = "[_this select 0,_this select 1] exec ""\RHS_T80_Scripts\scripts\nummernBK.sqs""; _scr = _this execVM ""\ca\Data\ParticleEffects\SCRIPTS\init.sqf""; ";

Fired = "if (_this select 1 == ""RHS_2A46_2"") then {_this exec ""\RHS_T80_Scripts\scripts\maingunrecoil1.sqs""}; _this call BIS_Effects_EH_Fired; ";

killed = "_this call BIS_Effects_EH_Killed;";

};

Give correct muzzle flash, thank you all that help :icon_w00t:

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  

×