Skip to main content

traceless.engine

Camera coordinates are world-space values, angles are degrees, and engine times are seconds except timestamp. Availability is specified per function.

camera_angles​

traceless.engine.camera_angles([pitch, yaw])

Returns: pitch, yaw when reading; none when writing; nil without client input.

Pass both numeric pitch and yaw to set the view angles; existing roll is preserved. With fewer than two arguments it reads instead. The unavailable result is a single nil, without a reason.

camera_position​

traceless.engine.camera_position()

Returns: x, y, z numbers.

Returns the current cached render origin. It does not validate readiness, so values can reflect the last rendered frame.

eye_position​

traceless.engine.eye_position()

Returns: x, y, z numbers; or nil.

Reads the local pawn eye position; a missing local pawn returns a single nil.

latency​

traceless.engine.latency()

Returns: number.

Network-channel latency in seconds; returns 0 when the channel is unavailable.

screen_size​

traceless.engine.screen_size()

Returns: width, height integers.

Returns current renderer screen dimensions in pixels.

timestamp​

traceless.engine.timestamp()

Returns: number.

High-resolution monotonic counter in milliseconds, suitable for elapsed-time comparisons. This is not Unix time.

system_time​

traceless.engine.system_time()

Returns: hour, minute, second, millisecond integers.

Windows local wall-clock time on the client, not server time.

unix_time​

traceless.engine.unix_time()

Returns: number.

Whole seconds since the Unix epoch, from the client system clock.

random_int​

traceless.engine.random_int(min, max)

Returns: integer.

Inclusive integer range. Raises an error if max is below min.

random_float​

traceless.engine.random_float(min, max)

Returns: number.

Computes min + (max - min) * u with u in [0, 1). Unlike random_int, it does not reject reversed bounds.

reload_scripts​

traceless.engine.reload_scripts()

Returns: none.

Queues reload of active scripts. If called during dispatch, the runtime applies pending work after safe callback completion; references owned by replaced instances become invalid.

absolute_frame_time​

traceless.engine.absolute_frame_time()

Returns: number.

Absolute engine frame duration in seconds; 0 when globals are unavailable.

current_time​

traceless.engine.current_time()

Returns: number.

Engine current time in seconds; 0 when globals are unavailable.

frame_count​

traceless.engine.frame_count()

Returns: integer.

Engine frame counter; 0 when globals are unavailable.

frame_time​

traceless.engine.frame_time()

Returns: number.

Engine frame duration in seconds; 0 when globals are unavailable.

max_players​

traceless.engine.max_players()

Returns: integer.

The client's MAX_PLAYER_COUNT constant, not an active-player count.

real_time​

traceless.engine.real_time()

Returns: number.

Engine real time in seconds; 0 when globals are unavailable.

tick_count​

traceless.engine.tick_count()

Returns: integer.

Engine client tick counter; 0 when globals are unavailable.

tick_interval​

traceless.engine.tick_interval()

Returns: number.

The client's TICK_INTERVAL constant in seconds.

local traceless = require("traceless")
local x, y, z = traceless.engine.eye_position()
if x then traceless.console.info("Eye: ", x, ", ", y, ", ", z) end