How can i rotate a part with a weldconstraint without changing the rotation of part1?

  1. What do you want to achieve? Keep it simple and clear!

Basically. Im making cape system. I have a weld constraint in my cape that has its part0 set to the cape and part1 set to the plrs root part.

  1. What is the issue? Include screenshots / videos if possible!

My issue is that whenever i change the part0’s cframe(The cape) it also changes the root parts CFrame. How can i change the capes CFrame WITHOUT causing the connected part to also change pos?

Heres a vide showcasing whats happening whenever i change the cape CFrame

Heres also the code i use to update the CFrame of the cape:

game["Run Service"].Heartbeat:Connect(function()
			local Vel = math.clamp(math.abs(Char.PrimaryPart.AssemblyLinearVelocity.Magnitude),0,150)
			
			if Vel > 0 then
				Weld.Part0.CFrame = Weld.Part0.CFrame:Lerp(CFrame.Angles(math.rad(Vel),0,0),.1)
			else
				Weld.Part0.CFrame = Weld.Part0.CFrame:Lerp(CFrame.Angles(0,0,0),.1)
			end
		end)

Fixed it by CFraming the cape without any weld/motors on the client instead:

local Cape = game.ReplicatedStorage.Cape:Clone()
local Root = script.Parent.PrimaryPart
local Hum = script.Parent:WaitForChild("Humanoid")

Cape.Parent = script.Parent
local Remote = game.ReplicatedStorage.RemoteEvent


game["Run Service"].RenderStepped:Connect(function()
	
	local Vel = math.clamp(math.abs(Root.AssemblyLinearVelocity.Magnitude),0,150)
	Cape:PivotTo(Root.CFrame * CFrame.new(0,-2.5,.5))

	if Vel > 0 then
		
		Cape:PivotTo(Root.CFrame * CFrame.new(0,-.5,.5) * CFrame.Angles(math.rad(-Vel),0,0))
	else
		Cape:PivotTo(Root.CFrame * CFrame.new(0,-.5,.5) * CFrame.Angles(0,0,0))
	end
	
end)