Ad
Log in to vote
0

Why won't I respawn in the correct place?

Asked by
Xyternal 218 Moderation Voter
11 months ago

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!!!

2 answers

Log in to vote
2
Answered by 11 months ago
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)

0
Isn't that the same thing??? Xyternal 218 — 11mo
0
i dont see the difference Xyternal 218 — 11mo
0
admin.Value instead of admin scripterhelper5354 854 — 11mo
0
if admin.Value == "Intermission" then scripterhelper5354 854 — 11mo
View all comments (5 more)
0
yeah, but I had already done admin = game.ReplicatedStorage.Status.Value Xyternal 218 — 11mo
0
So there isn't a difference in my mind. Did you test it? Xyternal 218 — 11mo
0
you left ;-; Xyternal 218 — 11mo
0
Your answer is great, but you did not explain what went wrong. I will cover that in my own answer. RAFA1608 544 — 11mo
0
But this script, broke my other script. The other script also uses the Status string value. How do i fix that Xyternal 218 — 11mo
Ad
Log in to vote
1
Answered by
RAFA1608 544 Moderation Voter
11 months ago
Edited 11 months ago

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!

0
Thank you for clarifying! Xyternal 218 — 11mo

Answer this question