spitari
spitari

spitari docs

best external — docs

HomeBuy

Globals

identifyexecutor

function identifyexecutor(): (string, string)

Returns "spitari", "0.1". Legacy compat alias returns "spitari","0.1" (same function). __call helper: identifyexecutor("spitari") still returns pair.

print(identifyexecutor()) -- spitari  0.1
function print(...): ()
function warn(...): ()

Joined with \t, sent to executor console (LuaExecutor::Log(Print|Warn)). print uses tostring per arg via lua_pcall(tostring); warn uses luaL_tolstring.

wait / spawn (legacy)

function wait(seconds: number?): number?
function spawn(fn: (...any) -> ()): thread

Aliases to task.*. Prefer task. wait yields via ScheduleWait unless not yieldable (returns 0). spawn creates lua_newthread, lua_resume immediate.

task

task.wait(seconds: number?)            -- yield, default 0.03s
task.spawn(fn): thread
task.delay(seconds: number, fn): Task  -- {idx,seq} token
task.defer(fn): Task                   -- next tick (0s delay)
task.cancel(token: Task | thread)

Impl: g_waits (WaitEntry {ref, left}), g_delays (DelayEntry {ref, left, seq}), g_tick_th drains by dt in LuaVM::Tick. cancel invalidates seq.

task.delay(2, function() print("2s") end)
local tok = task.delay(10, function() end); task.cancel(tok)
local th = task.spawn(function() task.wait(1); print("spawned") end)
task.cancel(th)

Input helpers

function getmousepos(): (number, number)  -- client x, y (overlay client coords)
function isrbxactive(): boolean           -- Roblox foreground?
function iskeypressed(key: number | string): boolean

getmousepos: GetCursorPosScreenToClient(Renderer::GetHwnd()) if overlay present else raw. isrbxactive: GetForegroundWindow() == FindWindow("Roblox") via Memory::GetModuleBase window. iskeypressed polls GetAsyncKeyState(VK_*) & 0x8000 (callable each UserInputService:InputBegan tick as well).

iskeypressed accepts VK integer or name: "left", "right", "space", "shift", "ctrl", "alt", "tab", "escape", "enter", "backspace", "capslock", letter "a""z", "0""9", "f1""f12", "mouse1"/"mouse2"/"mouse3" / "leftmouse" etc. Case-insensitive.

if iskeypressed("space") then print("jump") end
if iskeypressed(0x01) then print("LMB") end
print(getmousepos())

bit32

Roblox-compatible 32-bit ops (unsigned). the bit32 module.

bit32.band(...)
bit32.bor(...)
bit32.bxor(...)
bit32.bnot(x)
bit32.lshift(x, n)    -- << n & 0xFFFFFFFF
bit32.rshift(x, n)    -- logical >> n
bit32.arshift(x, n)   -- arithmetic >> n
bit32.lrotate(x, n)
bit32.rrotate(x, n)
bit32.extract(n, field, width?) -- default width 1
bit32.replace(n, v, field, width?)
print(string.format("%08x", bit32.bxor(0xdeadbeef, 0x12345678)))
print(bit32.extract(0xF0, 4, 4)) -- 0xF

Drawing

See Drawing. Globals: Drawing table (Drawing.new, Drawing.clear), cleardrawcache alias.

local l = Drawing.new("Line"); l.From = Vector2.new(0,0); l.To=Vector2.new(100,100); l.Visible=true
cleardrawcache()

HTTP

See HTTP. Globals: request, http_request (same fn), HttpGet, HttpService (with GetAsync, RequestAsync, JSONEncode, JSONDecode scalars-only).

local r = request({Url="https://example.com", Method="GET"})
if r.Success then print(r.StatusCode, #r.Body) end
print(HttpGet("https://example.com"))

GC key/value locks

lockgc(key, value, interval_ms?) / unlockgc(key?) pin a value into every matching game Luau table in the background. Taught in LuaGc.cpp as heap walk over globalState::gray/grayagain pages. See Scripts & GC.

lockgc("ShootCooldown", 0)      -- pin 0 every 100ms
lockgc({"FireRate","Damage"}, 999, 250)
unlockgc("ShootCooldown"); unlockgc() -- all
print(gc.locks()) -- via gc table alias

Raw memory

get_class(addr) / get_name(addr) read class/name directly from a raw address without userdata. Full API (mem.*, gatecall, reflection, scanptr, …): see Memory.

local at = addrof(workspace.CurrentCamera)
print(get_class(at), get_name(at))
print(mem.rdstr(at + 0x8)) -- NameContainer example

Other globals (always present)

Global Type Notes
game Instance userdata DataModel (refreshed each Execute via RefreshGlobals)
workspace Instance userdata game.Workspace
RunService fake table Heartbeat/RenderStepped/Stepped signals
UserInputService fake table InputBegan/Ended
TweenService fake table noop Create:Play
HttpService fake table GetAsync/JSONEncode
Vector3/Vector2/Color3/CFrame userdata ctors Datatypes
Drawing table overlay drawings
bit32 table 32-bit ops
task table scheduler
mem table namespaced memory fns
gc/scripts tables GC/script fns
_G / _VERSION Lua std
math/string/table/coroutine/utf8 libs opened

Premium-only globals: mem.gatecall, mem.gatescratch, wrcontent, Instance.new (via CallGate), decompile, getscripts, findgc/setgc/lockgc — freemium has stubs or absent.

See Instance for game/workspace lifetime, Memory for mem.*.