How do I fix this Player Physics Bug?

Hi,

I have this issue when the player parents out the other player’s character to nil then parenting
them to workspace in localscript, player1’s position isn’t changed in player2’s perspective
until player1 moves. How do I fix this?

Player2’s Perspective
image

Player1’s Perspective
image

Code

local runservice = game:GetService("RunService")
	local localplr = game.Players.LocalPlayer
	
	runservice.RenderStepped:Connect(function()
		for _,plr in pairs(game.Players:GetPlayers()) do
			local currentplrmap = plr.CurrentlyIn
			if plr ~= localplr then	
				if localplr.CurrentlyIn.Value == "Main_Lobby" then
					if currentplrmap.Value ~= "Main_Lobby" then
						plr.Character.Parent = nil
					else
						plr.Character.Parent = workspace
					end
				else
					if currentplrmap.Value == localplr.CurrentlyIn.Value then
						plr.Character.Parent = workspace
					else
						plr.Character.Parent = nil
					end

				end
				
				
			end
		end	
	end)

image

Okay, so I tried CFraming Player’s Position Based on CFrameValue that always changes in server script and now his legs are on ground.

Roblox has a help article on how to do this…
Teleporting Within a Place (roblox.com)

I’m not asking for teleportation to other games

Excerpt from the top of the article… " This article focuses on moving players within the same place. To teleport players between places/levels in a multi-place game, see Teleporting Between Places."

seems like youre using a local script and since local scripts are local it only appears that youure carrying him but youre actually not use a server script to get your result

My problem is that I can’t hide other player’s character without making them in a ragdoll state