Сделать это легко. Но мы чуть усложним добавив Tween. Будет приятней для глаз. И зададим некоторые параметры.
Для начала немножко теории. За время суток отвечает Lighting сервис. В котором нам надо просто устанавливать новое время суток. В простейшем случае это можно сделать в цикле. Но мы то уже решили, что этим будет заниматься твин.

-- Плавная смена дня и ночи
-- параметры
local DayTimer = 1 -- минут реального времени
----------------------------------------------------------------------------------
local timeChange = DayTimer * 60 -- минут*секунд -- время в реале
local light = game.Lighting
light.ClockTime = 0
local TweenService = game:GetService("TweenService") -- подключение сервиса
local tweenInfo = TweenInfo.new(-- указываем параметры
timeChange, -- Time
Enum.EasingStyle.Linear, -- EasingStyle (стиль расчётов)
Enum.EasingDirection.In, -- EasingDirection (направление расчётов)
-1 -- RepeatCount (отрицательное значение заставляет повторять бесконечно)
)
local result = {ClockTime = 24} -- указываем массив результатов
local tween = TweenService:Create(light, tweenInfo, result)-- создаём собственно сам твин
tween:Play() -- запускаем его на исполнение
Результат достойный. К тому же наш скрипт отработает и… дальше всем будет заниматься TweenService. Никаких лишних нагрузок в виде циклов.
По факту мы получаем параллельное выполнение выполнение цикла смены дня и ночи от основного исполнения программы. Да ещё и максимально плавное.
Очень хороший сайт и хорошие советы!
Мне кажется коментарие чем то схожи с с++