====== ArmA 3 Muzzle Flash Animation ====== 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.