How to make a sheath/unsheath system (need help)

So, in my game player’s weapons will be in a Hotbar when they spawn. When they press click the Hotbar slot it puts the weapon on their back in “sheathed” mode. Then players can click another button and it unsheathes their weapon. The whole combat system runs when player’s click or hold down mouse button 1. Except I don’t want this system running unless their weapon is unsheathed. I know I’d probably need to use combat action service. I’d have the whole combat animation system inside a function. Then if weapon.unsheathed == true then
CAS.BindAction(“WeaponAttack”, WeaponAttackFunction, true, “MouseButton1”.

How would I make it unbind this action when the weapon is sheathed? Also what if a player opens a shop and starts using mouse button 1 to click stuff? I don’t want people’s combat system running while they’re using ui if their weapon is unsheathed. How would I fix this?

Is there a way I can make it somehow auto sheath player’s weapons when they open a menu like in Zo?

Btw I should mention I’m not the most experienced with ui, so if I sound like an idiot please correct me on anything

Reviving this, I need an answer