local u=-5 local q=script.Parent local h=q.Face local S=q.Hour local Y=q.Minute local p=q.Second local t=86400 function rotateClockHand(u,q)local S=((h.CFrame*CFrame.Angles(math.pi/2,0,0)).lookVector*h.Size.Y)/2.5 u.CFrame=h.CFrame*CFrame.Angles(0,-q,0)+S u.CFrame=u.CFrame-(u.CFrame.lookVector*u.Size.Z)/2 end while true do local q=math.fmod(tick(),t)local h=(math.floor(q/3600)+5)+u local e=math.floor(q/60-60*h)local j=math.floor(math.fmod(q,60))rotateClockHand(S,h*(math.pi/6)+e*(math.pi/500))rotateClockHand(Y,e*(math.pi/30))rotateClockHand(p,j*(math.pi/30))wait(.1)end
-- Ganondude

local time_zone = -5 -- Time zone, offset from GMT.

local clock = script.Parent
local face = clock.Face
local hour_hand = clock.Hour
local minute_hand = clock.Minute
local second_hand = clock.Second

local secondsInDay = 60 * 60 * 24

function rotateClockHand(hand, rotation)
	local lv = (face.CFrame * CFrame.Angles(math.pi / 2, 0, 0)).lookVector * face.Size.Y / 2.5

	hand.CFrame = face.CFrame * CFrame.Angles(0, -rotation, 0) + lv
	hand.CFrame = hand.CFrame - hand.CFrame.lookVector * hand.Size.Z / 2
end

while true do
	local tick = math.fmod(tick(), secondsInDay)

	local hour = math.floor(tick / 3600) + 5 + time_zone
	local minute = math.floor(tick / 60 - 60 * hour)
	local second = math.floor(math.fmod(tick, 60))

	rotateClockHand(hour_hand, hour * (math.pi / 6) + minute * (math.pi / 500))
	rotateClockHand(minute_hand, minute * (math.pi / 30))
	rotateClockHand(second_hand, second * (math.pi / 30))

	wait(0.1)
end
