Weld script troubles

hi, I am trying to weld with a script but, troubles;

for i,v in pairs(script.Parent:GetChildren()) do
	if (v:IsA("BasePart") and v.Name ~= "Handle") then 	
		local Weld = Instance.new("Weld",script.Parent.Handle)
		Weld.Part0 = script.Parent.Handle
		Weld.Part1 = v
		Weld.Name = v.Name
		Weld.C0 = script.Parent.Handle.CFrame:Inverse() * CFrame.new(script.Parent.Handle.Position)
		Weld.C1 = v.CFrame:Inverse() * CFrame.new(script.Parent.Handle.Position)
	end
end

I don’t know why it doesn’t works, it places all the parts in the handle position and it glitches

I know I can use WeldConstraints, but for animation purposes, I need to use Welds
(to edit C0)

Well, since you are using the (script.Parent.Handle) Position in your Weld.C0 line that’s where it is going to place the Part.

You can use this Weld Script.