zm.FindCmpPCTap 超级查找对比图色点击

文章目录
  1. 1. 功能
  2. 2. 语法
  3. 3. 参数
  4. 4. 返回值
  5. 5. 示例
  6. 6. 备注

功能

zm.FindCmpPC 超级查找对比图色类似, 区别在于本命令内置找到后点击. 由于查找与点击是两个动作组成, 为方便代码阅读理解, 故新增本命令

语法

结果 = zm.FindCmpPCTap([对象][x1, y1, x2, y2, ][图色数据][, 方向][, 相似度[, 智能相似度[, 相似度步长]]][, 查找超时][, 点击坐标][, 显示日志][, 输出行号][, 备注][, 等待消失][, 消失超时][, 参数返回值])

参数

参数 数据类型 解释
对象 可选, 把所有参数放入一个table中传入, 若填写本参数后, 建议不要再跟其他参数
x1 数值型 可选, 查找范围的左上角x坐标, 省略默认为0
y1 数值型 可选, 查找范围的左上角y坐标, 省略默认为0
x2 数值型 可选, 查找范围的右下角x坐标, 省略默认为0
y2 数值型 可选, 查找范围的右下角y坐标, 省略默认为0
图色数据 字符串 可选, 可填写找图的图片路径, 找色的颜色值, 多点找色或多点比色的颜色数据, 若填写多个不同类型数据, 请用 {} 一维数组分开传入, 详见下面例子
方向 字符串 可选, 从指定方向开始查找, 省略默认为"左上", 支持["左上","中心","右上","左下","右下","上左","上右","下左","下右"]这几个值
相似度 数值型 可选, 对比查找的相似度小数, 省略默认为0.9, 取值范围[0, 1.0], 越高越相似
智能相似度 数值型 可选, 与相似度组成组成智能相似计算范围, 适合图色变化大的情况, 省略默认取值与相似度相同, 取值范围[0, 1.0], 越高越相似
相似度步长 数值型 可选, 智能相似度调节变化间隔, 必须写在相似度后面, 省略默认为0.05, 取值范围[0, 1.0]
超时时间 数值型 可选, 最大查找耗时, 单位毫秒, 如果一次找不到, 可以限时循环查找, 省略默认为1
点击坐标 字符串 可选, 点击修改后的坐标, 格式"±x,±y,t", 省略为找到的坐标, t是可选的, 表示点击后延时毫秒, 例如"100,100"表示固定点击坐标100,100, "+10,-10"表示偏移点击找到的x+10,y-10位置, "10,10,2000"表示点击10,10坐标后延时2000毫秒, 该参数会受zm.SetTap 设置超级点击影响
显示日志 字符串 可选, 输出调试日志信息, 省略默认为”隐藏”, 支持 ["显示","显示找到", "显示没找到","隐藏","show", "showfind", "shownofind","hide"] 这几个值
输出行号 字符串 可选, 格式为"_"开头后跟行号, 比如"_10"表示第10行代码, 输出调试信息窗口显示第几行代码, 需开启显示日志才有效
备注 字符串 可选, 格式为"@"开头后跟内容, 比如"@拾取屠龙刀", 输出调试信息窗口就会增加这条内容, 若连续两个"@@"则表示在浮窗中显示信息, 需要开启显示日志才有效
等待消失 数值型 可选, 填写-1禁用或-2启用, -2表示找到后或点击后继续查找, 直到找不到或消失超时, 省略默认为-1, 启用后返回值将有miss键名, 值为true时表示成功消失, 值为false表示未消失
消失超时 数值型 可选, 填写负数, 表示等待消失的超时时间, 单位毫秒, 注意必须填写负数, 不可填-1和-2, 省略默认为-2000
参数返回值 可选, 只能传入数组变量名, 用于保存查找结果, 格式与命令返回值相同

返回值

, 找到返回结果保存到表中, 格式为{id, x, y, name, "id":id, "x":x, "y":y, "name":name, "miss":miss, "fun":fun}, 没找到或出错返回null, 使用方法请看示例

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Import "zm.luae" //导入插件,只需执行一次
zm.Init //初始化插件,只需执行一次

//本命令内置找到后点击, 其他用法例子与zm.FindCmpPC()相同
Dim 多点比色_红龙 = {"205|177|0CBB00,228|169|FFFFFF", 0.8}
Dim 结果_红龙 = zm.FindCmpPCTap(多点比色_红龙)
If 结果_红龙 Then
TracePrint "找到并点击坐标为:", 结果_红龙["x"], 结果_红龙["y"]
Else
TracePrint "没有找到红龙"
End If

//点击坐标参数可以自由调整, 下面举几种例子
//这里的"100,200"代表只要找到, 就会点击固定坐标100, 200, 与找到坐标无关
zm.FindCmpPCTap(多点比色_红龙, "100,200")

//这里的"+10,200"代表只要找到, 就点击x坐标为找到的x+10, 点击y坐标为固定200
zm.FindCmpPCTap(多点比色_红龙, "+10,200")

//这里的"+10,-20"代表只要找到, 就点击x坐标为找到的x+10, 点击y坐标为找到的y-20, 相当于是偏移点击
zm.FindCmpPCTap(多点比色_红龙, "+10,-20")

//这里的"+10,-20,3000"代表只要找到, 就点击x坐标为找到的x+10, 点击y坐标为找到的y-20, 并且点击后延时3000毫秒
zm.FindCmpPCTap(多点比色_红龙, "+10,-20,3000")

//这里的"+0,-0,3000"代表只要找到, 就点击找到的坐标, 不做偏移, 并且点击后延时3000毫秒
zm.FindCmpPCTap(多点比色_红龙, "+0,+0,3000")

备注

  • 该命令用法灵活多变, 更多用法请大家自行摸索, 灵活使用输出日志可以事半功倍
  • 虽然本命令集成了四大图色命令, 但我依旧推荐单独使用对应图色命令, 因为各自对应命令更加便于阅读代码
  • V4.2042: 初次加入