(R6) Animated Tool is stuck in the Right Arm

My animation that uses a motor6D is not in the hand but rather inside the right arm and its oriented weird. I want it to be in the hand but I have found no way to do that since I am using R6 instead of R15 (R15 has hands as parts)

Could anyone help me make it play in the hand and not inside the arm and the orientation correct?

Here is what its suppost to look like

Here is what it actually looks like

Here is the script to make the animation play
(It is a sever sided script)

local tool = script.Parent

script.Parent.Equipped:Connect(function()
	local char = script.Parent.Parent
	local hum = char.Humanoid
	
	local motor = Instance.new("Motor6D")
	motor.Parent = char["Right Arm"]

	motor.Name = "Handle"

	motor.Part0 = char["Right Arm"]
	motor.Part1 = tool.Handle
	
	
	local anim = hum:LoadAnimation(script.Idle)
	
	
	
	anim:Play()
	
	
	char["Right Arm"].DescendantAdded:Connect(function(Unwelcomeone)
		if Unwelcomeone:IsA("Weld") and Unwelcomeone.Name == "RightGrip" then
			task.wait()
			Unwelcomeone:Destroy()
		end
	end)
end)

script.Parent.Unequipped:Connect(function()
	local char = script.Parent.Parent.Parent.Character
	local hum = char.Humanoid
	
	char["Right Arm"].Handle:Destroy()

	for i,v in pairs(hum:GetPlayingAnimationTracks()) do
		v:Stop()
	end
end)

It’s hard to tell exactly what’s wrong with the offsets, but my guess is the Motor6D you create that replaces the default RightGrip tool weld has a different C0 and C1 than the ones the Motor6D you used to animate the tool has. Assuming the Motor6D you used in your animation uses the same offsets as the default RightGrip offsets, you can assign those C0 and C1 properties before deleting the RightGrip weld.

	local motor = Instance.new("Motor6D")
	motor.Parent = char["Right Arm"]

	motor.Name = "Handle"

	motor.Part0 = char["Right Arm"]
	motor.Part1 = tool.Handle
	
	motor.C0 = char["Right Arm"]:FindFirstChild("RightGrip").C0
	motor.C1 = char["Right Arm"]:FindFirstChild("RightGrip").C1
1 Like