找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 4284|回复: 3

[已回复] zm插件的zm.CmpColorExTable如何获取键名

[复制链接]

15

主题

15

回帖

45

积分

小学生

鲜花
0
猫粮
119
发表于 2019-8-16 00:53:07 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
根据插件的使用说明

table, 找到返回结果保存到表中, 格式为{"success":找到数量, "fail":没找到数量, "键名":{id, x, y, name, "id":id, "x":x, "y":y, "name":name}, ...}, 全部没找到或失败返回null

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


Dim 打怪(), Boss坐标()
打怪["史莱姆"] = {"61|340|3DC3EE,91|344|346AFF,472|154|1592FF", true}
打怪["黑龙"] = {"421|237|241306,438|261|241306", 0.8, true}
打怪["紫猫BOSS"] = {"295|290|241306", Boss坐标} //这个不点击

//遍历打怪table, 返回每个对象成员的结果
Dim t = zm.CmpColorExTable(打怪)
If t Then
    TracePrint zm.VarInfo(t)
    TracePrint "找到了", t["success"], "个对象"
    TracePrint "没找到", t["fail"], "个对象"
    //在确认有找到的情况下, 可以单独判断某个对象是否有找到, 包括获取该对象的坐标结果等
    If t["史莱姆"] Then
        TracePrint "找到史莱姆, 坐标为", t["史莱姆"]["x"], t["史莱姆"]["y"]
    End If
Else
    TracePrint "所有对象都没有找到"
End If


目前我需要输出"键名",用作识别当前的对象成员,并执行相应的其他操作,但是如果输出t["键名"] ,那么是null


不知道可不可以以输出"键名",如果可以,是用的什么方式,谢谢!
楼主热帖
  • 打卡等级:坠落山崖

1082

主题

2107

回帖

4291

积分

院长

鲜花
7
猫粮
7505
QQ
发表于 2019-8-16 10:34:36 | 显示全部楼层
不太理解你的问题, 插件是如果成功, 就有对应的键名, 失败就是null

15

主题

15

回帖

45

积分

小学生

鲜花
0
猫粮
119
 楼主| 发表于 2019-8-16 11:03:43 | 显示全部楼层
本帖最后由 脚本小学弟 于 2019-8-16 11:05 编辑
紫猫 发表于 2019-8-16 10:34
不太理解你的问题, 插件是如果成功, 就有对应的键名, 失败就是null

就是说,用的zm.CmpColorExTable的命令,是已经成功获取到了识别对象的内容了

并且输出了zm.VarInfo(t)

但是如果我只想获取成功的zm.VarInfo(t)中数据中的“键名”,并输出(用于参与判断当前识别的是什么内容)用什么方法可以获取呢

如果使用t[“键名”]获取的null
  • 打卡等级:坠落山崖

1082

主题

2107

回帖

4291

积分

院长

鲜花
7
猫粮
7505
QQ
发表于 2019-8-18 16:50:10 | 显示全部楼层
脚本小学弟 发表于 2019-8-16 11:03
就是说,用的zm.CmpColorExTable的命令,是已经成功获取到了识别对象的内容了

并且输出了zm.VarInfo(t)

可以试下for each循环看看是不是你要的结果
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|紫猫编程学园

GMT+8, 2024-4-24 10:09

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表