Scripting HelpersARCHIVE
A little piece of Roblox history. Preserved for everyone, one question at a time.Read about the archive →
✓ ANSWER ACCEPTED

Loop of a script related to game time not working?

Greetings. I've a script that shows a virtual time in a game, but it doesn't work. The script is this:

-- [Time]

local HoursD = script.Parent.Hours.HoursD.Value
local HoursU = script.Parent.Hours.HoursU.Value
local MinutesD = script.Parent.Minutes.MinutesD.Value
local MinutesU = script.Parent.Minutes.MinutesU.Value
local SecondsD = script.Parent.Seconds.SecondsD.Value
local SecondsU = script.Parent.Seconds.SecondsU.Value
local TimeLabel = script.Parent.Text

-- [Loop]

while true do
	SecondsU = SecondsU + 1
	wait(1)
	TimeLabel = HoursD..HoursU..":"..MinutesD..MinutesU..":"..SecondsD..SecondsU
	print(HoursD,HoursU,MinutesD,MinutesU,SecondsD,SecondsU)
	if SecondsU == 9 then
		wait(1)
		SecondsU = 0
		SecondsD = SecondsD + 1
		TimeLabel = (HoursD..HoursU..":"..MinutesD..MinutesU..":"..SecondsD..SecondsU)
	end
	if SecondsD == 5 and SecondsU == 9 then
		wait(1)
		SecondsU,SecondsD = 0
		MinutesU = MinutesU + 1
		TimeLabel = (HoursD..HoursU..":"..MinutesD..MinutesU..":"..SecondsD..SecondsU)
	end
	if MinutesU == 9 then
		MinutesU = 0
		MinutesD = MinutesD + 1
		TimeLabel = (HoursD..HoursU..":"..MinutesD..MinutesU..":"..SecondsD..SecondsU)
	end
	if MinutesD == 5 and MinutesU == 9 and SecondsD == 5 and SecondsU == 9 then
		MinutesD,MinutesU = 0
		HoursU = HoursU + 1
		TimeLabel = (HoursD..HoursU..":"..MinutesD..MinutesU..":"..SecondsD..SecondsU)
	end
	if HoursU == 9 then
		HoursU = 0
		HoursD = HoursD + 1
		TimeLabel = (HoursD..HoursU..":"..MinutesD..MinutesU..":"..SecondsD..SecondsU)
	end
	if HoursD == 2 and HoursU == 3 and MinutesD == 5 and MinutesU == 9 and SecondsD == 5 and SecondsU == 9 then
		HoursD = 0
		HoursU = 0
		MinutesD = 0
		MinutesU = 0
		SecondsD = 0
		SecondsU = 0
		TimeLabel = (HoursD..HoursU..":"..MinutesD..MinutesU..":"..SecondsD..SecondsU)
	end
end

But, when I start the game, the loop isn't starting: The textlabel remains as 00:00:00, and I don't see anything in the output. How can I solve it?

1 comment

0

what am I looking at ._.

1 answer

✓ Accepted answer

The problem is that the Variable "TimeLabel" is set to script.Parent.Text. So by doing TimeLabel = (HoursD..HoursU..":"..MinutesD..MinutesU..":"..SecondsD..SecondsU) You are setting the Variable. Instead do local TimeLabel = script.Parent and change the Text using TimeLabel.Text = (HoursD..HoursU..":"..MinutesD..MinutesU..":"..SecondsD..SecondsU)

1 comment

0

oh, ok

This discussion is preserved as it was. New answers, comments, and votes are closed.