# new_yysscript
**Repository Path**: hicaiyx/new_yysscript
## Basic Information
- **Project Name**: new_yysscript
- **Description**: 阴阳师脚本工具。
低调护肝的工具。
编写语言:python。
界面语言:pyqt5。
支持功能:自动升级狗粮,自动御魂挖土,自动结界突破,自动业原火,自动御灵,自动困28,自动日轮之城。
- **Primary Language**: Python
- **License**: GPL-3.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 28
- **Forks**: 4
- **Created**: 2021-01-01
- **Last Updated**: 2026-01-05
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# yys自动化工具
阴阳师护肝的自动化脚本集合。
功能包含(不局限):
1. 御魂挂机,组队,单人
2. 结界突破
3. 业原火
4. 御灵
5. 活动预留功能
PS:**为了维护公平的游戏环境,鼓励大家手动游戏**。
脚本有风险,尽量仅学习 Python 使用。
使用帮忙见:[常见问题及解决方法](#常见问题及解决方法)
## 主版本更新记录
### 2021.07.22 sp面灵气活动
1. 增加活动预留-sp面灵气活动挂机
### 2021.07.06 阿修罗活动
1. 增加活动预留-sp面灵气活动挂机
### 2021.05.31 后台处理+妖气封印
1. 添加后台处理
2. 添加妖气封印
### 2021.04.27 使用原始窗体大小
1. 使用原始界面的窗体进行重新程序修改
### 2021.01.01 增加点击模式和日轮之城
1. 增加通用点击模式
2. 新增日轮之城的挑战
2021.03.25 补充:
1. **工具不再进行更新**,也不再提供程序下载。
2. 仓库暂时不撤掉,供学习 python 的有缘人一起交流学习。
## 软件介绍
### 支持的功能
当前软件支持的功能:
1. 御魂
2. 困28单人,困28组队
3. 御灵
4. 业原火
5. 结界突破
6. 点击模式
7. 活动预留
还有一些功能没有适配**后台运行**,所以可能存在问题,或者是未支持。
其他功能:
1. 业原火 + 换狗粮
2. 日轮之城 + 组队 + 换狗粮
### 硬件环境
- 软件环境:win7 , win10
- 硬件要求:非 4K 屏显示器(之前有朋友反馈 4K 屏不能正常使用)
- 分辨率:要求 1080p ,其他分辨率图片会匹配不上,暂不考虑支持
- 软件依赖:官方版本的阴阳师 PC 客户端
- 软件获取:
- 群文件,点击链接加入群聊:暂不再提供加群链接, python 爱好都可以私信。
- 开发者可自行编译打包,详见开发部分文档
- 项目 gitee 链接:https://gitee.com/chike567/new_yysscript
### 重要声明
- 本项目仅供学习用,请勿传播
- **使用脚本工具破坏游戏平衡,且有鬼使黑警告风险。若因使用脚本被封号,本人概不负责。**
- **不保证绝对安全。没有留后门。**有感兴趣且懂技术的可以自动查找源代码。
### 使用技术说明
图像识别 + 图像匹配(opencv) + 模拟人工操作 + 自动循环检测执行。
具体说明:
图片识别 + 图像匹配 + 自动点击。
通过将事先截好的游戏画面的图,与当前执行的阴阳师客户端的界面进行比对。如果图像匹配上,按照设定的方法去自动执行,如点击,拖拉等。最终是通过模拟人为操作,去实现一系列循环的操作。
其他自动点击是在图像匹配的区域去随机点击。举例说明:如匹配到挑战按钮,识别一个矩形框,随机在框内进行点击。
### 软件结构介绍
主要包括四个文件或目录
1. conf 配置文件,可能通过修改参数进行定制化的功能修改。配置文件为 **config.ini**
2. screenshot 程序用到的截图文件。一般情况下不建议自行替换截图文件。如部分图片匹配不上时,可自行截图替换。**并反馈修改。**
3. exe 文件即可执行文件,点击运行脚本
4. debug.log 运行中产生,发生异常时可以用来追踪一些问题
拿到软件包之后的具体操作步骤如下:
解压(不能有中文路径) -> 双击可执行文件 -> 选择功能 -> 选择参数 -> 点击开始
解压后的文件结构,debug.log 可能需要运行时才会出现:

成功打开后的界面如下:
启用一个功能的顺序:
1. 选择对应功能
2. 参数设置的那6个选项中设置对应的参数
3. 点击开始进行挑战
### config.ini 配置文件说明
参数在 conf 文件夹下面的 config.ini 文件中,右键用记事本打开,下图是用 notepad++ 打开。
ini格式说明:
1. [general],[]包含的是哪个功能配置,general是通用信息,用来设置界面
1. title,窗口标题
2. attention,注意事项
3. width,height,窗体大小(不能更改)
4. **licence**,认证码,用来限定认证过期时间
5. 其他#开头的是注释说明
6. 其他没有特别说明可能是冗余配置,没有实际作用
### 脚本的执行概述
执行步骤如下:
1. 选择功能,设置参数。
2. 点击开始,开始加载截图和配置项
3. 界面截图并比对截图,如匹配上截图执行对应的操作。如果一直没有比对到截图,一定时间后会自动退出程序
4. 执行操作后重复执行 3 ,直到触发结束标志
结束标志可能有:
1. 达到配置的循环次数
2. 功能预定的结束点,如结界突破没有挑战券了
3. 达到一定次数没有匹配上截图
## 功能使用
### 御灵使用
使用方法:
循环状态:只要符合下面状态时,才可以正常进入循环挑战。
注意事项:如果对应的类型没有开放的话,会自动切换类型,默认优先级顺序是豹子 -> 狐狸 -> 凤凰 -> 神龙。
### 御魂
使用方法
参数说明:
总共涉及的参数有下面几个:
1. 单人,双人,三人
2. 队长,队员
3. 循环次数
循环状态:只要符合下面状态时,才可以正常进入循环挑战。
注意事项
1. 因为组队挑战的话,涉及邀请组队和接受邀请组队的情况。如果此时有其他人邀请你打妖气封印的话,会点击接受,从而退出挑战。
2. 所以如果你好友比较多,大家都喜欢拉你打个妖气封印,金币妖怪,经验妖怪什么的,**需要定期查看是否有热心好友邀请**。
3. 组野队小心被举报。
### 业原火
使用方法
更换狗粮说明:
业原火我都是拿来作为狗粮,如果选择不带狗粮的话就不用看后面的了。
带狗粮的话,我一般是1+1+3。所以我限定的狗粮区域只有3只会去替换。更换狗粮时根据选择的狗粮类型进行替换。
参数说明:
总共涉及的参数有下面几个:
1. 更换狗粮,不更换
2. 循环次数
3. 狗粮类型,如果选择不更换,这个参数没有什么意思。
循环状态:
只要在符合下面两个图中状态,都是可以正常进入循环挑战。
注意事项:
1. 业原火的狗粮替换目前没有遇到说满级的狗粮没有更换的情况。
2. 涉及更换狗粮的场景,一律推荐使用白蛋。
### 结界突破
使用方法:
结界突破的流程:
1. 进行寮突破,直接全部完成,或者是6次用完了
2. 进行个人突破,直接没有挑战券或者是9个格子中有挑战失败的情况
3. 当进入一个挑战时,锁定**第四个位置**
4. 如果存在挑战失败,**自动点击刷新**。如果刷新还在CD,等待一段时间后再进行匹配。
循环状态:
### 升级狗粮
使用方法:
参数说明:
总共涉及的参数有下面几个:
1. 升级狗粮可选,2->3表示2星升3星;3->4表示3星升4星,升级仅使用N卡狗粮。
3. 循环次数
执行流程:
1. 切换到式神录界面
2. 切换到按星级排列,宽松排列
3. 识别到是2->3还是3->4
4. 选择一只满级狗粮,并点击育成
5. 切换到N卡,喂狗粮,点击确认,确认升级
6. 点击确认,重复3-6,直到狗粮不够或者是达到指定数量的狗粮
循环状态:
### 困28-换狗粮
使用方法:
参数说明:
总共涉及的参数有下面几个:
1. 单人,双人
2. 队长,队员
3. 循环次数
4. 狗粮类型
注意事项:
1. **存在一定概率不替换狗粮**。困28组队时,刚进入预选界面时,达摩会跳啊跳的,可能识别出错
2. 无法完全挂机,暂不修复
### 点击模式-暂不可用
使用方法:
这个功能需要自行截图和修改配置文件。
使用步骤:
1. 截图并放在指定目录下, src\screenshot\pattern
2. 截图命名添加到 config.ini 文件中,标签名 loop_keys
1. 如截图命名为 step1.jpg , step2.jpg , step3.jpg , loop_keys=step1,step2,step3
2. 记得要找标签是 [pattern] 下面的 loop_keys
3. 启动游戏,注意配置的次数可能无效
配置举例:
```
[pattern]
loop_times=50
# 截图的名称,不要留空格
# loop_keys=step1,step2,step3,step4,step5,step6,step7
# 每次点击之后要休眠的时间,单位是S,只能传整数
sleep_seconds=1
# 一轮循环的标志,暂不支持
loop_key=s7
attention=注意事项说明:\n1. 该模式只适用于识别图片并点击的功能\n2. 含有复杂逻辑时时不能用该模式\n3. 0604活动,锁定阵容即可,放在挑战的界面上
# None指截全图
win_name=阴阳师-网易游戏
```
注意事项:
因为每个图的回调都是点击,防止图片过小被鼠标遮挡,每次点击都会往右下角移动一定距离。
winname 实在不好设置时,设置成 None ,这个是截取整个屏幕。
### 活动预留-根据活动调整
给每个活动预留的功能,根据活动来调整。
## 功能更新预告
- [x] 开发文档合入readme
- [x] 优化代码结构,精简化 autogui.py ,将界面类,通用操作类,专属操作剥离出来。
- [ ] 点击模式优化,命令和对应的操作函数可配
- [ ] 添加一键环境配置文档
- [x] 功能扩展-日轮之城
- [ ] 功能扩展-永生之海
- [x] 功能扩展-狗粮升级
- [ ] 功能扩展-业原火换狗粮
## 常见问题及解决方法
### 认证失败
添加了对应的认证模式,遇到也联系我吧。
第一步:通过==菜单栏->工具->生成机器码==进行生成机器码。
这个步骤等价于打开一个空的记事本文件,把下面两行添加进行,然后修改成 uuid.bat ,执行之后把得到的方字。
```
wmic csproduct get uuid
Pause
```
第二步:将生成的机器码拷贝给我。我由此生成一个认证码。比如最终生成的认证码如下:
```
ZGQ3ZTRmZTVmYmViMjdiY2Q4MTQ4NmZmYmI4YzU1ZTZfMTY0MDk2NjQwMA==
```
每三步:替换掉 config.ini 的 [general] 下的 licence 。
可以手动替换,举例 config.ini 文件中修改到下列串。
```
[general]
licence=ZGQ3ZTRmZTVmYmViMjdiY2Q4MTQ4NmZmYmI4YzU1ZTZfMTY0MDk2NjQwMA==
```
也可以通过==菜单栏->工具->输入认证码==来直接设置,设置之后会重新加载一次配置,即时生效。
### 窗口调整失败
原因分析:没有管理员权限。
解决方法:右键程序,使用管理员身份运行程序。
### NoneType 截图对比失败
原因分析:
可能原因:程序放在了中文路径下;
解决方法:更换到英文路径下。
可能原因:包不完整。
确认方法:查看文件夹下是否有 screenshot , config 目录,并查看 screenshot 下是否有对应功能的截图
解决方法:将程序放在英文路径下。
可能原因:分辨率不是 1080p
确认方法:回到桌面 -> 右键(显示设置)-> ==缩放要求100%== -> ==分辨率(1920*1080)==。
解决方法:多显示器可以在 1080p 的显示器上再运行程序。只有一个显示器的设置分辨率,如无法设置建议换电脑再跑程序。
### 狗粮更换失败
问题表现:没有更换狗粮
原因分析:困28有一定概率无法识别到狗粮,比如刚进图的时候,达摩还在跳;比如无法识别到不同式神头上的“满”字。
优化:目前做的优化项是匹配多轮,具体优化点如下
1. 第一轮匹配到0只满级狗粮,就再进行一轮匹配,如果依然是0只就认为没有满级狗粮
2. 如果当前轮数的匹配跟上一轮匹配的值不一样,就继续进行下一轮的匹配,交将当次的结果作为下一轮的匹配项
3. 因为目前默认是匹配两轮,所以第2步也不支无限匹配下去
解决方法:手动更换狗粮,或者自动等下一轮匹配。
==最新版本的阴阳师版本,使用官方的轮换功能配合即可==。
### 卡在结算界面
原因:开启了个性化结算
解决方法:在阴阳师的设置中关掉去掉个性化结算。
### 其他问题
请先认真比对上述问题是否能够解决你的问题。如无法解决,反馈给作者或加群反馈。
## 如何双开游戏?
### 双开阴阳师
这里只举例一种:
将下面代码拷贝到新建文件中,修改名称为 ==open_yys.bat== 。双击就可以打开一个新的阴阳师程序了。
```bash
start bin\onmyoji.exe
```
### 双开脚本方式一
方式一:
使用步骤如下:
1. 你开两个脚本,两个阴阳师;多开同理
2. 先选中阴阳师窗体1 (点击这个阴阳师窗体即可),脚本程序1,启动功能
3. 先选中阴阳师窗体2 (点击这个阴阳师窗体即可),脚本程序2,启动功能
### 双开脚本方式二
通过==菜单栏->工具->帮助与反馈->阴阳师窗体名称获取==先获取到双开的两个阴阳师游戏窗体的句柄。如下面所示,两个句柄分别为 264012 , 262362
```
(264012, 'Win32Window', '阴阳师-网易游戏')
(262362, 'Win32Window', '阴阳师-网易游戏')
```
脚本程序1,通过==菜单栏->工具->输入阴阳师句柄==输入句柄 264012 ,这样第一个脚本程序1就绑定 264012 这个阴阳师窗体。这个时候可以先用脚本程序1启用功能。
脚本程序2,通过==菜单栏->工具->输入阴阳师句柄==输入句柄 262362 ,这样第一个脚本程序2就绑定 262362 这个阴阳师窗体。因为配置是共用的,所以**必须在脚本程序1启用之后再修改脚本程序2**。或者是将脚本程序拷贝两份,不共用一份配置。
## 其他工具使用
### 修改程序标题
通过==菜单栏->工具->修改程序标题==可以修改脚本程序的名称。可以降低风险。
### 修改阴阳师窗体名称
通过==菜单栏->工具->修改阴阳师窗体名称==可以修改获取阴阴师窗体程序的名称。==使用场景是使用沙盒打开阴阳师。==
现在可以使用脚本双开方式二中的方法来打开指定窗体,不建议使用这个功能。
建议使用句柄方式打开。见 [双开脚本方式二](#双开脚本方式二)
## 如何提交意见和反馈?
加群 -> 描述问题 -> 群里咨询 , 暂不再提供加群链接, python 爱好都可以私信。
需要软件的爱好者,或者有其他问题,可以给我发邮件: chik567@163.com
如何加群?加 [QQ 群](https://jq.qq.com/?_wv=1027&k=JzQxBbZx)。
或者直接点击菜单栏中有加群的反馈选项。
如何描述问题?
1. 问题要描述清楚,如何操作以及具体问题现象。
2. 将生成的 debug.log 文件一并附上
3. 配上具体截图效果更好。
示例:
问题描述:启用功能时报 NoneType
截图信息:
报错操作:启用程序 -> 启用御灵功能 -> 报错
## 编译方法
编译时,先激活 venv 的 python 环境。
```shell
python -m venv .venv
source .venv/Scripts/activate
pip install -r requirements.txt
```