game.Players.PlayerAdded:Connect(function(p)
local leaderstats = p:WaitForChild("leaderstats")
local stage = leaderstats:WaitForChild("Stage")
p.CharacterAdded:Connect(function(c)
c.HumanoidRootPart.Position = workspace.Stages:WaitForChild(tostring(stage.Value)).Position + Vector3.new(0, 3.5, 0)
print("nonpj")
end)
end)
Basically, it’s supposed to spawn you at the stage’s spawn, just 3.5 studs above it so the character doesn’t get stuck. It does indeed print “nonpj”
However, my character doesn’t spawn above the spawn.
I’ve had this issue a while back as well. The solution should be adding a wait time (recommended 3-8 seconds) before moving the player.
.CharacterAdded fires when the playermodel is added into the workspace, not when the playermodel’s parts are all in. You can also try a p:WaitForChild("HumanoidRootPart") but I doubt it will work.
This has never happened to me, it could be that there’s a part there. Forcing the player to go to the top of that part. Also is the camera being manipulated? Try @OsanaRumia 's suggestion too. I had just realized it was .Position.