Docs / Environment

Environment

Executor identity, HWID, thread capabilities, fast flags, sandboxed globals, and script loading.

Library#01 of 23 Functions19
identifyexecutor() → string, string
Returns executor name and version. Both branded "Velocity".
aliasesgetexecutorname
lua
local name, version = identifyexecutor()
print(name, version)  --> Velocity  v1.3.6
gethwid() → string
Machine HWID used for license binding.
lua
print(gethwid())  --> "A1B2C3D4-…"
getidentity() → number
Current thread identity (Roblox capability level 1–8).
aliasesgetthreadidentity, getthreadcontext, get_thread_identity, get_thread_context
lua
print(getidentity())  --> 8
setidentity(level: number)
Sets current thread identity + rewrites the capability mask. Level 8 is the executor default.
aliasessetthreadidentity, setthreadcontext, set_thread_identity, set_thread_context
lua
setidentity(2)   -- drop to level 2 for testing
setidentity(8)   -- restore
getfflag(name: string) → any
Read a Roblox fast-flag by name.
lua
print(getfflag("DebugDisableTelemetry"))  --> false
setfflag(name: string, value: any)
Write a Roblox fast-flag by name.
lua
setfflag("DebugGraphicsPreferD3D11", "True")
checkcaller() → boolean
true if the calling thread is the executor VM (not a game script).
lua
if checkcaller() then
    print("running under the executor")
end
cloneref(instance: Instance) → Instance
Returns a fresh userdata pointing at the same Instance — x ~= cloneref(x) but both refer to the same object. Bypasses __eq-based hidden-service detection.
aliasesclonereference
lua
local p  = game:GetService("Players").LocalPlayer
local p2 = cloneref(p)
print(p == p2)                  --> false
print(compareinstances(p, p2))  --> true
getgenv() → table
Executor's shared global environment. Persists across script loads.
lua
getgenv().sharedFlag = true
-- other scripts see it via getgenv().sharedFlag
getreg() → table
Lua registry table.
lua
for k, v in pairs(getreg()) do
    print(k, typeof(v))
end
getrenv() → table
Roblox game-side global environment.
lua
local renv = getrenv()
print(renv.game == game)  --> true
gettenv(thread: thread) → table
Environment table of the given thread.
lua
local co  = coroutine.create(function() end)
local env = gettenv(co)
print(env.print)
loadstring(source: string, chunkname: string?) → function | nil, string?
Compile a Lua string. Returns the loaded closure or nil, err.
aliasesexecutescript
lua
local f, err = loadstring("return 1 + 2")
print(f())  --> 3
getscriptfromthread(thread: thread) → Instance?
The LocalScript or ModuleScript that spawned the thread, if any.
lua
local script = getscriptfromthread(coroutine.running())
print(script and script:GetFullName())
getobjects(assetId: string | number) → {Instance}
Roblox GetObjects — loads an asset and returns its top-level Instances.
lua
local objs = getobjects("rbxassetid://1818")
for _, o in ipairs(objs) do print(o.Name) end
firetouchinterest(part: BasePart, humanoidPart: BasePart, action: number)
Fake a touch event. action is 0 (touch) or 1 (untouch).
lua
local hrp   = game.Players.LocalPlayer.Character.HumanoidRootPart
local block = workspace.KillBrick
firetouchinterest(hrp, block, 0)   -- start touch
firetouchinterest(hrp, block, 1)   -- end touch
queue_on_teleport(source: string)
Queues a script to run after the next teleport / place change.
aliasesqueueonteleport
lua
queue_on_teleport([[
    print("hello from the new place")
    loadstring(game:HttpGet("https://example.com/main.lua"))()
]])
clearqueueonteleport()
Drop everything queued by queue_on_teleport.
aliasesclear_teleport_queue, clearteleportqueue
lua
clearqueueonteleport()
_G, shared — tables
Standard fresh global tables — persisted for the executor session.
lua
_G.counter = (_G.counter or 0) + 1
print(_G.counter)