====== 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.