IMAGESearchLua API equivalent
Region():find(Asset.image("name"))Searches for a template image in the given region.
Cross-Reference
Side-by-side reference between Visual Builder blocks and their closest Lua API equivalents. Search by either the block name or the Lua call signature; the bridge works both ways.
App evidence
The English app reference screenshots below show how the most critical block/API mappings appear in the user interface.
Block to Lua API: from visual block to code equivalent
The clean screenshot shows how template, Region, and match-score fields in the block card connect to the Lua call in the table.

Block to Lua API: dialog form surface
The clean screenshot explains how text, input, and setting fields in the dialog block become a Setting.builder chain.

The Region + Asset relationship in the IMAGE row is paired with the current visual block card.
Block Preview
Captured from the English Visual Builder block card; the app screenshot stays English even when the website language changes.

The CLICK block and quickTap equivalent show the same tap-on-match flow with app context.
Block Preview
Captured from the English Visual Builder block card; the app screenshot stays English even when the website language changes.

The DIALOG row maps Setting.builder to the block surface with text, input, and setting fields.
Block Preview
Captured from the English Visual Builder block card; the app screenshot stays English even when the website language changes.

HTTP REQUEST shows how method, header, and body fields map to the Lua Request chain.
Block Preview
Captured from the English Visual Builder block card; the app screenshot stays English even when the website language changes.

WEBSOCKET connects the open/listen API surface to the Visual Builder block model.
Block Preview
Captured from the English Visual Builder block card; the app screenshot stays English even when the website language changes.

