You guys aren't seeing the solution even if it is on your noses !
Why complicate your life ! Just make an animation with the weapon and without the weapon ... You could switch from animation to animation with an event !
If you have a lot of animations just set the origin to the place you want the weapon to be , then add a boolean ( IsWeaponEquiped )
Add those events :
On "b" pressed :
-If IsWeaponEquiped true :
-- Set IsWeaponEquiped false
-If IsWeaponEquiped False :
-- Set IsWeaponEquiped true
And
If IsWeaponEquiped true :
-- Set Weapon position to ( Player.X , Player.Y )
No need for that buggy pin behavior !
Cheers