You model the second hand to the gun and use this:
function YourGun::onMount(%this, %obj, %slot)
{
%obj.hideNode(LHand);
%obj.hideNode(LHook);
%obj.playThread(2,armReadyBoth);
}
function YourGun::onUnMount(%this, %obj, %slot)
{
if(%obj.client.LHand == 0)
{
%obj.unHideNode(LHand);
}
else
{
%obj.unHideNode(LHook);
}
Parent::onUnmount(%this, %obj, %slot);
}