local F=35 local u=F*60 local A=1440 local l=game:GetService("\076\105\103\104\116\105\110\103")local I=tick()-(l:getMinutesAfterMidnight()/A)*u local H=I+u local i=A/u if F==0 then F=1 end repeat local F=tick()if F>H then I=H H=I+u end l:setMinutesAfterMidnight((F-I)*i)wait(.066666666666667)until false
--This is in order for the ingame clock to work

local dayLength = 35 --you can adjust this (24-34 recommended)

local cycleTime = dayLength * 60
local minutesInADay = 24 * 60

local lighting = game:GetService("Lighting")

local startTime = tick() - (lighting:getMinutesAfterMidnight() / minutesInADay) * cycleTime
local endTime = startTime + cycleTime

local timeRatio = minutesInADay / cycleTime

if dayLength == 0 then
	dayLength = 1
end

repeat
	local currentTime = tick()

	if currentTime > endTime then
		startTime = endTime
		endTime = startTime + cycleTime
	end

	lighting:setMinutesAfterMidnight((currentTime - startTime) * timeRatio)
	wait(1 / 15)
until false
