2022-12-15 04:00:54 +00:00
|
|
|
---
|
2023-12-26 03:08:29 +00:00
|
|
|
title: Module hilbish.timers
|
2022-12-15 04:00:54 +00:00
|
|
|
description: timeout and interval API
|
|
|
|
layout: doc
|
|
|
|
menu:
|
|
|
|
docs:
|
|
|
|
parent: "API"
|
|
|
|
---
|
|
|
|
|
|
|
|
## Introduction
|
2022-12-28 23:33:44 +00:00
|
|
|
|
|
|
|
If you ever want to run a piece of code on a timed interval, or want to wait
|
|
|
|
a few seconds, you don't have to rely on timing tricks, as Hilbish has a
|
|
|
|
timer API to set intervals and timeouts.
|
|
|
|
|
|
|
|
These are the simple functions `hilbish.interval` and `hilbish.timeout` (doc
|
2023-12-26 03:08:29 +00:00
|
|
|
accessible with `doc hilbish`, or `Module hilbish` on the Website).
|
2022-12-28 23:33:44 +00:00
|
|
|
|
|
|
|
An example of usage:
|
2023-12-26 03:08:29 +00:00
|
|
|
```lua
|
2023-01-18 10:39:26 +00:00
|
|
|
local t = hilbish.timers.create(hilbish.timers.TIMEOUT, 5000, function()
|
2022-12-28 23:33:44 +00:00
|
|
|
print 'hello!'
|
|
|
|
end)
|
|
|
|
|
|
|
|
t:start()
|
2023-01-18 10:39:26 +00:00
|
|
|
print(t.running) // true
|
2022-12-28 23:33:44 +00:00
|
|
|
```
|
2022-12-15 04:00:54 +00:00
|
|
|
|
2023-01-18 10:39:26 +00:00
|
|
|
## Functions
|
2023-12-26 03:08:29 +00:00
|
|
|
|||
|
|
|
|
|----|----|
|
|
|
|
|<a href="#timers.create">create(type, time, callback) -> @Timer</a>|Creates a timer that runs based on the specified `time`.|
|
|
|
|
|<a href="#timers.get">get(id) -> @Timer</a>|Retrieves a timer via its ID.|
|
|
|
|
|
|
|
|
## Static module fields
|
|
|
|
|||
|
|
|
|
|----|----|
|
|
|
|
|INTERVAL|Constant for an interval timer type|
|
|
|
|
|TIMEOUT|Constant for a timeout timer type|
|
|
|
|
|
|
|
|
<hr>
|
|
|
|
<div id='timers.create'>
|
|
|
|
<h4 class='heading'>
|
|
|
|
hilbish.timers.create(type, time, callback) -> <a href="/Hilbish/docs/api/hilbish/hilbish.timers/#timer" style="text-decoration: none;" id="lol">Timer</a>
|
|
|
|
<a href="#timers.create" class='heading-link'>
|
|
|
|
<i class="fas fa-paperclip"></i>
|
|
|
|
</a>
|
|
|
|
</h4>
|
|
|
|
|
|
|
|
Creates a timer that runs based on the specified `time`.
|
|
|
|
|
|
|
|
#### Parameters
|
|
|
|
`number` **`type`**
|
|
|
|
What kind of timer to create, can either be `hilbish.timers.INTERVAL` or `hilbish.timers.TIMEOUT`
|
|
|
|
|
|
|
|
`number` **`time`**
|
|
|
|
The amount of time the function should run in milliseconds.
|
2023-01-18 10:39:26 +00:00
|
|
|
|
2023-12-26 03:08:29 +00:00
|
|
|
`function` **`callback`**
|
|
|
|
The function to run for the timer.
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<hr>
|
|
|
|
<div id='timers.get'>
|
|
|
|
<h4 class='heading'>
|
|
|
|
hilbish.timers.get(id) -> <a href="/Hilbish/docs/api/hilbish/hilbish.timers/#timer" style="text-decoration: none;" id="lol">Timer</a>
|
|
|
|
<a href="#timers.get" class='heading-link'>
|
|
|
|
<i class="fas fa-paperclip"></i>
|
|
|
|
</a>
|
|
|
|
</h4>
|
|
|
|
|
|
|
|
Retrieves a timer via its ID.
|
|
|
|
|
|
|
|
#### Parameters
|
|
|
|
`number` **`id`**
|
|
|
|
|
|
|
|
|
|
|
|
</div>
|
2023-01-18 10:39:26 +00:00
|
|
|
|
|
|
|
## Types
|
2023-12-26 03:08:29 +00:00
|
|
|
<hr>
|
|
|
|
|
2023-01-18 10:39:26 +00:00
|
|
|
## Timer
|
|
|
|
The Job type describes a Hilbish timer.
|
2023-12-26 03:08:29 +00:00
|
|
|
## Object properties
|
|
|
|
|||
|
|
|
|
|----|----|
|
|
|
|
|type|What type of timer it is|
|
|
|
|
|running|If the timer is running|
|
|
|
|
|duration|The duration in milliseconds that the timer will run|
|
|
|
|
|
2022-12-15 04:00:54 +00:00
|
|
|
|
2023-01-18 10:39:26 +00:00
|
|
|
### Methods
|
|
|
|
#### start()
|
2022-12-15 04:00:54 +00:00
|
|
|
Starts a timer.
|
|
|
|
|
2023-01-18 10:39:26 +00:00
|
|
|
#### stop()
|
2022-12-15 04:00:54 +00:00
|
|
|
Stops a timer.
|
|
|
|
|