So I have this day/night script and a GUI in my game that displays the TimeOfDay in a TextLabel. The day/night script works in both studio and server mode, but the GUI only works in studio mode - in server mode, the text remains as "08:00 am" despite the time passing.
Day/night script (server script placed in Workspace)
DAY_TIME_IN_MIN = 24 -- I set this to 24 so that each minute in game = 1 second real time
local dhour = 8 -- starts at 08:00
local dmin = 0
while true do
wait(DAY_TIME_IN_MIN/24)
dmin = dmin + 1
if dmin >= 60 then
dmin = 0
dhour = dhour + 1
if dhour >= 24 then
dhour = 0
end
end
game.Lighting.TimeOfDay = dhour..":"..dmin
end
Script that updates the player's GUI according to TimeOfDay (server script placed in ServerScriptService)
game.ReplicatedStorage:WaitForChild("DayNight")
game.ReplicatedStorage.DayNight.OnServerEvent:connect(function(Player)
print("started")
while true do
wait()
if (tonumber(string.sub(game.Lighting.TimeOfDay,1,2))) == 12 then
Player.PlayerGui.ScreenGui.Frame.TextLabel.Text =
(tonumber(string.sub(game.Lighting.TimeOfDay, 1, 2))) ..
string.sub(game.Lighting.TimeOfDay, 3, 5) .. " pm"
elseif (tonumber(string.sub(game.Lighting.TimeOfDay,1,2))) == 00 then
Player.PlayerGui.ScreenGui.Frame.TextLabel.Text =
(tonumber(string.sub(game.Lighting.TimeOfDay, 1, 2)) + 12) ..
string.sub(game.Lighting.TimeOfDay, 3, 5) .. " am"
elseif (tonumber(string.sub(game.Lighting.TimeOfDay,1,2))) > 12 then
Player.PlayerGui.ScreenGui.Frame.TextLabel.Text =
(tonumber(string.sub(game.Lighting.TimeOfDay, 1, 2)) - 12) ..
string.sub(game.Lighting.TimeOfDay, 3, 5) .. " pm"
elseif (tonumber(string.sub(game.Lighting.TimeOfDay,1,2))) < 12 then
Player.PlayerGui.ScreenGui.Frame.TextLabel.Text =
tonumber(string.sub(game.Lighting.TimeOfDay, 1, 2)) ..
string.sub(game.Lighting.TimeOfDay, 3, 5) .." am"
end
end
end)
Script that fires a RemoteFunction called DayNight (this is a localscript placed in StarterGui)
game.ReplicatedStorage.DayNight:FireServer()
I tested the GUI script by adding
print("works")
in the GUI script when the event is fired, which the statement gets outputted in the server log -so I'm a bit confused why the TextLabel doesn't display TimeOfDay correctly...

5 comments
I'm using RemoteEvent which is called DayNight, placed in ReplicatedStorage
Ok
Read my edits.
Don't worry it's fixed. Thanks anyway
Please close your question if it's fixed.