Мне было интересно, нужно ли было что-то сделать, чтобы изменить текст GUI в середине игры. Потому что моя проблема в том, что я делаю таймер, который проходит через «Идет раунд», «Игра окончена», «Перерыв», «Идет голосование», а затем повторяется до бесконечности. Но сам текст застревает на Round In Progress. На протяжении всего таймера текстовое значение в свойствах метки меняется, но текст на экране не меняется GUI
Я каждый раз меняю текст одним и тем же методом:
status.Text = "Game over"
тогда у меня будет таймер go около 5 секунд, прежде чем я снова его изменю:
status.Text = "Intermission"
И так далее в al oop ...
Это весь код:
local rep = game:GetService("ReplicatedStorage")
local players = game:GetService("Players")
local minutesvalue = rep:WaitForChild("Minutes")
local secondsvalue = rep:WaitForChild("Seconds")
local minutes = 0 --minutes
local seconds = 11 --seconds
local status = game.StarterGui.Status:WaitForChild("Status")
while true do
status.Text = "Round In Progress"
minutesvalue.Value = minutes
secondsvalue.Value = seconds
repeat
if secondsvalue.Value <= 0 then
minutesvalue.Value = minutesvalue.Value - 1
secondsvalue.Value = 59
else
secondsvalue.Value = secondsvalue.Value - 1
end
wait(1)
until secondsvalue.Value <= 0 and minutesvalue.Value <= 0
status.Text = "Game Over!"
wait(5)
status.Text = "Intermission"
secondsvalue.Value = 15
repeat
secondsvalue.Value = secondsvalue.Value - 1
wait(1)
until secondsvalue.Value <= 0 and minutesvalue.Value <= 0
status.Text = "Voting In Progress"
secondsvalue.Value = 10
repeat
secondsvalue.Value = secondsvalue.Value - 1
wait(1)
until secondsvalue.Value <= 0 and minutesvalue.Value <= 0
status.Text = "Loading Map..."
end
Таймер и статус являются отдельными графическими интерфейсами. Я разделил его в надежде, что это сработает, но не вышло.