====== ArmA 3 Muzzle Flash Animation ======
[[https://www.pmctactical.org/forum/viewforum.php?f=68|ArmA 3 Forum]], [[:arma3|ArmA 3]], [[arma3:config|ArmA 3 Config]], [[arma3:missions|ArmA 3 Missions]], [[arma3:modeling|ArmA 3 3D Modeling]], [[arma3:scripting|ArmA 3 Scripting]], [[arma3:terrain|ArmA 3 Terrain]], [[arma3:texturing|ArmA 3 Texturing]], [[arma3:tools|ArmA 3 Tools]]
Both are named zasleh for the selectionFireAnim in the turret's config and the model.cfg has zasleh defined as a section. Then one proxy is named muzzleflash1, and the other muzzleflash2 those two are defined as bones in class CfgSkeletons:
class CfgSkeletons
{
class Default
{
isDiscrete = 1;
skeletonInherit = "";
skeletonBones[] = {};
};
class myWeapon: Default
{
skeletonInherit="Default";
skeletonBones[]=
{
"muzzleFlash1","",
"muzzleFlash2",""
};
};
};
Then both have an animation defined to rotate them at random:
class zaslehROT
{
type="rotationZ";
source="muzzleHMG_ROT";
sourceAddress="loop";
selection="muzzleFlash1";
axis="";
centerFirstVertex=1;
minValue=0;
maxValue=4;
angle0="rad 0";
angle1="rad 360";
};
class zaslehROT2: zaslehROT
{
selection="muzzleFlash2";
};
The vehicle has a custom muzzle source based on the reload animation source. I suppose you could do the same on a weapon with source = reload; using hidevalue and unhidevalue. It works on vehicles with hidevalue = 1; but I think the reload source on vehicles runs backwards compared to what it does on weapons.