Hello everyone. So I was making a game like mega fun obby and I ran into I problem and need someone to help me with it. Problem: When I was making the checkpoints I noticed that your character is facing a certain direction how do you fix this. Video: I am made a video but it won’t upload to roblox dev fourm so I just made a youtube video: https://www.youtube.com/watch?v=-AWJv6XUp7Y.
This isn’t an issue with the checkpoints but rather the way they’re facing, the player spawns facing the direction of the checkpoint’s front surface.
Yea, I think I meant that. By bad. But how do you fix it?
I imagine you would have to rotate them manually since there’s no way of telling which direction you want them to face. If for some reason you spam cloned them and they’re facing the same direction you could probably rotate them by n degrees in the command bar.
I tried to turn the checkpoint but it still won’t work. It seems whenever a player spawns they are facing a certain direction.
You’re using SpawnLocations correct? If rotating them doesn’t affect the direction, do you have a script that is moving them to the spawn? I can’t think of any other reason why rotating them wouldn’t work unless they were being affected by something else.
No I am making my own checkpoints. Then in serverscriptservice I have a script that spawns you at a certain checkpoint.
Can you post the code so I can see where the issue is?
game.Players.PlayerAdded:Connect(function(player)
local PlayerStats = Instance.new(“Folder”)
PlayerStats.Name = “PlayerStats”
PlayerStats.Parent = player
local Stage = Instance.new(“IntValue”)
Stage.Name = “Stage”
Stage.Value = 1
Stage.Parent = PlayerStats
local Tokens = Instance.new(“IntValue”)
Tokens.Name = “Token”
Tokens.Value = 0
Tokens.Parent = PlayerStats
repeat wait() until script.savestage
player.CharacterAdded:Connect(function(Player)
repeat wait() until player.Character ~= nil
local stage = workspace.Stages:FindFirstChild(Stage.Value)
Player:WaitForChild(“HumanoidRootPart”).CFrame = CFrame.new(stage.PrimaryPart.Position + Vector3.new(0,3,0))
end)
end)
You’re not using the current CFrame
of the Stage
’s PrimaryPart
which means you will not spawn facing the LookVector
of the PrimaryPart
. A CFrame
is a collection of a Position
and a Rotation
.
So if you set the HumanoidRootPart
’s CFrame
to that of the PrimaryPart
it will have the same rotation.
Try this,
Player:WaitForChild("HumanoidRootPart").CFrame = stage.PrimaryPart.CFrame * CFrame.new(0, 3, 0)
This fix is assuming that you have properly rotated all of the spawns though.
YES IT WORKS. Thank you so much.