-- Настройки
local Lighting = game:GetService("Lighting")
local dayDuration = 3 * 60 -- Продолжительность дня в секундах (3 минуты)
local nightDuration = 10 * 60 -- Продолжительность ночи в секундах (10 минут)
local transitionTime = 10 -- Время на плавный переход в секундах
-- Функция для плавного изменения времени суток
local function lerpTimeOfDay(start, finish, duration)
local startTime = tick()
while tick() - startTime < duration do
local elapsed = tick() - startTime
local progress = elapsed / duration
local currentTime = start + (finish - start) * progress
Lighting.ClockTime = currentTime
wait(0.1) -- Плавное обновление
end
Lighting.ClockTime = finish -- Обновляем на конечное значение
end
-- Главный цикл дня и ночи
while true do
-- Ночь (от 18:00 до 6:00)
lerpTimeOfDay(18, 6, transitionTime)
wait(nightDuration)
-- День (от 6:00 до 18:00)
lerpTimeOfDay(6, 18, transitionTime)
wait(dayDuration)
end
local dayDuration = 3 * 60 -- 3 минуты
local nightDuration = 10 * 60 -- 10 минут
local transitionTime = 30 -- время перехода (в секундах)
-- Функция для плавного изменения времени
local function transitionTimeOfDay(targetTime)
local startTime = game.Lighting.ClockTime
local elapsedTime = 0
while elapsedTime < transitionTime do
elapsedTime = elapsedTime + wait(1)
local alpha = elapsedTime / transitionTime -- Пропорция времени
game.Lighting.ClockTime = startTime + (targetTime - startTime) * alpha
end
game.Lighting.ClockTime = targetTime -- Устанавливаем конечное время
end
while true do
-- Ночь
transitionTimeOfDay(0) -- Устанавливаем ночь (0:00)
wait(nightDuration)
-- Переход в день
transitionTimeOfDay(12) -- Устанавливаем день (12:00)
-- День
wait(dayDuration)
-- Переход в ночь
transitionTimeOfDay(0) -- Возвращаемся к ночи (0:00)
end