Rope Swinging Bug Body Movers

So, I had my rope swinging perfectly working on the server, but I needed to move it to the client for lag reasons now it’s very buggy and I dont know what to do, please any help?

Before I made it client side :


After :

CODE :

if (hit.Position - humrp.Position).Magnitude >= 30 then
		local BV = Instance.new("BodyAngularVelocity")
		BV.P = (humrp.Position - MouseAttachment.WorldPosition).Magnitude * 25
		local t1 = TweenService:Create(BV, TweenInfo.new(2), {MaxTorque = Vector3.new(0, math.huge,0)})
		t1:Play()
		BV.AngularVelocity = MouseAttachment.CFrame.lookVector * 0
		BV.Parent = humrp
		
		local BV1 = Instance.new("BodyAngularVelocity")
		BV1.P = (humrp.Position - MouseAttachment.WorldPosition).Magnitude * 1500
		local t = TweenService:Create(BV1, TweenInfo.new(1), {MaxTorque = Vector3.new(0, math.huge,0)})
		t:Play()
		BV1.AngularVelocity = MouseAttachment.CFrame.lookVector * 5
		BV1.Parent = humrp	
		
		game:GetService("Debris"):AddItem(BV1, 1.2)
		game:GetService("Debris"):AddItem(BV, 1.2)
	end

This is probably not the reason, but are you using a fps unlocker? I’ve seen similar symptoms caused by fps unlocking after porting something to the client.

I fixed it, I just had to move it back to the server! : P