This script will work only once, then it doesn't work anymore. The "RedBall" string changes correctly every time. It's something to do with the looping, it only does it once.
while true do wait() if game.ReplicatedStorage.RedBall.Value=="true" then wait() local newItem = game.ReplicatedStorage.Football:Clone() newItem.Handle.CFrame = CFrame.new(-189.549, 1.8, -37.55) newItem.Parent = workspace newItem.Football.Name = "Handle" wait(4) game.ReplicatedStorage.RedBall.Value = "false" end end
You check if the redball's value is "true", but at the end of the if set it's value to "false", meaning that in the next iteration of the loop, the if statement is now false so it won't execute, so it seems like it's "stopped looping" when it is still looping, it's just the check isn't succeeding.
Until you change the value of RedBall to "true" again the loop will infinitely skip over the if statement.