Object MethodOther

Collection:find(target, param?)

Searches targets in Collection scope and returns a match result.

Detailed Explanation

This section explains when to use the API, how to call it, and which structures it works best with in production flow.

What It Does

Collection:find performs one focused job in script flow and can be chained cleanly with other API steps. Searches targets in Collection scope and returns a match result.

When To Use It

This API is safest when used inside small, readable, and tightly controlled macro steps. This API becomes most valuable in multi-step chained scenarios.

Parameters and Return

target, param define the purpose of the call; preparing them in clearly named variables before execution makes production debugging easier. On success it returns a match/result object; when nothing is found it usually resolves to nil or a false-like value.

Best Combined With

Using this API with logging, error handling, and next-step control produces much more professional results than calling it in isolation.

Example Usage

The snippet below is a starter pattern that can be applied directly in runtime flow.

lua
-- Collection:find
local result = Collection:find(Asset.image("target"), FindParam.timeout(3000))
-- Use the result in your script flow

Copyable Progressive Examples

From 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.

Foundation

Shows the shortest direct way to call the API.

Foundation
lua
-- Collection:find
local result = Collection:find(Asset.image("target"), FindParam.timeout(3000))
-- Use the result in your script flow

Simple

Wraps the base call with minimal flow control.

Simple
lua
local stepOk = true
-- Collection:find
local result = Collection:find(Asset.image("target"), FindParam.timeout(3000))
-- Use the result in your script flow
if stepOk then
  wait(200)
end

Practical Flow

A practical pattern for real macros with pcall, logging, and guards.

Practical Flow
lua
local ok, result = pcall(function()
  -- Collection:find
  local result = Collection:find(Asset.image("target"), FindParam.timeout(3000))
  -- Use the result in your script flow
end)

if not ok then
  print("API step failed: Collection:find")
  requestStop()
end

Detailed

This level packages the API into a reusable helper with error reporting.

Detailed
lua
-- This API is safest when used inside small, readable, and tightly controlled macro steps.
local function run_find_step()
  -- Collection:find
  local result = Collection:find(Asset.image("target"), FindParam.timeout(3000))
  -- Use the result in your script flow
end

local ok, err = pcall(run_find_step)
if not ok then
  toast("Step failed")
  print(err)
end

Combined

Combines the API with related structures to form a more realistic workflow.

Combined
lua
-- Collection:find
local result = Collection:find(Asset.image("target"), FindParam.timeout(3000))
-- Use the result in your script flow
wait(200)
print("Combined with logging and flow control")