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({profile="latin_score"})OCR-searches for text or reads a region.
COLORSearchLua API equivalent
Region():findColor(0xRRGGBB, tolerans)
Searches for a specific color in the region.
MOVING COLORSearchLua API equivalent
Region():trackColor(0xRRGGBB)
Tracks 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
(Visual Builder önerisi: AI yorumlama bloklarla yapılır)
No direct Lua API; AI interpretation lives in the Visual Builder layer.
CLICKActionLua API equivalent
quickTap(point) ya da quickTap(region:find(...))
Performs a single tap.
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.
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.
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
pcall + Events.on("error", cb) (sandboxli ortamda)Catches scenario errors globally.
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.
PLAY SOUNDSystemLua API equivalent
System.playSound(asset)
Plays a sound asset.
PANEL CONTROLSystemLua API equivalent
Hud:show("text") veya Hud:hide()Controls the on-screen overlay panel.
HUD OVERLAYSystemLua API equivalent
Hud:show("text") / Hud:update("text")Writes text/state into the on-screen HUD.
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
s:match("pattern") veya string.gmatch(s, "pat")Regex / Lua pattern matching.
RANDOM NUMBERDataLua API equivalent
math.random(min, max)
Generates a random number.
DATE/TIMEDataLua API equivalent
os.date("*t") / System.currentTime()Reads current date or timestamp.
TIME SPANDataLua API equivalent
System.currentTime() - startMs
Computes elapsed time between two moments.
STOPWATCHDataLua API equivalent
local t0 = System.currentTime(); ... local dt = System.currentTime() - t0
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.set("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
local list = {1, 2, 3}; table.insert(list, 4)Manages an ordered list/array.
MAPDataLua API equivalent
local m = {key = "value"}; m.keyManages a key/value map.
HTTP GETAdvancedLua API equivalent
Request.get(url)
Sends a GET request.
HTTP POSTAdvancedLua API equivalent
Request.post(url):setBody(body):send()
Sends a POST request.
HTTP PUTAdvancedLua API equivalent
Request.put(url):setBody(body):send()
Sends a PUT request.
HTTP REQUESTAdvancedLua API equivalent
Request.method(method, url):setHeader(...):setBody(...):send()
Fully parameterized HTTP request.
WEBSOCKETAdvancedLua API equivalent
WebSocket.open(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({profile="latin_score"}) | OCR-searches for text or reads a region. |
COLORSearch | Region():findColor(0xRRGGBB, tolerans) | Searches for a specific color in the region. |
MOVING COLORSearch | Region():trackColor(0xRRGGBB) | 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 | (Visual Builder önerisi: AI yorumlama bloklarla yapılır) | No direct Lua API; AI interpretation lives in the Visual Builder layer. |
CLICKAction | quickTap(point) ya da quickTap(region:find(...)) | Performs a single tap. |
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. |
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. |
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 | pcall + Events.on("error", cb) (sandboxli ortamda) | Catches scenario errors globally. |
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. |
PLAY SOUNDSystem | System.playSound(asset) | Plays a sound asset. |
PANEL CONTROLSystem | Hud:show("text") veya Hud:hide() | Controls the on-screen overlay panel. |
HUD OVERLAYSystem | Hud:show("text") / Hud:update("text") | Writes text/state into the on-screen HUD. |
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 | s:match("pattern") veya string.gmatch(s, "pat") | Regex / Lua pattern matching. |
RANDOM NUMBERData | math.random(min, max) | Generates a random number. |
DATE/TIMEData | os.date("*t") / System.currentTime() | Reads current date or timestamp. |
TIME SPANData | System.currentTime() - startMs | Computes elapsed time between two moments. |
STOPWATCHData | local t0 = System.currentTime(); ... local dt = System.currentTime() - t0 | 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.set("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 | local list = {1, 2, 3}; table.insert(list, 4) | Manages an ordered list/array. |
MAPData | local m = {key = "value"}; m.key | Manages a key/value map. |
HTTP GETAdvanced | Request.get(url) | Sends a GET request. |
HTTP POSTAdvanced | Request.post(url):setBody(body):send() | Sends a POST request. |
HTTP PUTAdvanced | Request.put(url):setBody(body):send() | Sends a PUT request. |
HTTP REQUESTAdvanced | Request.method(method, url):setHeader(...):setBody(...):send() | Fully parameterized HTTP request. |
WEBSOCKETAdvanced | WebSocket.open(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. |