How to weld the second tool correctly

Hello everyone,

I’m currently making a system where you can hold 1 tool and other tool in your left hand (this is mainly done for animation purposes). However, I’m unable to make the tool’s rotate correctly.

here is how it looks like:
spoon

I’ve tried changing the weld CFrame and pivoting the actual model but none works it stays like this regardless of what I do.

here is the code responsible for this part:

	local Spoon = PlayerScripts.Animations:FindFirstChild("Spoon")
	local Motor6 = Instance.new("Weld",Character.LeftHand)
	Motor6.Name = "ToolGrip"
	
	Tool.Activated:Connect(function()
		print(1)

		Spoon.Parent = Character.LeftHand
		Motor6.Part0 = Character.LeftHand
		Motor6.Part1 = Spoon.BodyAttach
		--Motor6.C1 = Spoon:GetPivot() * CFrame.Angles(math.rad(180),0,0) -- Doesn't work
		Spoon:PivotTo(Spoon:GetPivot() * CFrame.Angles(math.rad(180),0,0)) -- Doesn't work either
		
		AnimeTrack:Play()
		AnimeTrack.Stopped:Wait()
		Spoon.Parent = PlayerScripts.Animations
	end)

Any help?

Is the tool a small coin or am I seeing this wrong?

Omg nvm I just saw the script lmao

no it’s actually a spoon but flipped upside down

Did you change C0 and C1 of the motor6d?

Yes but it make the situation even worse by updating the player’s cframe based on the spoon’s CFrame (since all body parts connected to each other)

Im lost, why is your motor 6d a weld?

Switch C0 and C1. Make sure both are unanchored

I’ve also tried that but the spoon needs to be C1 to prevent the player from retaining it’s cframe

Hmm ok, but I still dont understand why you dont use a real Motor6D instead of a Weld…
And another big tip, dont set the parent of an Instance.new in the 2nd argument. Its really not optimal. You should just do instance.Parent = parent

I don’t need Motor6D as (what I assume) Motor6D is used for parts that are gonna move together such as body parts (also I lack knowledge about it)

1 Like

Oh I found it. You cant set the pivot of the the tool since its welded!
Instead of doing Spoon:PivotTo()
Do weld.C1.CFrame = …

Because a weld takes full control over the tools CFrame. Therefore trying to force its CFrame to move will not work. But you can go with the weld and changes its C1 CFrame so the weld puts it into the place it wants.

Hope this helps :slight_smile:

1 Like

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