Make a clock that spins very fast

I wanted to know if anyone knew how to make a clock spin very fast instead of just going off of real time? I cant find any kind of free model that does that! here the premade script. Can i edit this to make it spin crazy fast? or can anyone design a new one?

`local hours, minutes = string.match(game.Lighting.TimeOfDay, “^(%d%d):(%d%d)”)
script.Parent.HourHand.CFrame = script.Parent.HandCenter.CFrame * CFrame.Angles(math.pi/2, 0, 0) * CFrame.Angles(0, 0, math.rad(hours * 30)) * CFrame.new(0, 0.2, 0)
script.Parent.MinuteHand.CFrame = script.Parent.HandCenter.CFrame * CFrame.Angles(math.pi/2, 0, 0) * CFrame.Angles(0, 0, math.rad(minutes * 6)) * CFrame.new(0, 0.3, 0)

game.Lighting.Changed:connect(function()
local hours, minutes = string.match(game.Lighting.TimeOfDay, “^(%d%d):(%d%d)”)
script.Parent.HourHand.CFrame = script.Parent.HandCenter.CFrame * CFrame.Angles(math.pi/2, 0, 0) * CFrame.Angles(0, 0, math.rad((hours * 30)+ (minutes * 0.5))) * CFrame.new(0, 0.2, 0)
script.Parent.MinuteHand.CFrame = script.Parent.HandCenter.CFrame * CFrame.Angles(math.pi/2, 0, 0) * CFrame.Angles(0, 0, math.rad(minutes * 6)) * CFrame.new(0, 0.3, 0)
end)
`

2 Likes

i do think its possible i just dont understand the math

So instead of it being based on the game’s time you want it to just spin out of control for no appearant reason influencing how fast it’s going?

I might be able to help you with that, this might take a second to type out since I’m on mobile.

alright thank you. Sounds good

this is pretty crazy, but I don’t know if it’s what you’re looking for

local TweenService = game:GetService("TweenService")

local hours, minutes = string.match(game.Lighting.TimeOfDay, "^(%d%d):(%d%d)")
script.Parent.HourHand.CFrame = script.Parent.HandCenter.CFrame * CFrame.Angles(math.pi/2, 0, 0) * CFrame.Angles(0, 0, math.rad(hours * 30)) * CFrame.new(0, 0.2, 0)
script.Parent.MinuteHand.CFrame = script.Parent.HandCenter.CFrame * CFrame.Angles(math.pi/2, 0, 0) * CFrame.Angles(0, 0, math.rad(minutes * 6)) * CFrame.new(0, 0.3, 0)

game.Lighting.Changed:connect(function()
	local hours, minutes = string.match(game.Lighting.TimeOfDay, "^(%d%d):(%d%d)")
	script.Parent.HourHand.CFrame = script.Parent.HandCenter.CFrame * CFrame.Angles(math.pi/2, 0, 0) * CFrame.Angles(0, 0, math.rad((hours * 30)+ (minutes * 0.5))) * CFrame.new(0, 0.2, 0)
	script.Parent.MinuteHand.CFrame = script.Parent.HandCenter.CFrame * CFrame.Angles(math.pi/2, 0, 0) * CFrame.Angles(0, 0, math.rad(minutes * 6)) * CFrame.new(0, 0.3, 0)
end)

local tweenInfo = TweenInfo.new(20 ,Enum.EasingStyle.Bounce, Enum.EasingDirection.InOut, -1, true)
local tween = TweenService:Create(game.Lighting, tweenInfo, {ClockTime = 24})
tween:Play()

local Hours, Minutes = 0, 0
while wait() do -- wait() is how fast it goes, setting it to 1 would be normal speed
  if Hours == 24 then 
	Hours = 0 
  end
  if Minutes == 60 then
	Hours = Hours + 1
	Minutes = 0	
  end
  script.Parent.HourHand.CFrame = script.Parent.HandCenter.CFrame * CFrame.Angles(math.pi / 2, 0, 0) * CFrame.Angles(0, 0, math.rad((Hours * 30) + (Minutes * .5))) * CFrame.new(0, .2, 0)
  script.Parent.MinuteHand.CFrame = script.Parent.HandCenter.CFrame * CFrame.Angles(math.pi / 2, 0, 0) * CFrame.Angles(0, 0, math.rad(Minutes * 6)) * CFrame.new(0, .3, 0)
end

This makes it spin quickly without setting the time itself.

ok that works! thank you! but i just realized I cant make my clock bigger! the entire point is i need a absolutely huge clock spinning very fast in the sky. Anyone know how to do that?

Try rescaling the model as a whole? It seems like it uses the same CFrame math either way

How can i do this all 3 sides at same time

Instead of doing CFrame.new(0, .2, 0), you would do the minute/hour hand’s SizeX / 2, or whichever side length is 0.4/0.6 to begin with

im very new to this how do i do that?

Well, I don’t know what your clock looks like, but maybe try something like this:

local Hours, Minutes = 0, 0
while wait() do -- wait() is how fast it goes, setting it to 1 would be normal speed
  if Hours == 24 then 
	Hours = 0 
  end
  if Minutes == 60 then
	Hours = Hours + 1
	Minutes = 0	
  end
  script.Parent.HourHand.CFrame = script.Parent.HandCenter.CFrame * CFrame.Angles(math.pi / 2, 0, 0) * CFrame.Angles(0, 0, math.rad((Hours * 30) + (Minutes * .5))) * CFrame.new(0, script.Parent.HourHand.Size.X/2, 0)
  script.Parent.MinuteHand.CFrame = script.Parent.HandCenter.CFrame * CFrame.Angles(math.pi / 2, 0, 0) * CFrame.Angles(0, 0, math.rad(Minutes * 6)) * CFrame.new(0, script.Parent.MinuteHand.Size.X/2, 0)
end
1 Like

i actually am now using another code that analyzes the game time! here is the new code! local hours, minutes = string.match(game.Lighting.TimeOfDay, “^(%d%d):(%d%d)”)
script.Parent.HourHand.CFrame = script.Parent.HandCenter.CFrame * CFrame.Angles(math.pi/2, 0, 0) * CFrame.Angles(0, 0, math.rad(hours * 30)) * CFrame.new(0, 0.2, 0)
script.Parent.MinuteHand.CFrame = script.Parent.HandCenter.CFrame * CFrame.Angles(math.pi/2, 0, 0) * CFrame.Angles(0, 0, math.rad(minutes * 6)) * CFrame.new(0, 0.3, 0)

game.Lighting.Changed:connect(function()
local hours, minutes = string.match(game.Lighting.TimeOfDay, “^(%d%d):(%d%d)”)
script.Parent.HourHand.CFrame = script.Parent.HandCenter.CFrame * CFrame.Angles(math.pi/2, 0, 0) * CFrame.Angles(0, 0, math.rad((hours * 30)+ (minutes * 0.5))) * CFrame.new(0, 0.2, 0)
script.Parent.MinuteHand.CFrame = script.Parent.HandCenter.CFrame * CFrame.Angles(math.pi/2, 0, 0) * CFrame.Angles(0, 0, math.rad(minutes * 6)) * CFrame.new(0, 0.3, 0)
end)

how can i make this clock bigger?

also this is the clock id 340197716