Most efficient way to update a value to the clients GUI for a timer system?

Hello, DevForum!

For my speedrunning based game, I created a timer system, but there is a problem. When a player starts, a timer appears at the top of their screen which displays their time. The actual timing is handled on the server, and the server is updating a StringValue with the correct time.

The client uses .Changed on the value to update the text, but sometimes when the course ends, the time displayed in the output (from the server) is one second ahead of the displayed time on the client.

This method is also not that clean, and skips numbers & jumps around, but I can’t think of any way to get this data from the server to the client in a 10th of a second update time

TLDR: Need an efficient way of sending a value from the server & updating a GUI on the client in a 10th of a second update time constantly

Use Events, Bindable Events and Functions | Roblox Creator Documentation
In a particular use remote events.
This would be easier to explain if I could see the script but here’s an explanation

Every time the number rises on the server script fire a client event over to a local script and have the local script also add the time

Your saying fire a remote event every 10th of a second for every player in the server on that course? That seems really bad…

Any other suggestions?

You can have an Attribute/Value somewhere which is changed on the server, and the client listens for that change as opposed to firing remote events constantly.

I’ve tried Values, but what ends up happening is