跳到主要内容

zm.CmpColorExTap 超级多点比色点击

🎯功能

zm.CmpColorEx 超级多点比色类似, 区别在于本命令内置对比成功后点击, 无需是否点击参数, 由于对比与点击是两个动作组成, 为方便代码阅读理解, 故新增本命令

📜语法

结果 = zm.CmpColorExTap([对象][颜色组, ...][, 颜色相似度[, 智能颜色相似度[, 颜色相似度步长]]][, 数量相似度][, 对比超时][, 点击坐标][, 显示日志][, 输出行号][, 备注][, 等待消失][, 消失超时][, 参数返回值])

📥参数

参数数据类型解释
对象可选, 把所有参数放入一个table中传入, 若后面跟有其他参数, 则会对应覆盖对象数据
颜色组字符串可选, 需要对比的点xy坐标和16进制颜色, 格式为(X坐标|Y坐标|16进制颜色), 多个颜色用“|”号分隔, 需要偏色用“-”号分隔, 多个点信息用“,”号分隔, 比如"100|200|FFFFFF|123456-000000,300|500|FFFFFF", 支持填写多组不同的颜色组
颜色相似度数值型可选, 对比查找的颜色相似度小数, 省略默认为0.9, 取值范围[0, 1.0], 越高越相似
智能颜色相似度数值型可选, 与颜色相似度组成组成智能相似计算范围, 适合图色变化大的情况, 省略默认取值与颜色相似度相同, 取值范围[0, 1.0], 越高越相似
颜色相似度步长数值型可选, 智能颜色相似度调节变化间隔, 必须写在颜色相似度智能颜色相似度后面, 省略默认为0.05, 取值范围[0, 1.0]
数量相似度字符串可选, 一组颜色组中符合条件的颜色数量比值, 注意是字符串数据类型, 省略默认为"1.0", 取值范围["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
参数返回值可选, 只能传入数组变量名, 用于保存查找结果, 格式与命令返回值相同

📤返回

table , 返回符合要求的第一个点坐标并保存到表中, 格式为 {id, x, y, name, "id":id, "x":x, "y":y, "name":name, "miss":miss} , 对比失败或出错返回null

💡示例

Import "zm.luae" //导入插件,只需执行一次
zm.Init //初始化插件,只需执行一次

Dim ret
//省略点击坐标参数情况下, 默认点击的坐标是对比成功的颜色组第一个点
//比如"205|177|0CBB00,228|169|FFFFFF"对比成功, 那么点击的坐标就是(205,117)
ret = zm.CmpColorExTap("205|177|0CBB00,228|169|FFFFFF", "61|340|3DC3EE")
If ret Then
TracePrint "对比颜色成功, 执行点击操作"
Else
TracePrint "对比颜色失败"
End If

//如果加入点击坐标参数("100,-20,3000"), 那么点击坐标将发生改变, 以返回坐标(205,177)为例
//实际点击坐标是(100,177-20=157), 并且点击后延时3000毫秒
//更多关于点击坐标参数格式请查看参数信息里的内容
ret = zm.CmpColorExTap("205|177|0CBB00,228|169|FFFFFF", "61|340|3DC3EE", "100,-20,3000")
If ret Then
TracePrint "对比颜色成功"
Else
TracePrint "对比颜色失败"
End If

//其他更多例子见zm.CmpColorEx()命令, 本命令除了强制点击外, 无其他区别

📘备注

  • 内置找到后点击坐标, 无法取消, 建议需要点击操作的超级图色使用本命令, 方便代码阅读理解
  • 该命令用法灵活多变, 更多用法请大家自行摸索, 灵活使用输出日志可以事半功倍
  • 多点比色颜色组数据请通过抓抓进行获取
  • 偏色是微调,指对RBG三色分别确定取色范围。颜色相似度是粗调,指对颜色整体做百分比判断。
  • 数量相似度是指颜色组对比成功点的比例, 例如 "1|1|3DC3EE,2|2|346AFF,3|3|1592FF,4|4|1592FF,5|5|231209,6|6|241306,7|7|201004,8|8|241306,9|9|241306" 这组多点比色数据有9个点, 如果数量相似度填写"0.8"就意味着对比成功条件是0.8*9=7.2个点以上符合要求, 而点的个数肯定是整数, 所以就是必须要8个点或9个点才能算对比成功
  • V3.1830: 加入命令