1 Star 0 Fork 7

山河不入梦 / SmartOnmyoji

forked from xiaoming / SmartOnmyoji 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

SmartOnmyoji


SmartOnmyoji - 作者已弃坑,也不再维护此项目了…

虽然有很多大佬有写过类似的脚本,但其实这是个学习项目,通过这个项目基本花了一个月学会了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


🎁使用方法

  • 使用前警告:请谨慎使用辅助脚本,所有不公平游戏行为都可能被官方检测导致封号(坐标偏移量越小、点击频率越快,越容易被检测)
  1. 选择使用的客户端,推荐使用 阴阳师桌面版NGA论坛)、桌面版多开器推荐(V5多开器)、雷电模拟器(官网)、MuMu模拟器(官网)
  2. 选择匹配目标Window或Android
  3. 选择单开模式还是多开模式,初次使用建议单开
  4. 点击选择窗体,在倒计时结束前点击窗体,结束后显示窗口标题
  5. 选择目标名称,初次使用推荐选择 [御魂] 模式,在软件目录下打开 ./img/yuhun/ ,文件夹下的图片就是御魂模式需要匹配的目标
  6. 调整脚本运行时间,默认即可,最好不超过三小时
  7. 调整匹配间隔,默认3秒即可
  8. 调整坐标偏移,可以在安全性和准确性之间权衡,默认即可
  9. 选择运行模式,推荐正常模式
    • 正常模式:即后台模式(不能点击最小化,可以被其他窗口覆盖,可以正常使用鼠标),但不支持部分窗体(如网易MuMu、网易云游戏)
    • 兼容模式:即前台模式(始终保持窗口最前,不能正常使用鼠标),支持所有窗体
  10. 调整压缩截图,设置在0.6左右时,准确率和速度能兼顾,如果对匹配速度可以忍受,不建议修改压缩率(压缩率越低,准确度越低)
  11. 设置匹配方法,初次使用推荐选择特征点匹配
    • 模板匹配, 速度快,对目标图片要求一模一样
    • 特征点匹配,速度慢,对目标图片要求看起来差不多就行了
  12. 选择脚本结束后操作,默认即可,字面意思
  13. 若你使用桌面版客户端,请勾选桌面版防异常,请打开配置文件config.ini修改window系统屏幕缩放率,即**[other_setting]** -> srceen_scale_rate
  14. 最后点击开始,即可运行并且输出运行日志


🧙关于脚本的防检测原理、算法

详细内容请查看此文章:https://github.com/aicezam/SmartOnmyoji/issues/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界面、可配置参数:可修改执行时间、间隔时间、匹配方式、压缩率、执行完成后的操作等

3

2

  • 模板匹配方法:不能随意调整窗体分辨率,模板图片与窗体中的部分必须一致

image

  • 特征点匹配方法:可以随便调整窗体分辨率,也可以对目标图片旋转、缩放,都可以匹配到

image


🙋‍♀️已知BUG

  1. 如果运行过长时间(5小时以上),会有明显卡顿现象(连续肝了3天绘卷,消耗了5w体力) 已修复
  2. 如果电脑不能播放声音(比如设为静音),可能会停止运行(win10),可以在配置文件关闭“警告提示音”来解决


🧩已实现功能

  • 支持abd模式,电脑连手机自动截图
  • 支持切换选择匹配模式,特征点匹配(自适应分辨率,不用重新截图,但速度略慢,且不太准确)、模板匹配(速度更快,更精确,但麻烦,不能改分辨率)
  • 加载图片时记录所有图片的特征信息,优化识别速度
  • 支持压缩图片以提升脚本识别速度,默认为1不压缩
  • 所有图片转灰度图,并保存在内存里,识别速度快多了
  • 修复中文路径报错的问题
  • 兼容所有windows窗体的截图和点击
  • 使用QT5重构UI界面
  • 支持自定义匹配图片文件夹
  • 支持多开,多开可选择多个游戏窗口,将自动对多个窗口截图、找图、点击
  • 界面参数缓存,每次启动会加载上次使用的参数(可通过修改配置文件关闭此功能)
  • 优化百鬼夜行的选式神和砸豆子逻辑(yolov5),尝试跑了个模型,但是效果不好,会导致程序特别臃肿,而且运行速度特别慢
  • 增加御灵、地域鬼王、逢魔、秘闻副本等默认场景,现支持自定义,可通过修改配置文件自定义场景
  • 兼容常用安卓模拟器后台点击
  • 支持手机端局域网内远程使用(不用在手机安装app),配置文件配置局域网IP即可
  • 增加真实点击模拟,混淆坐标点击轨迹(可自行设置)
  • 更加真实的模拟人类交互行为 https://github.com/aicezam/SmartOnmyoji/issues/45
  • 支持自动“绿标”,需要设置 img_pos.json


📑更新记录

  • 2023年02月10日 修复因设备、网络出现卡顿会多匹配几次的的情况,导致轮次统计不准的bug https://github.com/aicezam/SmartOnmyoji/issues/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 提供的思路 https://github.com/aicezam/SmartOnmyoji/issues/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日 首次提交,自动截图、匹配、点击


🤪其他说明

仅作学习用途,请勿用于其他非法途径!

MIT License Copyright (c) 2022 ACE Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

阴阳师后台代肝脚本(支持后台运行、支持多开、支持模拟器) 展开 收起
Python
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Python
1
https://gitee.com/xiyangkuangge/SmartOnmyoji.git
git@gitee.com:xiyangkuangge/SmartOnmyoji.git
xiyangkuangge
SmartOnmyoji
SmartOnmyoji
main

搜索帮助