Teleporting player via HumanoidRootPart.Position causes players to turn invisible/glitch all over the map

I used your method of fixing things and yet when I go on the server I’m still levitating beneath the ground. I have my characters Archivable set to (I checked if it was true thinking that could be the issue) but I’m still bugged. Down there, this is very annoying….

Never mind, my issue was that I welded a part to the players right arm on the client. Instead, I did it on a server script and used the following code to fix it.

script.Parent.OnServerEvent:Connect(function(Player, Action)
if Action == “Equip” then
local KProp1 = game.ReplicatedStorage.Props.PropKunai:Clone()
KProp1.Parent = game.Workspace
KProp1.Name = Player.Name…”sKunaiProp”
local PropW1 = Instance.new(“Weld”, KProp1)
PropW1.Part0 = KProp1
PropW1.Part1 = Player.Character[“Right Arm”]
PropW1.C0 = CFrame.new(0,1,0) * CFrame.Angles(0,math.rad(45),0)

elseif Action == “Unequip” then
local KProp1 = workspace:WaitForChild(Player.Name…”sKunaiProp”):Destroy()

end
end)

So yeah, the issue was what @MetatableIndex was talking about, special thanks to him for letting us know!

You should never be setting the position of the the HumanoidRootPart anyway, you should use :MoveTo() on the character instead.

3 Likes

You can’t CFrame other characters from your client. Do it from the server and they won’t be invisible

1 Like

I also had a problem with teleporting because whenever I teleported my character using CFrame or Position, the attachments on my weapons and accessories would scatter all around the map making the hitboxes and shooting points really weird. I happen to have Commander 4 by Evo, so I looked into their teleport script and I noticed that they used SetPrimaryPartCFrame() for their model. I looked deeper and turns out there was a new version of that, PivotTo().

I switched all of my teleporting things to PivotTo(targetCFrame) and so far I haven’t run into any more attachment part problems regarding teleportation. I know this was a really late post, but I hope this helps!

8 Likes

I had this problem Multiple times. I fixed it by teleporting by “CFrame” instead of “Position”

Best is to use remote event to client > server OR use just server. Never use Just Client.

The solution I found awhile back is to this is to reset the rootjoint’s original C0 / C1 after teleporting.