zm.FindCmpPCTap 超级查找对比图色点击
🎯功能
与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
, 使用方法请看示例
💡示例
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: 初次加入