虽然有很多大佬有写过类似的脚本,但其实这是个学习项目,通过这个项目基本花了一个月学会了 python,这里注释虽然不完整,代码不够简洁,功能也不够丰富,但是用更加优雅的方法继续完善~
可以尝试修改 json 中偏移的范围数值,不要使用默认值,等待时间触发概率也可以改大一点 越高强度的使用,被检测的风险越大
推荐直接下载使用已编译打包的程序:https://github.com/aicezam/SmartOnmyoji/releases 下载压缩包解压后双击运行 smart_onmyoji_start.exe
或启动 windows 命令行终端 cmd 或 powershell,安装 python,克隆仓库,进入根目录下,安装 requirements.txt 依赖库:pywin32、opencv-python、PyQt5、PyAutoGUI
1. python安装(版本大于3.7.6都行):https://www.python.org/ftp/python/3.7.6/python-3.7.6-amd64.exe
2. 克隆或下载本项目
3. 运行power shell 或 cmd 进入主目录:cd .\SmartOnmyoji\ 安装依赖库:pip install -r requirements.txt
4. 运行power shell 或 cmd :python smart_onmyoji_start.py
5. 手动编译可使用:pyinstaller --distpath Release/ -w -i logo.ico --clean .\smart_onmyoji_start.py
6. 手动编译后需要将img文件夹和modules文件夹拖进新生成的文件夹内.
- 使用前警告:请谨慎使用辅助脚本,所有不公平游戏行为都可能被官方检测导致封号(坐标偏移量越小、点击频率越快,越容易被检测)
- 选择使用的客户端,推荐使用 阴阳师桌面版(NGA 论坛)、桌面版多开器推荐(V5 多开器)、雷电模拟器(官网)、MuMu 模拟器(官网)
- 选择匹配目标 Window 或 Android
- 选择单开模式还是多开模式,初次使用建议单开
- 点击选择窗体,在倒计时结束前点击窗体,结束后显示窗口标题
- 选择目标名称,初次使用推荐选择 [御魂] 模式,在软件目录下打开 ./img/yuhun/ ,文件夹下的图片就是御魂模式需要匹配的目标
- 调整脚本运行时间,默认即可,最好不超过三小时
- 调整匹配间隔,默认 3 秒即可
- 调整坐标偏移,可以在安全性和准确性之间权衡,默认即可
- 选择运行模式,推荐正常模式
- 正常模式:即后台模式(不能点击最小化,可以被其他窗口覆盖,可以正常使用鼠标),但不支持部分窗体(如网易 MuMu、网易云游戏)
- 兼容模式:即前台模式(始终保持窗口最前,不能正常使用鼠标),支持所有窗体
- 调整压缩截图,设置在 0.6 左右时,准确率和速度能兼顾,如果对匹配速度可以忍受,不建议修改压缩率(压缩率越低,准确度越低)
- 设置匹配方法,初次使用推荐选择特征点匹配
- 模板匹配, 速度快,对目标图片要求一模一样
- 特征点匹配,速度慢,对目标图片要求看起来差不多就行了
- 选择脚本结束后操作,默认即可,字面意思
- 若你使用桌面版客户端,请勾选桌面版防异常,请打开配置文件config.ini修改 window 系统屏幕缩放率,即**[other_setting]** -> srceen_scale_rate
- 最后点击开始,即可运行并且输出运行日志
详细内容请查看此文章:aicezam#45
- 本脚本运行逻辑为,定时获取窗口的截图,依次对目标图片进行匹配,匹配成功获取到图片中心坐标点,然后随机延迟并点击附近随机坐标
- 阴阳师电脑版使用模板匹配时,不要调分辨率,如果要调分辨率,需要重新截图,然后放到/img 目录的对应文件夹下面
- 如果发现总是匹配失败,可能是/img 模板图片问题,可以重新截图,或使用特征点匹配方法,或切换为 兼容模式 ,也可自行调试代码看截图是否成功,找看看是哪儿的问题
- 特征点匹配方法适用窗体中没有多个相同的待检测目标,而且待检测目标与周围差异比较大,否则会不准确
- 支持安卓手机,需用 USB 连上电脑,并打开手机调试模式,使用 安卓-ADB 模式时,可以使用特征点匹配方式,不过有点慢,要不就重新截图替换/img 目录下的全部图片
- 支持游戏多开,仅需要运行 1 个脚本,需勾选多开并点击“选择窗体”,以获取窗口句柄编号,每个编号将对应一个窗口(可能不支持模拟器多开,未测试)
- 不想使用 cmd 编译的,可以自行编译为 win 程序,编译后需要把 img 文件夹和 modules 文件夹放进根目录中,手动编译可使用:pyinstaller --distpath Release/ -w -i logo.ico --clean .\smart_onmyoji_start.py
- 除了阴阳师,也支持其他点点点的游戏
- **img/huntu/**图片集是转为挖土而制作的目标集,为本人运行 8W 体力逐步优化精选目标图片
- 由于图片匹配是依次的,在图片前缀命名不同的数字即可设置点击的优先级,具体可参考./img/huntu 图片集
- 可设置匹配间隔为 0.6 秒,可媲美人手点击速度,(由于匹配频率不为点击频率,故匹配频率过快理论上不会收到鬼使黑的信),挖土有奇效
- 只要每天正常时间内,不刷满 300 次,理论上也不会收到鬼使黑的信,请按正常时间正常频率使用脚本,偶尔还是用一下樱饼,总使用脚本有被封号的风险
- UI 界面、可配置参数:可修改执行时间、间隔时间、匹配方式、压缩率、执行完成后的操作等
- 模板匹配方法:不能随意调整窗体分辨率,模板图片与窗体中的部分必须一致
- 特征点匹配方法:可以随便调整窗体分辨率,也可以对目标图片旋转、缩放,都可以匹配到
如果运行过长时间(5 小时以上),会有明显卡顿现象(连续肝了 3 天绘卷,消耗了 5w 体力)已修复- 如果电脑不能播放声音(比如设为静音),可能会停止运行(win10),可以在配置文件关闭“警告提示音”来解决
- 支持 abd 模式,电脑连手机自动截图
- 支持切换选择匹配模式,特征点匹配(自适应分辨率,不用重新截图,但速度略慢,且不太准确)、模板匹配(速度更快,更精确,但麻烦,不能改分辨率)
- 加载图片时记录所有图片的特征信息,优化识别速度
- 支持压缩图片以提升脚本识别速度,默认为 1 不压缩
- 所有图片转灰度图,并保存在内存里,识别速度快多了
- 修复中文路径报错的问题
- 兼容所有 windows 窗体的截图和点击
- 使用 QT5 重构 UI 界面
- 支持自定义匹配图片文件夹
- 支持多开,多开可选择多个游戏窗口,将自动对多个窗口截图、找图、点击
- 界面参数缓存,每次启动会加载上次使用的参数(可通过修改配置文件关闭此功能)
-
优化百鬼夜行的选式神和砸豆子逻辑(yolov5),尝试跑了个模型,但是效果不好,会导致程序特别臃肿,而且运行速度特别慢 -
增加御灵、地域鬼王、逢魔、秘闻副本等默认场景,现支持自定义,可通过修改配置文件自定义场景 - 兼容常用安卓模拟器后台点击
- 支持手机端局域网内远程使用(不用在手机安装 app),配置文件配置局域网 IP 即可
- 增加真实点击模拟,混淆坐标点击轨迹(可自行设置)
- 更加真实的模拟人类交互行为 aicezam#45
- 支持自动“绿标”,需要设置 img_pos.json
- 2023 年 02 月 10 日 修复因设备、网络出现卡顿会多匹配几次的的情况,导致轮次统计不准的 bug aicezam#61
- 2022 年 12 月 11 日 新增:支持设置轮次回合计算进度;img 的 json 配置,增加 flag 标记,可为图片设置“mark(绿标)、start(回合开始)、skip(跳过)、stop(终止)”标记
- 2022 年 12 月 03 日 屏幕压缩分辨率可在界面设置;增加匹配频率限制,可在配置文件修改默认参数;随机等待的最小触发时间改为 150 秒;优化异常抛错的显示,增加报错原因;修复因 img 文件夹下没有 json 文件导致脚本错误的 bug;调整默认 img 的 json 文件偏移坐标默认参数;
- 2022 年 11 月 25 日 偏移算法优化:增加较大范围的偏移,配合匹配目标的 json 文件配置,用于点击空白处的情形;优化点击过程中,出现异常则重新匹配的机制~
- 2022 年 11 月 23 日 优化点击算法:img 文件夹中增加 json 配置,可配置该图片需要点击的坐标(相当于较大范围的偏移,偏移到空白处点击),基于正态分布点击模型算法基础上再优化的
- 2022 年 11 月 20 日 新增点击日志分析工具,通过日志文件(不会上传到网络),本地生成散点图、每十分钟点击次数、每个匹配目标点击次数统计图,分析近期点击是否正常
- 2022 年 11 月 15 日 微调点击模型参数,增加 git 有更新时的提示(从 git 获取最新版本号与当前版本号对比)
- 2022 年 11 月 13 日 支持匹配间隔设置为 0.1s #36 ,优化每次点击的时间为 0.1-0.2s 之间,部分代码简化
- 2022 年 11 月 02 日 修复:安卓端不能正常使用的问题 #35
- 2022 年 10 月 31 日 优化:完善使用说明,新增:配置文件增加关闭记录日志的参数
- 2022 年 10 月 29 日 优化:在随机偏移模型的基础上,将窗口划分为 9 宫格,如果点击坐标落在不同的位置,获取到的偏移模型会进行一定角度的偏转,最大限度的避免了因大量重复点击某个范围导致的规律性,同时又保留一定正态分布的规律性,可将 click_log 中的点击日志导出到 excel 表中生成散点图或热力图,分析点击结果
- 2022 年 10 月 16 日 优化:限制点击模型边界范围(不超过偏移量)、优化点击位置在窗口的不同位置时,旋转点击位置,实现不同目标图片的点击,呈现不规律的正态分布
- 2022 年 10 月 15 日 优化:更新点击模型,除正态分布外,参照人类行为,分布规律还应呈现一定的长尾效应
- 2022 年 10 月 15 日 优化:重构混淆点击算法,使点击位置呈正态分布,而不是平均分布;增加点击日志记录(可用于 excel 表格中分析自己被封号的概率 🤪)\smart_onmyoji_start\modules\click_log\click_log_221014.txt
- 2022 年 10 月 09 日 增加:5 次匹配同一图片就停止脚本的开关配置 #27;优化:脚本运行前 90 秒内不再触发随机等待;
- 2022 年 10 月 05 日 优化:90 秒内最多触发 1 次随机等待(100 次成功匹配内必定至少触发一次随机等待);增加随机触发的音效“ding.wav”
- 2022 年 09 月 28 日 优化:当连续匹配同一个图片超过 5 次,则脚本将终止运行
- 2022 年 09 月 27 日 优化:匹配成功后的等待为随机(可配置概率),增加新功能(匹配指定目标图片名后停止脚本) #23
- 2022 年 09 月 24 日 增加:可自定义设置混淆额外点击的触发概率
- 2022 年 09 月 22 日 增加:快捷打开“配置文件、img 文件夹”的功能
- 2022 年 09 月 21 日 修复长时间运行导致匹配速度变慢的bug(日志过多)
- 2022 年 09 月 06 日 修复 Window 系统分辨率导致的失真bug,优化匹配时间间隔达到设定值
- 2022 年 08 月 11 日 优化时间计算算法(之前根据次数计算,会因为设备性能原因导致计算不准确,现在说多久完成就多久,不再拖延)
- 2022 年 08 月 05 日 配置文件增加注释说明,增加混淆坐标点击的开关,配置文件中设为 False 后关闭该功能(小窗口容易点到其他地方,使匹配目标被遮挡导致识别失败)
- 2022 年 07 月 07 日 增加真实点击模拟,混淆坐标点击(怀疑痒痒鼠后台会记录坐标点击轨迹数据,如果太规律容易被 ban 号)
- 2022 年 06 月 07 日 模拟器兼容方法优化,修复可能存在的兼容点击失败问题
- 2022 年 05 月 22 日 兼容常见模拟器:雷电模拟器、MuMu 模拟器、夜神模拟器、腾讯手游助手、逍遥模拟器后台点击,只测试了前面 2 个~
- 2022 年 05 月 09 日 修复不能识别雷神模拟器的 bug,另外增加部分异常情况的提示音(不喜欢可以通过配置文件关闭)
- 2022 年 05 月 07 日 添加免责声明,优化运行日志显示
- 2022 年 05 月 04 日 每次使用脚本时,参数会被记录在 config.ini 文件中,下次启动时会加载上次使用的参数,配置文件中也有其他配置,可修改以实现不同的需要
- 2022 年 04 月 30 日 优化多开功能,仅需要运行 1 个脚本,需勾选多开并点击“选择窗体”,以获取窗口句柄编号,每个编号将对应一个窗口
- 2022 年 04 月 29 日 更新支持多开方法(运行多个脚本,每个脚本对应一个窗口),兼容 png 格式的模板截图~
- 2022 年 04 月 26 日 调整部分默认参数,更新雷电模拟器后台点击方法(感谢 @zyhazwraith https://github.com/zyhazwraith 提供的思路 aicezam#7 )
- 2022 年 04 月 07 日 更新防检测异常的逻辑(虽然可能没什么用)
- 2022 年 04 月 03 日 增加选择自定义匹配目标图片文件夹的功能
- 2022 年 04 月 02 日 修复 bug:停止匹配后,偶尔会触发继续匹配运行的 bug
- 2022 年 03 月 31 日 移除重复的依赖,运行时检测是否使用管理员身份运行,脚本默认包含 adb 程序,为代码增加部分注释
- 2022 年 03 月 25 日 使用 PYQT5 重构 GUI,使用 pyautogui 替换 pymouse 库
- 2022 年 03 月 12 日 增加兼容模式,支持在所有的 windows 窗体 截图和点击,包括模拟器、云游戏、scrcpy 等, 兼容模式下 窗体会自动置顶,不再支持后台点击
- 2022 年 03 月 10 日 增加鼠标点击选择窗体的功能,(窗口标题名称 - 下拉选择 “开始后鼠标点击选择窗体”,5 秒内点击要匹配窗体)
- 2022 年 01 月 27 日 修复 opencv 在中文路径下报错的问题
- 2022 年 01 月 26 日 重新加入模板匹配方法,并设为默认方法,因为发现匹配速度有点慢,准确率不太高
- 2022 年 01 月 19 日 优化匹配速度,截图和读取模板图片时先转灰度,支持对截图设置压缩率,进一步优化匹配速度;更换全部匹配方法为 sift 匹配;增加对安卓设备的支持,通过 ADB 实现;
- 2022 年 01 月 15 日 首次提交,自动截图、匹配、点击
仅作学习用途,请勿用于其他非法途径!