Script only teleports head

Hello, I was working at an obby, and I created a script that teleports the player to his stage. The problem is, only the head teleports.

the script:

local Stages = workspace:WaitForChild("Stages")
local Char = game.Players.LocalPlayer.Character or game.Players.LocalPlayer.CharacterAdded:Wait()
wait(0.2)
local Head = Char.PrimaryPart
local Stage = game.Players.LocalPlayer:WaitForChild("leaderstats"):WaitForChild("Stage").Value
local LevelPosition = Stages:WaitForChild("Level "..tostring(Stage)):WaitForChild("TeleportPart").Position
LevelPosition = Vector3.new(LevelPosition.X,LevelPosition.Y + 2,LevelPosition.Z)
Head.Position = LevelPosition

a screenshot:

!4vY2ISmYlU|272x271](upload://zIu7ag9B0ViWfjVWqj3bP23j74B.png

Do Character.HumanoidRootPart.Position.

--You're doing:
Head.Position = LevelPosition

--Instead you should do 
Char.HumanoidRootPart.CFrame = CFrame.new(LevelPosition)
2 Likes

You could do as suggested above or use character:SetPrimaryPartCFrame(CFrame)

I’ve tested it, but now my character is “dead” on the floor, and I see like a phantom.

Use character:SetPrimaryPartCFrame() or root.CFrame or character:MoveTo()

2 Likes

You should do

character:MoveTo( Position )

That’s what I use when I need to teleport.