IMAGESearchLua API equivalent
Region():find(Asset.image("name"))Searches for a template image in the given region.
TEXTSearchLua API equivalent
Region():findText("hedef") ya da Region():readText({ocrScript="latin", mScore=0.8})OCR-searches for text or reads a region.
COLORSearchLua API equivalent
Region():find(Asset.color("#RRGGBB"):mScore(score))Searches for a specific color in the region.
MOVING COLORSearchLua API equivalent
compare repeated Region():find(Asset.color("#RRGGBB")) positionsTracks whether a color shifts position.
MULTI DETECTIONSearchLua API equivalent
(Visual Builder only: combines multiple IMAGE/TEXT/COLOR targets into one decision block)
Combines multiple IMAGE/TEXT/COLOR targets into one decision block.
TRACK TARGETSearchLua API equivalent
(Visual Builder only: locks onto one IMAGE/TEXT/COLOR match, then tracks nearest continuation until lost-frame limit)
Locks onto one image/text/color match and tracks the nearest continuation candidate until the lost-frame limit is reached.
OCR VALUESearchLua API equivalent
tonumber((Region():readText():match("(%d[%d.]*)")))Extracts the first numeric value from an OCR read.
AI DECISIONSearchLua API equivalent
local text = Region():readText(param); local r = AI.ask(prompt .. text, providerId)
Reads a region via OCR, then turns the text into a decision with AI.ask.
MH VISUAL DECISIONSearchLua API equivalent
Capture.regionToBase64(region, "jpeg", 60) + AI.askVision(prompt, image, providerId, "image/jpeg", nil, timeoutMs)
Turns a selected screen region into a true/false/unknown/error visual AI decision.
CLICKActionLua API equivalent
click(Point(x, y), {repeatCount=1, holdMs=0}) ya da click(Region():find(...), param)Taps a point or a match; supports repeat and hold parameters.
SWIPEActionLua API equivalent
swipe({GesturePoint(start, 0, 0), GesturePoint(end, 0, 300)})Swipe between two points.
WAIT (DELAY)ActionLua API equivalent
wait(ms)
Pauses for a duration.
TOUCHTouchLua API equivalent
Touch.down(point, finger); Touch.move(point, finger); Touch.up(finger)
Raw multi-finger touch control.
TOUCH BREAKTouchLua API equivalent
Touch.up(finger)
Releases an active touch.
MULTI GESTURETouchLua API equivalent
Touch.dispatch({...}) (cok parmakli koordineli hareket)Coordinates multiple fingers in a gesture.
BOOLEAN GROUPFlowLua API equivalent
local ok = (a and b) or c
Combines compare conditions with AND/OR into one boolean result.
IF ELSEFlowLua API equivalent
if cond then ... else ... end
Runs the TRUE or FALSE branch based on a condition.
COMPARE (IF)FlowLua API equivalent
if a == b then ... else ... end
Maps to the Lua if-else construct.
WHILEFlowLua API equivalent
while cond do ... end
Repeats while a condition holds.
REPEAT UNTILFlowLua API equivalent
repeat ... until cond
Repeats until a condition holds (at least once).
FOR EACHFlowLua API equivalent
for i, v in ipairs(t) do ... end
Iterates over a collection.
SWITCH CASEFlowLua API equivalent
if/elseif zinciri (Lua'da native switch yok)
Lua has no native switch; equivalent via if/elseif chain.
BREAKFlowLua API equivalent
break
Exits the enclosing loop.
CONTINUEFlowLua API equivalent
goto continue / ::continue:: (Lua'da continue keyword'u yoktur)
Lua has no continue keyword; emulated via goto + label.
TRY/CATCHFlowLua API equivalent
local ok, err = pcall(function() ... end)
Error catching via pcall.
RETURNFlowLua API equivalent
return value
Returns a value from the enclosing function.
GROUPFlowLua API equivalent
local function name() ... end
A callable block group (function).
GROUP CALLFlowLua API equivalent
name(arg1, arg2)
Calls a defined group.
EVENT_STATEFlowLua API equivalent
(Visual Builder only: mutates group event-state gates before GROUP_CALL)
Controls group Event key gates with enable, disable, toggle, reset, or enable_only before group calls.
RUN MACROFlowLua API equivalent
Macro.run(target, params) ya da sonuc = Macro.runWait(target, params, timeoutMs)
Starts another saved macro; in wait mode it stores the outcome in a variable.
ASSERTFlowLua API equivalent
assert(cond, "message")
Stops the script with an error if a condition fails.
COMMENTFlowLua API equivalent
-- single-line veya --[[ block ]]
Inline note that does not execute.
REPLAYFlowLua API equivalent
(Visual Builder önerisi: kayıtlı aksiyon zincirini yeniden yürütür)
No direct Lua API; record/replay lives in the Visual Builder layer.
SMART REPLAYFlowLua API equivalent
(Visual Builder önerisi: görsel anchor doğrulanırsa kayıtlı aksiyon zincirini yürütür)
No direct Lua API; anchor-gated replay lives in the Visual Builder layer.
ERROR HANDLERFlowLua API equivalent
local ok, err = pcall(function() ... end); if not ok then System.log("Error: " .. tostring(err)) endWraps the enclosed steps in pcall, catching and logging any error.
METRICSSystemLua API equivalent
Metrics.summary(); Metrics.enable(); Metrics.disable(); Metrics.reset()
Manages runtime metrics with summary, enable, disable, and reset actions.
DIALOGSystemLua API equivalent
Setting.builder():addText(...):addInput(...):show()
Shows a dynamic dialog with text, input, and setting fields.
SYSTEMSystemLua API equivalent
System.* (currentTime, schedule, log, noti, sendIntent, vb.)
Safe wrapper over system calls; Send Intent emits System.sendIntent(action, package?) and still passes runtime allowlist policy.
LOGSystemLua API equivalent
System.log("text") veya toast("text")Writes a message to console or overlay.
NOTIFY/TOASTSystemLua API equivalent
toast("text") veya System.noti("title", "body")Shows a toast or notification.
NOTIFY WEBHOOKSystemLua API equivalent
Request(url):setContentType("application/json"):setBody(JSON.stringify({content=mesaj})):post() (Discord/Telegram/Generic preset)Sends a notification to a Discord, Telegram, or generic webhook over HTTPS POST; built on the HTTP_POST infrastructure with no new Lua API.
PLAY SOUNDSystemLua API equivalent
System.playMedia(asset)
Plays a sound asset.
PANEL CONTROLSystemLua API equivalent
local hud = Hud(x,y,w,h,false); hud:setText("text"); hud:show(); hud:hidden(true)Controls the on-screen overlay panel.
HUD OVERLAYSystemLua API equivalent
local hud = Hud(x,y,w,h,false); hud:setText("text"); hud:show(); hud:setText("updated")Writes text/state into the on-screen HUD.
LISTDataLua API equivalent
local list = {"a", "b", "c"}Stores line- or comma-separated values as a list variable.
SET VARIABLEDataLua API equivalent
local x = value (script-scoped) veya KV.set("name", value) (kalici)Sets a variable (script-scoped or persistent).
MATH EVALDataLua API equivalent
local r = expression (Lua doğrudan matematik)
Computes an arithmetic or variable-based expression.
STRING OPDataLua API equivalent
string.upper / string.sub / string.format ...
String operations (lower, upper, replace, etc.).
REGEX MATCHDataLua API equivalent
Regex.match("h.*o", "hello") veya Regex.matchAll(pattern, s)Matches with Java-syntax regex (not Lua patterns).
RANDOM NUMBERDataLua API equivalent
math.random(min, max)
Generates a random number.
DATE/TIMEDataLua API equivalent
DateTime.nowMs() veya DateTime.format(DateTime.now(), "yyyy-MM-dd")
Reads current date or timestamp.
TIME SPANDataLua API equivalent
TimeSpan.fromSeconds(5) veya TimeSpan.fromMs(endMs - startMs)
Computes elapsed time between two moments.
STOPWATCHDataLua API equivalent
local sw = Stopwatch(); sw:start(); ... local dt = sw:elapsedMs()
Measures elapsed time.
SLEEP UNTILDataLua API equivalent
while System.currentTime() < deadline do wait(50) end
Waits until a deadline.
KV GETDataLua API equivalent
KV.get("key")Reads from the persistent key/value store.
KV SETDataLua API equivalent
KV.set("key", value)Writes to the persistent key/value store.
CLIPBOARD READDataLua API equivalent
Clipboard.get()
Reads the system clipboard.
CLIPBOARD WRITEDataLua API equivalent
Clipboard.copy("text")Writes to the system clipboard.
FILE READDataLua API equivalent
File.read("path") (sandbox sınırları içinde)Sandboxed file read.
FILE WRITEDataLua API equivalent
File.write("path", "content")Sandboxed file write.
FILE DELETEDataLua API equivalent
File.delete("path")Deletes a sandboxed file or folder.
JSON PARSEDataLua API equivalent
JSON.parse("...")Parses JSON text into a Lua table.
COLLECTIONDataLua API equivalent
Collection.put("items", "id", {name="value"}); Collection.list("items")Manages an ordered document collection.
MAPDataLua API equivalent
local m = Map(); m:put("key", "value"); m:get("key")Manages a key/value map.
HTTP GETAdvancedLua API equivalent
Request.get(url)
Sends a GET request.
HTTP POSTAdvancedLua API equivalent
Request(url):setBody(body):post()
Sends a POST request.
HTTP PUTAdvancedLua API equivalent
Request(url):setBody(body):put()
Sends a PUT request.
HTTP REQUESTAdvancedLua API equivalent
Request(url):setHeader(...):setBody(...):post()
Fully parameterized HTTP request.
WEBSOCKETAdvancedLua API equivalent
WebSocket.connect(url); WebSocket.on("message", cb)Opens a WebSocket and listens for messages.
TIMER INTERVALAdvancedLua API equivalent
Async.every(ms, function() ... end)
Periodic timer.
CUSTOM CODEAdvancedLua API equivalent
(Lua scripti doğrudan çalıştırır)
Embeds a raw Lua block inside the visual chain.
| Block | Lua API equivalent | Note |
|---|---|---|
IMAGESearch | Region():find(Asset.image("name")) | Searches for a template image in the given region. |
TEXTSearch | Region():findText("hedef") ya da Region():readText({ocrScript="latin", mScore=0.8}) | OCR-searches for text or reads a region. |
COLORSearch | Region():find(Asset.color("#RRGGBB"):mScore(score)) | Searches for a specific color in the region. |
MOVING COLORSearch | compare repeated Region():find(Asset.color("#RRGGBB")) positions | Tracks whether a color shifts position. |
MULTI DETECTIONSearch | (Visual Builder only: combines multiple IMAGE/TEXT/COLOR targets into one decision block) | Combines multiple IMAGE/TEXT/COLOR targets into one decision block. |
TRACK TARGETSearch | (Visual Builder only: locks onto one IMAGE/TEXT/COLOR match, then tracks nearest continuation until lost-frame limit) | Locks onto one image/text/color match and tracks the nearest continuation candidate until the lost-frame limit is reached. |
OCR VALUESearch | tonumber((Region():readText():match("(%d[%d.]*)"))) | Extracts the first numeric value from an OCR read. |
AI DECISIONSearch | local text = Region():readText(param); local r = AI.ask(prompt .. text, providerId) | Reads a region via OCR, then turns the text into a decision with AI.ask. |
MH VISUAL DECISIONSearch | Capture.regionToBase64(region, "jpeg", 60) + AI.askVision(prompt, image, providerId, "image/jpeg", nil, timeoutMs) | Turns a selected screen region into a true/false/unknown/error visual AI decision. |
CLICKAction | click(Point(x, y), {repeatCount=1, holdMs=0}) ya da click(Region():find(...), param) | Taps a point or a match; supports repeat and hold parameters. |
SWIPEAction | swipe({GesturePoint(start, 0, 0), GesturePoint(end, 0, 300)}) | Swipe between two points. |
WAIT (DELAY)Action | wait(ms) | Pauses for a duration. |
TOUCHTouch | Touch.down(point, finger); Touch.move(point, finger); Touch.up(finger) | Raw multi-finger touch control. |
TOUCH BREAKTouch | Touch.up(finger) | Releases an active touch. |
MULTI GESTURETouch | Touch.dispatch({...}) (cok parmakli koordineli hareket) | Coordinates multiple fingers in a gesture. |
BOOLEAN GROUPFlow | local ok = (a and b) or c | Combines compare conditions with AND/OR into one boolean result. |
IF ELSEFlow | if cond then ... else ... end | Runs the TRUE or FALSE branch based on a condition. |
COMPARE (IF)Flow | if a == b then ... else ... end | Maps to the Lua if-else construct. |
WHILEFlow | while cond do ... end | Repeats while a condition holds. |
REPEAT UNTILFlow | repeat ... until cond | Repeats until a condition holds (at least once). |
FOR EACHFlow | for i, v in ipairs(t) do ... end | Iterates over a collection. |
SWITCH CASEFlow | if/elseif zinciri (Lua'da native switch yok) | Lua has no native switch; equivalent via if/elseif chain. |
BREAKFlow | break | Exits the enclosing loop. |
CONTINUEFlow | goto continue / ::continue:: (Lua'da continue keyword'u yoktur) | Lua has no continue keyword; emulated via goto + label. |
TRY/CATCHFlow | local ok, err = pcall(function() ... end) | Error catching via pcall. |
RETURNFlow | return value | Returns a value from the enclosing function. |
GROUPFlow | local function name() ... end | A callable block group (function). |
GROUP CALLFlow | name(arg1, arg2) | Calls a defined group. |
EVENT_STATEFlow | (Visual Builder only: mutates group event-state gates before GROUP_CALL) | Controls group Event key gates with enable, disable, toggle, reset, or enable_only before group calls. |
RUN MACROFlow | Macro.run(target, params) ya da sonuc = Macro.runWait(target, params, timeoutMs) | Starts another saved macro; in wait mode it stores the outcome in a variable. |
ASSERTFlow | assert(cond, "message") | Stops the script with an error if a condition fails. |
COMMENTFlow | -- single-line veya --[[ block ]] | Inline note that does not execute. |
REPLAYFlow | (Visual Builder önerisi: kayıtlı aksiyon zincirini yeniden yürütür) | No direct Lua API; record/replay lives in the Visual Builder layer. |
SMART REPLAYFlow | (Visual Builder önerisi: görsel anchor doğrulanırsa kayıtlı aksiyon zincirini yürütür) | No direct Lua API; anchor-gated replay lives in the Visual Builder layer. |
ERROR HANDLERFlow | local ok, err = pcall(function() ... end); if not ok then System.log("Error: " .. tostring(err)) end | Wraps the enclosed steps in pcall, catching and logging any error. |
METRICSSystem | Metrics.summary(); Metrics.enable(); Metrics.disable(); Metrics.reset() | Manages runtime metrics with summary, enable, disable, and reset actions. |
DIALOGSystem | Setting.builder():addText(...):addInput(...):show() | Shows a dynamic dialog with text, input, and setting fields. |
SYSTEMSystem | System.* (currentTime, schedule, log, noti, sendIntent, vb.) | Safe wrapper over system calls; Send Intent emits System.sendIntent(action, package?) and still passes runtime allowlist policy. |
LOGSystem | System.log("text") veya toast("text") | Writes a message to console or overlay. |
NOTIFY/TOASTSystem | toast("text") veya System.noti("title", "body") | Shows a toast or notification. |
NOTIFY WEBHOOKSystem | Request(url):setContentType("application/json"):setBody(JSON.stringify({content=mesaj})):post() (Discord/Telegram/Generic preset) | Sends a notification to a Discord, Telegram, or generic webhook over HTTPS POST; built on the HTTP_POST infrastructure with no new Lua API. |
PLAY SOUNDSystem | System.playMedia(asset) | Plays a sound asset. |
PANEL CONTROLSystem | local hud = Hud(x,y,w,h,false); hud:setText("text"); hud:show(); hud:hidden(true) | Controls the on-screen overlay panel. |
HUD OVERLAYSystem | local hud = Hud(x,y,w,h,false); hud:setText("text"); hud:show(); hud:setText("updated") | Writes text/state into the on-screen HUD. |
LISTData | local list = {"a", "b", "c"} | Stores line- or comma-separated values as a list variable. |
SET VARIABLEData | local x = value (script-scoped) veya KV.set("name", value) (kalici) | Sets a variable (script-scoped or persistent). |
MATH EVALData | local r = expression (Lua doğrudan matematik) | Computes an arithmetic or variable-based expression. |
STRING OPData | string.upper / string.sub / string.format ... | String operations (lower, upper, replace, etc.). |
REGEX MATCHData | Regex.match("h.*o", "hello") veya Regex.matchAll(pattern, s) | Matches with Java-syntax regex (not Lua patterns). |
RANDOM NUMBERData | math.random(min, max) | Generates a random number. |
DATE/TIMEData | DateTime.nowMs() veya DateTime.format(DateTime.now(), "yyyy-MM-dd") | Reads current date or timestamp. |
TIME SPANData | TimeSpan.fromSeconds(5) veya TimeSpan.fromMs(endMs - startMs) | Computes elapsed time between two moments. |
STOPWATCHData | local sw = Stopwatch(); sw:start(); ... local dt = sw:elapsedMs() | Measures elapsed time. |
SLEEP UNTILData | while System.currentTime() < deadline do wait(50) end | Waits until a deadline. |
KV GETData | KV.get("key") | Reads from the persistent key/value store. |
KV SETData | KV.set("key", value) | Writes to the persistent key/value store. |
CLIPBOARD READData | Clipboard.get() | Reads the system clipboard. |
CLIPBOARD WRITEData | Clipboard.copy("text") | Writes to the system clipboard. |
FILE READData | File.read("path") (sandbox sınırları içinde) | Sandboxed file read. |
FILE WRITEData | File.write("path", "content") | Sandboxed file write. |
FILE DELETEData | File.delete("path") | Deletes a sandboxed file or folder. |
JSON PARSEData | JSON.parse("...") | Parses JSON text into a Lua table. |
COLLECTIONData | Collection.put("items", "id", {name="value"}); Collection.list("items") | Manages an ordered document collection. |
MAPData | local m = Map(); m:put("key", "value"); m:get("key") | Manages a key/value map. |
HTTP GETAdvanced | Request.get(url) | Sends a GET request. |
HTTP POSTAdvanced | Request(url):setBody(body):post() | Sends a POST request. |
HTTP PUTAdvanced | Request(url):setBody(body):put() | Sends a PUT request. |
HTTP REQUESTAdvanced | Request(url):setHeader(...):setBody(...):post() | Fully parameterized HTTP request. |
WEBSOCKETAdvanced | WebSocket.connect(url); WebSocket.on("message", cb) | Opens a WebSocket and listens for messages. |
TIMER INTERVALAdvanced | Async.every(ms, function() ... end) | Periodic timer. |
CUSTOM CODEAdvanced | (Lua scripti doğrudan çalıştırır) | Embeds a raw Lua block inside the visual chain. |