How to change which hand is holding a tool

I am making a game with a sword and have multiple animations, but all of the animation have the sword holding in the left hand, while the default is right, so when I play the animations ingame they look wrong, because the sword isn’t in the right hand.

1 Like

You would have to manually weld the tool to the other hand using Motor6D’s or the traditional welds. After that you need to apply some offset to it so that your character can properly hold the tool.

I got the weld to work, but I have no idea how to make the offset

Just change the C0 property till it fits your needs. You could do this by playtesting the game and equipping your tool then fiddling with the welds C0 property and then copying the property and applying it in your script.

I also suggest setting requireshandle on the tool to false.

i copied the c0 into the script but nothing changed

weld.C0.Position = Vector3.new(0, 180, 45)

Bru-
It seems you don’t know much about cframes and c0 properties. Allow me to shoe you.

weld.C0.Position = Vector3.new(0, 180, 45)

This doesn’t work because you can’t set a component of a property to something. You NEED to do it like so:

weld.C0 = CFrame.Angles(0,math.pi,math.pi/4)

Math.pi is 180 degrees in radians.
I am using angles here because if I set the position to that value then the tool would just be quite far.

If I recall correctly couldn’t you just take the GripAttach motor6D out of the right hand, put it in the left hand, change the Part0 property to the left hand, then boom?

This worked, but after equipping the tool and waiting for a few seconds, it would just delete itself

1 Like

I fixed the bug by changing it to a regular script

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.