26 王者荣耀刷金币脚本

前言

呵呵 这是我一位哥说起他之前找了一个王者荣耀 刷金币脚本, 说是 放在那里 睡一晚上 卧槽 4k 的金币就到手了!! 

因此 昨天的时候 稍微搜索了一下, 看了一下 大致的思路, 然后 尝试自己来实现一下 

参照的思路来自于 tobyqin/kog-money 当然我最近 也试了一下, 看了一下 这个冒险模式里面的所有的关卡, 确实是 “陨落的废都 – 魔女回忆” 最适合这种刷钱, 地形很小, 相对来说 流程很短 

tobyqin/kog-money 的实现是一步一步模拟点击, sleep 是代码里面定死的, 所以可能会存在一些意外的情况, 比如这次 打完需要22秒, 下一次打完需要24秒, 又或者 阵容不同导致的一些差异, 可能那时候就需要调整代码中的一些配置了 

我这里的实现是基于 tobyqin/kog-money, 当然 自己也增加了一些思考, 一下是一些涉及到的地方 

1. java.awt.Robot 来模拟操作

2. tessreact 来进行 ocr 图片识别(识别有一定的误差)

3. 一定的采样来判断图片是否相同(缓存图片内容信息) 

整个流程大致是如下  

0. 准备工作, 进入 万象天工 – 冒险模式 – 挑战 – 陨落的废都 – 魔女回忆 并搭配好阵容, 我这里是 小乔 + 王昭君 + 公孙离 

1. 点击闯关, 然后之后惯例 bizSleep ms, 留给游戏页面的加载, 以及三个角色的自动刷怪 

2. 定时检测[间隔为 nextStageCheckSleep ms]右上角的 剧情跳过[表示boss的相关剧情, 比如 陨落的废都 – 魔女回忆 会有两次跳过, 妲己宝宝出来的时候 和 妲己宝宝被打败的时候] 

3. 两次跳过检测之后, 游戏会进入到结算页面[几星, 完成了几个任务], 之后等待游戏下方的 点击屏幕继续 的字样出现, 点击屏幕 

4. 游戏来到 返回/再次挑战 页面, 点击再次挑战, 会回到 step1 的页面, 这样就可以构成一个循环了 

当前是 s22 赛季, 流程大致是如上, 可能在后面的更新中会和上面的流程存在差异 

环境说明 : jdk7 + Tesseract3.4.0 + 腾讯游戏模拟器 + 王者荣耀 s22 赛季 

Robot 的一些操作可以参见 : java.awt.Robot的一些使用

Test07GetMoneyHornorOfKings

然后 整个过程的代码 大致是如下, 依赖了 Tesseract, 请自行下载 

然后在不同的模拟器上面 可能脚本中使用到的各个按钮的配置可能会存在差异, 我这里就没有单独拎出来配置了, 请根据实际情况进行调整[contBtn, skipBtn, nextBtn, againBtn]

appLT 为整个模拟器相对于整个屏幕的位置(用于模拟器中各个元素的定位)

contBtn, skipBtn, nextBtn, againBtn : 的位置为相对于模拟器左上角的定位

tmpDir 是一个工作空间, 用于存放上一次脚本执行的上下文的信息, 比如日志, 运行时的截图 等等 

confFile 是Test07GetMoneyHornorOfKings的配置文件, 里面主要包含了一些常用的会变化的配置, 比如模拟器的位置, bizSleep, skipCount 等等 

counter 是截图的计数器 

bizSleep 是游戏加载 加自动操作打怪的时间 [需要小于最短时间, 加这个是为了避免无用的截图 + ocr识别]

nextStageCheckSleep : 表示游戏打怪的过程中不断检测游戏阶段的一个时间间隔

nextBizSleep : 表示两次完整的刷币之间的时间间隔

skipCount : 表示游戏中会出现几次 “跳过” 剧情, 游戏会进入结算页面  

sampleEstimateCount : 表示对于截图采样的点的大致个数 

imgId2Text : 运行时使用, 暂存 图片 -> 图片中的文字

imgId2File : 运行时使用, 暂存 图片 -> 图片的文件 

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年11月27日
下一篇 2021年11月27日

相关推荐