Part wont CFrame to the Player's Center , even though they're Anchored?

Creating a Freeze Effect for the Player That spawns a part at the HumanoidRootPart.

The Freeze works by simply Anchoring every Part of the player

While this Works , It seems that there is a difference in how the server and client handles this.

On the Client , the player falls faster somewhat , while on the server , The code works as its supposed , as it freezes the player and spawns the part at the player’s center or HumanoidRootPart.

Here’s a Video of what’s happening!
[Left : Server / Right : Client]

Testing Place : Tizzel40's Place Number: 48 - Roblox

Code :



game.Players.PlayerAdded:Connect(function(plr)
	
	plr.CharacterAdded:Connect(function(char)
		
		wait(.5)
		
		for i,v in pairs(char:GetChildren()) do

			if v:IsA("Pants") or v:IsA("Shirt") or v:IsA("Accessory") then
				v:Destroy()
			end

			if v:IsA("BasePart") then

				v.Anchored = true
				v.CanCollide = false

			end
		end

		wait(1)

		local SoundPart = Instance.new("Part")
		SoundPart.Parent = workspace
		SoundPart.Material = Enum.Material.Neon
		SoundPart.BrickColor = BrickColor.new("Reddish lilac")
		SoundPart.Anchored = true
		SoundPart.CFrame = plr.Character.HumanoidRootPart.CFrame
		SoundPart.Transparency = 0
		SoundPart.CanCollide = false
		
		wait(.5)
		
		plr:LoadCharacter()
		
	end)
	
end) 


Is there any workaround or fix for this so that it can also work for the client as well?

–//T40

1 Like

There’s always going to be inconsistencies between the client and server, unfortunately, affected by things such as latency.

I would try teleporting the player to the part after you’ve frozen them. It’d look a little, odd, but depending on your use-case, would fix the issue.

Try using char:MoveTo(Vector3) and seeing if that fixes anything!

1 Like

whoa… I think it works! Thanks! Ill give you some Ray-tokens when my game comes out!

2 Likes