How To Call It
Macro is a global table: call its functions with a dot (Macro.<method>(...)), not a colon.
Runs another macro, waits up to timeoutMs for it and returns an outcome table with ok, status and error. A cycle or too deep nesting raises an error.
Documented for app version 1.0.51Updated:
Macro is a global table: call its functions with a dot (Macro.<method>(...)), not a colon.
Core flow APIs are usually the backbone of larger scenarios; keep them anchored to clear checkpoints and readable variables.
Required: target. Optional: params, timeoutMs (omit to pass nil and use the runtime default). Returns a Lua table.
Using this API with logging, error handling, and next-step control produces much more professional results than calling it in isolation.
The snippet below is a starter pattern that can be applied directly in runtime flow.
local outcome = Macro.runWait("daily_rewards", { level = 3 }, 60000)
if not outcome.ok then print(outcome.status) endFrom foundation to combined usage, each level is provided as a separate code block so you can copy the level you need and adapt it directly.
local outcome = Macro.runWait("daily_rewards", { level = 3 }, 60000)
if not outcome.ok then print(outcome.status) endlocal stepOk = true
local outcome = Macro.runWait("daily_rewards", { level = 3 }, 60000)
if not outcome.ok then print(outcome.status) end
if stepOk then
wait(200)
endlocal ok, err = pcall(function()
local outcome = Macro.runWait("daily_rewards", { level = 3 }, 60000)
if not outcome.ok then print(outcome.status) end
end)
if not ok then
print("API step failed: Macro.runWait: " .. tostring(err))
requestStop()
end-- Core flow APIs are usually the backbone of larger scenarios; keep them anchored to clear checkpoints and readable variables.
local function run_runwait_step()
local outcome = Macro.runWait("daily_rewards", { level = 3 }, 60000)
if not outcome.ok then print(outcome.status) end
end
local ok, err = pcall(run_runwait_step)
if not ok then
toast("Step failed")
print(err)
endlocal outcome = Macro.runWait("daily_rewards", { level = 3 }, 60000)
if not outcome.ok then print(outcome.status) end
wait(200)
print("Combined with logging and flow control")