OpenCV实现桌面版阴阳师自动御魂和觉醒双开突破业原火御灵等功能

Posted 吃不肥的猫

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OpenCV实现桌面版阴阳师自动御魂和觉醒双开突破业原火御灵等功能相关的知识,希望对你有一定的参考价值。

OpenCV实现阴阳师自动御魂双开突破等(桌面版)

0、前言:

  • 本项目参考了https://blog.csdn.net/m0_37316917/article/details/101605135所实现的方法
  • 本项目任何桌面yys版本都可以用,电脑上开的安卓模拟器也可以用(内存消耗更大,不建议),但是如果游戏更新图标有变需要截图替换掉对应目录下的图标才能正常运行
  • 本项目仅用于学习交流,不得用于出售外挂等行为
  • 请合理学习和测试,点击位置和停留时间做了随机处理,本人测试多日未出现问题,但如果造成封号等后果请自负责任(比如连续使用过久被鬼使黑抓到)
  • 运行环境:Python3.7+Pycharm(社区版即可,可以不用pro破解版),打开Pycharm时请以管理员方式打开,然后运行 Window.py即可打开界面,如果想脱离Python环境使用可以在cmd中pip安装pip install pyinstaller,然后切换到src目录下,在地址栏输入cmd后输入命令pyinstaller -F Window.py进行打包,时间估计较久,多等一会在dist文件夹下就可以找到打包好的exe,如果要正常运行需要将项目中的img文件夹放到exe文件所在目录下,详情可以参考: https://www.cnblogs.com/mini-monkey/p/11195309.html
  • 由于阴阳师里有些东西不好翻译,统一用的拼音(有的变量也用英文命名),请参考具体写法甄别
  • 项目下载链接:https://download.csdn.net/download/qq_36369267/21067750
    如果实在没c币可以看看评论区,有百度云的下载链接(顺便求个赞和关注啥的哈哈/逃)

1、基本界面效果


可以按F4停止

2、环境准备

需要pip安装的库:

  • pillow
  • pyautogui
  • numpy
  • opencv-python
  • opencv-contrib-python
  • 使用国内镜像源下载更快,使用方法可以像这样:
    pip install -i https://mirrors.aliyun.com/pypi/simple/ opencv-python
  • 其他库如果有遗漏的根据报错自行导入

提示:
参考的项目使用的SIFT探测器是老版本写法SIFT = cv2.xfeatures2d.SIFT_create()
新版本OpenCV库这个已经是专利算法,所以改用:SIFT = cv2.SIFT_create()

IDE使用的pycharm,搜索pycharm社区版下载默认安装即可

3、御魂、觉醒、御灵、业原火、永生之海、通用活动实现思路

通用活动需要根据活动的具体挑战图标截图替换掉原有的图标
这类副本整体的思路是:

  • ①截取整个屏幕
  • ②处理页面图像,依次与各个设定的目标做匹配
  • ③根据匹配情况确定位置,如果没有匹配成功则位置信息为None
  • ④根据具体情况和优先级进行一定范围内的随机点击(可以自定义sleep时间)
  • ⑤不停重复截图扫描判定点击(可以在进入挑战后sleep一段时间以减少计算量)

4、突破实现思路(目前有些问题,本人已退坑不再修改)


突破选择57级的结界,8退4再突破最后一个既可以保证突破难度降低还可以保证收益高,同时结界等级不变,推荐突破阵容:面(散件)兔(火灵)缘(蚌精)麓(破势)蟹(心眼)。如果要实现3退1刷新等其他功能请自行编程实现

突破副本我的主要思路是:

  • ①根据左下角排名图标和右上角关闭图标确定一个矩形
  • ②然后可以根据矩形计算每个结界的位置(如上图)
  • ③依次点击判定是否突破完成
  • ④如果不是第九个进入等待突破即可
  • ⑤如果是第九个则连续退出四次再进入突破(退出按钮有时候识别出问题,这里我直接根据突破主界面计算出了退出的位置)
  • ⑥如果失败超过4次,那么表明有个结界一直无法突破,这时候刷新结界

注:突破副本我实现后不太满意,会存在一些问题,最好自己编程实现一下

5、写在最后

当初写这个一方面是因为自己是痒痒鼠重度玩家想自己实现个工具减轻肝度,另一方面是想接触使用OpenCV,但是感觉OpenCV有些东西做出来效果不太好,识别容易出问题,如果有更好的库最好尝试用一下其他的库去做识别。

本人现在已经退坑,从17年1月初到现在,断断续续退坑回坑起码四五次了,每天做日常打副本感觉像是游戏在玩我而不是我在享受游戏,真的有点累了,这也是我写这些代码的原因吧,写完尝试了几天更觉得乏味所以就彻底退坑了。后面还是多花点时间在工作和学习上吧,毕竟生活更重要。

最后的最后,再强调一下,本文仅作为学习交流,请勿利用本项目做危害游戏平衡和违法的活动。

以上是关于OpenCV实现桌面版阴阳师自动御魂和觉醒双开突破业原火御灵等功能的主要内容,如果未能解决你的问题,请参考以下文章

ssr配置哔哩哔哩解锁

图像识别学习项目-python搭配opencv搞定阴阳师集市闹市999次活动

阴阳师按键精灵脚本

Python简单实现阴阳师挂机脚本

Python模拟鼠标点击——如何正确的肝阴阳师

回归之路——移动自动化测试