So this is in a game script I am making for a game. For some reason, it only works once in the beginning of the first round, but won't work in the second round.
Output gave me nothing and I have no idea what is the problem. Can someone please help me? Here's the script:
--[[ All of the variables and such are defined. I will only be posting the ones that I suspect are part of this issue. --]] local back = game.ServerStorage:WaitForChild("BackUp") local clone = back:clone() local time2remove = game.Workspace:WaitForChild("Item") function Respawn() time2remove:destroy() wait(0.01) clone.Parent = game.Workspace clone.Name = "Item" end while wait() do if NewGameMustStart.Value == true then NewGameMustStart.Value = false msg.Parent = game.Workspace msg.Text = "Welcome!" wait(3) msg.Text = "A new game is beginning! Sit tight!" wait(3) msg.Text = "Game Beginning!" wait(2) Respawn() GameOn.Value = true msg:destroy() end end --- There's more to this script, but I'm only posting the parts that matter in this issue.
You never set NewGameMustStart.Value
back to true
. You set it to false in the beginning, but then at the end of the script, you changed GameOn.Value
to true
. Since NewGameMustStart.Value
is left at false
, the condition statement is false and the loop never runs a second time.