I have a intremission and round system and I'm trying to make it so when it is intermission, the player respawns in the spawn point called lobby, but if you are in the game, then you respawn in the spawn point Main. But I keep on spawning in lobby for some reason. I have my script in a loop that keeps on checking if my string value called status is Intermission or not.
game.Players.PlayerAdded:Connect(function(player) local admin = game.ReplicatedStorage.Status.Value while true do if admin == "Intermission" then player.RespawnLocation = game.Workspace.Lobby else player.RespawnLocation = game.Workspace.Main end wait(0.5) end end)
Please help!!!
game.Players.PlayerAdded:Connect(function(player) local admin = game.ReplicatedStorage.Status while true do if admin.Value == "Intermission" then player.RespawnLocation = game.Workspace.Lobby else player.RespawnLocation = game.Workspace.Main end wait(0.5) end end)
Hello!
According to your script, the admin
stringvalue you got the value from, is obtained at the beginning of the script, therefore not changing, ever.
A fix to this, is to instead replace it with:
local admin = game.ReplicatedStorage.Status
and replace the first line in the while true do
loop, with:
if admin.Value == "Intermission" then
which is exactly what scripterhelper5354 here fixed. However, he did not explain what went wrong.
Anyways, if you have any questions, write them below!
I hope this helps!