Having trouble trying to set/fix part CFrame with weld

I am trying to fix the boots position properly like it is on this dummy:

image

The current script welds the boot (only 1 boot at the moment for testing purposes) to the player when the character touches it, but whenever i touch it, it welds the boot in a strange way, even if i don’t change the CFrame stuff, it will weld slightly different from the last time if i touch it.

Examples:

image

image

You see what i mean? 2 different positions even thou i didn’t change anything at the CFrame positioning, and even if i only change the Y axis, it will randomly move the Z or X axis

Here is the script i am currently using:


local Boots = script.Parent.RightAttach

script.Parent.Touched:Connect(function(plr)
	local character = plr.Parent
	local h = character:FindFirstChild("Humanoid")
	if (h ~= nil) then
		script.Parent.Anchored = false
		local Rleg = character:FindFirstChild("Right Leg")
		Boots.CFrame = Rleg.CFrame * CFrame.new(0,1.15,0)
		local weld = Instance.new("Weld")
		weld.Part0 = Rleg
		weld.Part1 = script.Parent
		weld.C0 = Rleg.CFrame
		weld.C1 = Boots.CFrame
		weld.Parent = script.Parent.RightAttach
	else
	return
		
	end
	
end)

Nevermind, problem solved, i was just missing :Inverse at:

weld.C0 = Rleg.CFrame
weld.C1 = Boots.CFrame