Skip to main content

Utility API

The Utility API provides helper functions for logging, chat messages, movement, and other miscellaneous utilities.

All functions in this API are accessible through the alya.util table.

Logging and Chat

log

alya.util.log(message)

Logs a message to the console.

Parameters:

  • message (string) - The message to log

Example:

alya.util.log("Script initialized")

chatInfo

alya.util.chatInfo(message)

Sends an informational message to the in-game chat.

Parameters:

  • message (string) - The message to send

Example:

alya.util.chatInfo("Script is running")

chatError

alya.util.chatError(message)

Sends an error message to the in-game chat.

Parameters:

  • message (string) - The error message to send

Example:

alya.util.chatError("Failed to execute command")

Movement

setSpeed

alya.util.setSpeed(speed, strafe)

Sets the player's movement speed.

Parameters:

  • speed (number) - The speed value
  • strafe (boolean) - Whether to apply strafing movement

Example:

-- Set player speed to 0.5 with strafing
alya.util.setSpeed(0.5, true)

-- Set player speed to 0.3 without strafing
alya.util.setSpeed(0.3, false)

Time and Timing

currentTimeMillis

alya.util.currentTimeMillis()

Returns the current system time in milliseconds.

Returns:

  • number - The current time in milliseconds

Example:

local startTime = alya.util.currentTimeMillis()
-- Do some operations
local endTime = alya.util.currentTimeMillis()
local elapsedTime = endTime - startTime
alya.util.chatInfo("Operation took " .. elapsedTime .. " ms")

sleep

alya.util.sleep(milliseconds)

Pauses the script execution for the specified number of milliseconds.

Parameters:

  • milliseconds (number) - The number of milliseconds to sleep

Example:

alya.util.chatInfo("Waiting for 2 seconds...")
alya.util.sleep(2000)
alya.util.chatInfo("Done waiting!")

Random Number Generation

randomInt

alya.util.randomInt(min, max)

Generates a random integer between min and max (inclusive).

Parameters:

  • min (number) - The minimum value
  • max (number) - The maximum value

Returns:

  • number - A random integer between min and max

Example:

local randomNumber = alya.util.randomInt(1, 10)
alya.util.chatInfo("Random number: " .. randomNumber)

randomDouble

alya.util.randomDouble(min, max)

Generates a random floating-point number between min and max.

Parameters:

  • min (number) - The minimum value
  • max (number) - The maximum value

Returns:

  • number - A random floating-point number between min and max

Example:

local randomValue = alya.util.randomDouble(0.1, 0.5)
alya.util.chatInfo("Random value: " .. randomValue)

Usage Examples

Creating a Timer

local lastActionTime = alya.util.currentTimeMillis()
local actionInterval = 5000 -- 5 seconds

function onUpdate()
local currentTime = alya.util.currentTimeMillis()
if currentTime - lastActionTime >= actionInterval then
alya.util.chatInfo("Performing scheduled action")
-- Perform your action here
lastActionTime = currentTime
end
end

Random Delays

function performActionWithRandomDelay()
-- Perform first part of the action
alya.util.chatInfo("Starting action sequence")

-- Wait for a random time between 1 and 3 seconds
local delay = alya.util.randomInt(1000, 3000)
alya.util.chatInfo("Waiting for " .. delay .. " ms")
alya.util.sleep(delay)

-- Perform second part of the action
alya.util.chatInfo("Completing action sequence")
end

Logging with Timestamps

function logWithTimestamp(message)
local timestamp = alya.util.currentTimeMillis()
alya.util.log("[" .. timestamp .. "] " .. message)
end

-- Usage
logWithTimestamp("Script started")