os.time
Available since update 0.1.4, BUILD126 (in development). Available in both client and server resource scripts with the corresponding updated binary. The public release remains 0.1.3.
Returns the current host's wall-clock time as Unix seconds. This is a deliberately restricted function, not access to Lua's full operating-system library.
Syntax
local timestamp = os.time()
Parameters and return value
No parameters are accepted. Returns an integer-valued Lua number: seconds since the Unix epoch (1970-01-01 UTC). Passing any argument, including nil or a date table, raises a Lua error. Standard Lua's os.time(table) overload is not supported.
Example: ordinary random choices
Seed once when the resource starts, not before every random draw:
math.randomseed(os.time())
local roll = math.random(1, 100)
outputDebugString("Roll: " .. roll)
This is not cryptographically secure randomness. Resources seeded in the same second may produce the same sequence. Do not use it for passwords, authentication tokens or security-sensitive identifiers.
Sandbox and clock behaviour
- The host creates a fresh resource-local
ostable containing onlytime; it never opens the native OS library. os.execute,os.exit,os.getenv,os.remove,os.rename,os.tmpname,os.setlocaleand all other OS-library functions remain unavailable.- Filesystem, process execution, native module loading and Lua bytecode restrictions remain in place. See Scripting limits.
- This is not the in-game time. The client reads its own computer clock; the server reads its own host clock. Client timestamps are not authoritative or automatically synchronized.
- Wall-clock adjustments can move this value forwards or backwards. Use getTickCount for elapsed-time measurement.
- Public 0.1.3 and earlier development builds do not expose this function; an updated script alone does not enable it.