大家好,我是公众号3分钟学堂的郭立员,今天来做一个王者荣耀全英雄最低上榜战力查询脚本的讲解。
脚本的用处
在王者中英雄的战力值达到一定排名以后,就会在游戏加载时英雄头像上显示标志,比如区标,市标,省标,有这个标志就是说明此英雄使用熟练度高,比较厉害。
当然有的地区玩的人多,那么这个排名的战力值就高,我们获取到这个标志就不容易,相反在一些玩家比较少的地区获取战力标志就容易一些。
今天这个脚本就是帮大家查询一下王者荣耀全英雄的最低上榜是哪个地区。
先看上图,填写自己想要查询的英雄,然后选择省市区级别,最后再选择使用的设备,运行脚本即可查询到最低战力值是多少,以及在哪个地区。
脚本讲解
这个查询是基于开放的api接口:
https://gamehook.top/api/hero/select?hero_name=周瑜
通过url.get命令就可以获取到接口的返回值:
返回值按照设备分成4类:
①安卓QQ
②安卓微信
③iosQQ
④ios微信
按照地域分成3类:
①区级
②市级
③省级
两者结合在一起就有12个组合:
在我的脚本中,我是使用两个下拉框,分别把这2类做成选项。
遇到有2个下拉框情况,我们脚本一般会这样写。
If ReadUIConfig("下拉框1") = 0 and ReadUIConfig("下拉框2") = 0 Then
TracePrint "执行下拉框1的第一选项和下拉框2的第一选项"
End If
我们这个案例有12种组合,就要写12个这个判断代码。说实话还是有点麻烦的。
这里我仔细分析了一下上面api接口返回值的格式:
安卓QQ对应的是QQ,安卓微信对应的是wx,iosQQ对应的是ios_qq,ios微信对应的是ios_wx。
区级对应的area,市级对应的是city,省级对应的是province。
按照这个关系,我把他们预先放到了2个数组里面,如下面的代码:
Dim jsonsb={"qq","wx","ios_qq","ios_wx"}
Dim jsonarea={"area","city","province"}
这么写的好处是jsonsb(0)=qq,代码中的0,可以用读取下拉框的选项编号代替。
//www.luOMaYSD.COmjsonsb(读取下拉框的编号)=对应的设备类型
同理地区也是这样处理,这样就不需要写12个判断了。
关于json格式的提取,这里就不多说了。
通过合并在提取json时,就可以直接这样写
TracePrint table["data"][jsonsb(area)&"_"&jsonarea(shebei)]