I am in a desperate need of help.
I am trying to make a simple welding script, but my parts always weld with the incorrect position and orientation. I think it has something to do with weld.C0, so I have made many attempts to change the weld.C0 in hopes of getting it right, but I am having no luck.
Handi = script.Parent:FindFirstChild('Handi')
Parts = Handi:GetChildren()
for i = 1, #Parts do
if Parts[i]:IsA('BasePart') then
local weld = Instance.new("Weld")
weld.Part0 = Handi
weld.Part1 = Parts[i]
-- Here is where I make changes. I think this is where I am having problems.
weld.C0 = Handi.CFrame:inverse() * Handi.CFrame
weld.C1 = Parts[i].CFrame:inverse() * Handi.CFrame
weld.Parent = Handi
end
end
I have tried video tutorials, development posts, blog posts, development forums, discord servers, and I have even reached out to some fellow scripting friends. I am having no luck.

3 comments
C0 is just the offset from Part0. weld.C0 = Parts[i].CFrame * Handi.CFrame:Inverse() would set the offset to Part1's CFrame, then subtracting that by Part0's CFrame. That makes an offset of the distance between the two parts.
You don't need C1
I tried that, but its still not working for me :(