Okay, so I made a timer script that tells a GUI what the timer is at. It first counts down from 25 (intermission), then counts down from 180(gametime). But if someone joins, the GUI will not appear the same on every single screen. If your screen GUI said 22, I want everyone else's to say 22 as well. But if someone joined later it would restart at 25. If this makes any sense, please help?
You can create IntValue object somewhere accessable for server and local scripts, and when this value changes, write it on GUI
So you would have LocalScript in SurfaceGui which detects when that value was changed:
local Value = --Your IntValue object here local Text = --Your TextLabel or something that shows text Value.Changed:connect(function() --Detecting when IntValue was changed Text.Text = Value.Value --Changing Text of our GUI end)