打字的小强 发表于 2019-5-29 23:38

【按键精灵】利用服务器远程代码实现图色信息热更新

本帖最后由 打字的小强 于 2019-6-3 09:07 编辑

首先科普一下云手机和正常的手机还有模拟器是不同的,部分图色信息不能兼容,在编写按键精灵的时候是需要通过截图软件在云手机里面截屏然后然后通过QQ什么的软件把截屏的图片传出来在按键精灵手机助手多点取色获得图色信息。有时候游戏在云手机里面总是三天两头更新一些广告,这些广告也没有共通点,需要每次都要从云手机截图传出来然后写再更新脚本,很是麻烦。为了解决这个问题,就自己想出来了一个办法利用按键精灵脚本请求服务器远程静态资源来实现图色信息热更新。
首先就要把图色信息格式化。放在远程服务器上,远程服务器就在我前面的帖子写出来了,利用github pages来做一个静态资源被脚本获取,这次要把html网页改成json格式的。【按键精灵】按键精灵读取github page 网页,实现脚本远程控制功能
这样的格式

为什么要封装成这样的格式,还要看上一个帖子,利用果壳插件的封装图色信息【按键精灵】全军出击按键精灵发言脚本,快速写脚本的基本框架讲解,简化脚本。
接下来就要写代码请求这些数据,并把所有的图色信息都拿出来放到数组中都遍历找一下就达到我们的目的了,注意这是一个半成品,只是抛砖引玉的作用。

Dim res,键值表
Import "Cjson.lua"
Import "GK.lua"

Function 判断(fx, fy)
    //进一步对果壳界面判断找图封装。找到图后加了false就不点击,但是返回函数的真假,后面要对这些函数返回值做出判断而做出相对应的操作
    If (gk.full(fx)) Then
      ms "在" & fy
      判断 = True
    Else
      ms "不在" & fy
      判断 = false
    End if
End Function
Function ms(msg)

    TracePrint msg
    ShowMessage msg
End Function

res = URL.Get("https://koala9527.github.io/test/game.json")
//json数据 是 {"len":"2","data":{"v1":{"lx":"92","ly":"69","rx":"221","ry":"171","fc":"57B1FF","cr":"4|-3|C9E6FF,-5|-14|1592FF,-10|-4|1592FF,8|5|FBFDFF,6|-7|D8EDFF,-4|-15|1592FF,-4|1|5CB3FF,-9|-6|1592FF,-6|-24|1592FF","s":"0.9"},"v2":{"lx":"532","ly":"1049","rx":"656","ry":"1129","fc":"E4B697","cr":"7|-12|FEFBF9,12|-42|FCF6F2,16|-66|CF7E4C,22|-111|C57543,11|-136|BA6A38,0|55|DF9460","s":"0.9"}}}

TracePrint res
//将json数组转换成lua的字典
键值表 = Cjson.Decode(res)

//自己封装的json格式,不用计算,直接指出这个请求返回结果有几个图色信息
TracePrint "数组含有"&键值表["len"]&"个图色数据"
   dim leng= CInt(键值表["len"])
Dim result =array()

//开始遍历这个table所包含的图色信息,还有图色信息所有的细节参数,注意lua的table是从1开始的,并不是从0开始的
For i = 1 To leng
Dim j = "v"&Cstr(i)
Dim tb1=键值表["data"]["lx"]
Dim tb2=键值表["data"]["ly"]
Dim tb3=键值表["data"]["rx"]
Dim tb4=键值表["data"]["ry"]
Dim tb5=键值表["data"]["fc"]
Dim tb6=键值表["data"]["cr"]
Dim tb7=键值表["data"]["s"]
//这些都是在果壳插件找图命令中的必要数组参数
      TracePrint "第"&i&"个点的左上角X坐标:"& tb1
      TracePrint "第"&i&"个点的左上角Y坐标:"& tb2
      TracePrint "第"&i&"个点的右下角X坐标:"& tb3
      TracePrint "第"&i&"个点的右下角Y坐标:"& tb4
      TracePrint "第"&i&"图色数据的第一点颜色:"& tb5
      TracePrint "第"&i&"图色数据的偏移点数据:"& tb6
      TracePrint "第"&i&"图色数据的精度:"& tb7
//      遍历赋值到一个二维数组中
result = Array(tb1,tb2,tb3,tb4,tb5,tb6,tb7)

Next
//接下来遍历输出一下这个二维数组检查一下看是什么东西
For i = 1 To UBOUND(result)+1
For j= 1 to UBound(result)+1
      TracePrint result
      Next
Next
//最后遍历这个请求所有的图色信息找图
For i = 1 To UBOUND(result) + 1
      判断 result,"牛皮"&i
Next





到此结束。{:301_997:}

打字的小强 发表于 2019-6-25 08:29

走走也想早点睡 发表于 2019-6-24 23:45
老哥 能不能发一个自定义时间启动刺激战场的脚本,如,计时1分钟,结束后台,启动刺激战场

delay 60000
runapp "com.tencent.tmgp.pubgmhd"

打字的小强 发表于 2020-6-2 12:19

念念丶念曾经 发表于 2020-6-2 11:15
大佬你好,你的按键精灵手机安卓在哪里学的,或者有相关课程吗,可以有偿~

基础看文档,其他自学成才啊

lcbnooo 发表于 2019-5-30 00:00

{:1_918:} 有点意思

龙叔 发表于 2019-5-30 00:06

看了你发的截图,才知道按键精灵更新了,这个企业版是全免费的吗

yi025 发表于 2019-5-30 00:26

不太……懂

961952819 发表于 2019-5-30 00:45

可以的,感谢分享,哈哈

smith168668 发表于 2019-5-30 00:52

这个想法好

byxiaoxie 发表于 2019-5-30 05:03

{:301_986:}之前搞手机脚本的时候,我用的云配置文件,读取配置信息来完成云更新参数,你这个读json的方法比较简单还是不错的!

打字的小强 发表于 2019-5-30 09:36

龙叔 发表于 2019-5-30 00:06
看了你发的截图,才知道按键精灵更新了,这个企业版是全免费的吗

一直是这样的啊,都是免费的,这是手机版的

走走也想早点睡 发表于 2019-6-24 23:45

{:1_924:}老哥 能不能发一个自定义时间启动刺激战场的脚本,如,计时1分钟,结束后台,启动刺激战场
页: [1] 2 3
查看完整版本: 【按键精灵】利用服务器远程代码实现图色信息热更新