Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Timer = {}
- Timer.__index = Timer
- function Timer.new()
- local self = setmetatable({}, Timer)
- self:reset()
- return self
- end
- function Timer:start()
- self.startTime = os.time()
- self.startDay = os.day()
- self.endTime = nil
- self.endDay = nil
- end
- function Timer:stop()
- self.endTime = os.time()
- self.endDay = os.day()
- self.elapsedDay = self.endDay - self.startDay
- if self.elapsedDay == 0 then
- self.elapsedTime = (self.endTime - self.startTime) / 0.02
- else
- local timeToMidnight = (24.0 - self.startTime) / 0.02 -- Time from start to 00:00 of the next day
- local timeFromMidnight = self.endTime / 0.02 -- Time from 00:00 to end time
- local fullDaysTicks = (self.elapsedDay - 1) * 24.0 -- Full days in ticks
- self.elapsedTime = timeToMidnight + timeFromMidnight + (fullDaysTicks / 0.02)
- end
- end
- function Timer:reset()
- self.startTime = nil
- self.startDay = nil
- self.endTime = nil
- self.endDay = nil
- self.elapsedDay = nil
- self.elapsedTime = nil
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement