Countdown Events

Does anyone here know how to make like Countdown for events(not only 1 event), so the events repeated every 3 hours, there are 3 events, So in the surface gui there will be 3 events countdown, so after the first event finish, it will be on the below again repeating, the second one gonna be on the top,

So like 3 events , event a, b and c
It will start the countdown like
Event A [1:00:00]
Event B [2:00:00]
Event C [3:00:00]
It will countdown for until Event A become 0:00:00 and the text also change for minutes and seconds and become
Event B [1:00:00]
Event C [2:00:00]
Event A [3:00:00]
And last, the same process , until event B becomes 0:00:00 , moves to event C as the top and event A becoming the second
Event C [1:00:00]
Event A [2:00:00]
Event B [3:00:00]

And repeating again from the first time
Format : Event Name [hours:minutes:seconds]

With surface gui on a part

Well Usually I see Live Events but using like when the date to that event , but I want Live Events repeating every 3 hours

this requires you to at least know how UDIM2 works and be a competent scriptor

yeah so you need to have the time until the event stored as variables you could do this with tables index 1 being hours, index 2 being minutes and index 3 being seconds and then each second deduct 1 from the seconds and if the seconds is 0 deduct 1 from the minutes and set seconds back to sixt and if minutes is 0 deduct one from hours and then set minutes back to sixty (basically just to manage time until next event) and when a time until event variable has all indexes equal to zero fire that event and then set its values back to 3,0,0.

now for ordering the events on the SurfaceGUI. at the start of running the script you could compare each of the time until variables and then whichever one is the lowest put at the top so its UDIM position will be (0,0,0,0) (granted the anchor point hasnt been moved) and then the next biggest one will have UDIM2 (0,0,.3,0) etc etc.