Rapid changing Announcement fix

I want the announcements to rotate slower but they chance every 0.001 seconds

[lua]
function hud()

local client = LocalPlayer()

local x = math.fmod(SysTime() * Multiplier, Wid)
local w,h = surface.GetTextSize(Announcement)

Multiplier = 50
Wid = ScrW()

Announcements = {
"Smooth Build Server is still under developement, report any bugs to admins!",
"This HUD was developed by ProfessorSpaceBacon!, Go say hi to him!",
"Have any suggestions? Add ProfessorSpaceBacon and tell him!",
"ssHud Version 2.00 Alpha Build"
}	

timer.Simple(5, function()
	Picked = Announcements[math.random(1,4)]
end)

...

draw.RoundedBox(0, 0, ScrH()/1.025, ScrW(), 30, Color(0,0,0,200))

if x+w > Wid then
	draw.DrawText(Picked,"Trebuchet18",((x + w - Wid) * -1),ScrH()/1.025,Color(255,255,255,255),2)
end
draw.DrawText(Picked,"Trebuchet18",math.fmod(SysTime() * Multiplier, Wid),ScrH()/1.025,Color(255,255,255,255),0)

end

[/lua]

That’s because you are making crapload of timers.

Im new to coding sorry but can you reword what you said?

-edit-

by that i mean i only recognize one timer and thats the timer.Simple

-edit-
i realized what you meant and moved the timer out of the hud functions now everything is working :slight_smile:

Rewording what Netheous said, you’re making a shit tonne of timers.

Since you have draw functions in here I’m going to assume you’re putting this in a draw hook. Now draw hooks run every frame that the screen is being drawn. E.g 60fps, its drawn 60 times in a second. Thismeans its called 60 times a second, which is creating 60 timers per second. You’ll want to look into using CurTime when dealing hooks that are called like this.

now that this is solved
can you judge my HUD