Lua API Library Reference

Write your own custom scripts, alerts, and hotkey macros using the RuneDaddy API. All functions are accessible via the global rd table.

Core Engine

Basic initialization and status helper methods.

rd.IsOnline() -> boolean

Checks if the attached game client is authenticated and logged into the server world.

if not rd.IsOnline() then return end
rd.Log(text: string) -> void

Appends a message to the RuneDaddy debug console dashboard output log.

rd.Log("Initializing automated cavebot tick...")

Movement Engine

Functions related to navigation and custom walker pathing steps.

rd.walk(dir: int) -> boolean

Issues a walk step request to the client in the specified direction (0: North, 1: East, 2: South, 3: West).

-- Walk North bypassing keyboard locks
rd.walk(0)
rd.GetPlayerPos() -> table

Returns a table with coordinates {x, y, z} representing the player character's exact current grid position.

local pos = rd.GetPlayerPos()
rd.Log("Current Floor: " .. pos.z)

Targeting & Viewport Scans

Scanners and filters for analyzing nearby creatures and targets.

rd.CountMonstersInRange(range: int) -> int

Counts all valid targetable creatures on the same floor within the specified Chebyshev range distance.

local monstersCount = rd.CountMonstersInRange(3)
if monstersCount >= 3 then
  rd.Log("Lure count reached. Initiating attack spell.")
end
rd.GetTarget() -> table or nil

Returns information on the player's active target. Returns nil if no target is active.

local target = rd.GetTarget()
if target then
  rd.Log("Attacking: " .. target.name)
end

Spells & Actions

Potion helpers, spellcasting wrappers, and containers interactions.

rd.CastSpell(spellText: string) -> void

Attempts to cast the specified spell by passing execution directly into the client cast pipeline.

rd.CastSpell("exura san")
rd.UseItemOnSelf(itemId: int) -> void

Uses the specified item ID directly on the player character (commonly used for health potions, mana fluids, and runes).

-- Use Mana Potion (Item ID 268) on self
rd.UseItemOnSelf(268)

Utility & Message Buffers

Diagnostic helpers and system calls.

rd.ClearMessages() -> void

Clears local client text queues and message logs to prevent buffer bloat and maintain top FPS.

rd.ClearMessages()
rd.GetHealthPercent() -> int

Returns player health as a percentage from 0 to 100.

local hp = rd.GetHealthPercent()
if hp < 50 then
  rd.UseItemOnSelf(266) -- Health Potion
end