Basically i wanted a timer correct to 3 Decimal places, to do this i had to use "BodyGyro" as "IntValue" doesn't allow decimals, The problem I'm having is that it doesn't seem to count up correctly meaning its time is completely off, I might be missing something obvious as it is late but i just cant figure it out, here is the script:
local Timer = game.Players.LocalPlayer.PlayerGui.Player_Cache.Timer
local GTime = game.Players.LocalPlayer.PlayerGui.Player_Cache.Timer.Time
while true do wait(0.001)
if Timer.Value == true then
GTime.D = GTime.D + 0.001
script.Parent.Text = string.format("%.3f", GTime.D)
end
end
Once again sorry if its obvious.

2 comments
Goodness gracious, don't use BodyGyro, just create a variable! Also, computers do a lot of things at once. You can never expect your code to yield an exact amount of time before resuming again -- it has other things to do!
waitis always an approximation, and it has a lower limit at nearly 0.03 seconds (depending on the environment). You achieve minimal time withwaitby passing no arguments.Yea i didn't know NumberValue was a thing and IntValue didn't allow decimals so i took whatever i got haha, thank you for your help!