OnmyojiAutoScript百鬼夜行功能异常问题分析与解决方案
问题背景
在使用OnmyojiAutoScript自动化工具运行阴阳师百鬼夜行功能时,部分用户遇到了脚本进入百鬼界面后不撒豆子的异常情况。该问题主要出现在模拟器环境下,表现为脚本运行至百鬼撒豆界面时突然停止,并可能伴随错误弹窗。
错误现象分析
根据用户反馈和日志记录,该问题主要表现为以下几种情况:
-
索引越界错误:日志中出现
IndexError: index 719 is out of bounds for axis 0 with size 495的错误提示,表明脚本在尝试访问图像数组时超出了有效范围。 -
调试器弹窗:部分情况下会弹出OAS Tracker调试窗口,但后续无任何操作响应。
-
日志中断:脚本日志在进入百鬼界面后突然终止,没有后续操作记录。
根本原因
经过深入分析,该问题的根本原因在于模拟器窗口的缩放设置。具体表现为:
-
分辨率不匹配:模拟器窗口被拉伸或缩放,导致实际截图尺寸与脚本预期不符。日志中显示模拟器截图尺寸为(1792, 1008),而脚本预期的是标准分辨率。
-
图像处理失败:当脚本尝试对截图进行像素级操作时,由于分辨率不匹配导致数组越界错误。
-
调试模式干扰:部分情况下调试器的自动弹出会中断正常脚本流程。
解决方案
1. 正确设置模拟器分辨率
确保模拟器窗口保持原始分辨率,不要进行任何缩放或拉伸操作:
- 关闭模拟器的"自动适应窗口大小"选项
- 确保模拟器设置为标准分辨率(如1280x720)
- 避免使用全屏模式运行模拟器
2. 验证截图功能
在脚本设置中检查以下配置项:
- 确认
Screenshot handle num与模拟器实际窗口句柄匹配 - 验证
Emulator screenshot size显示的是正确分辨率
3. 调试模式设置
如果不需要调试功能,可以在脚本配置中:
- 关闭百鬼夜行的调试显示选项
- 设置
hya_show = False以避免调试器弹窗干扰
预防措施
为避免类似问题再次发生,建议:
-
标准化运行环境:保持模拟器设置与脚本要求一致,避免个性化调整。
-
日志监控:定期检查脚本日志,特别关注分辨率相关的警告信息。
-
版本更新:及时更新OnmyojiAutoScript到最新版本,获取最佳兼容性。
技术原理深入
该问题的技术本质在于图像处理中的坐标映射关系。OnmyojiAutoScript依赖精确的屏幕坐标来执行点击操作,当模拟器窗口被缩放时:
- 实际截图尺寸发生变化
- 脚本内预设的点击坐标与实际情况不匹配
- 图像处理时尝试访问不存在的像素位置
这种机制保证了脚本操作的精确性,但也对运行环境提出了严格要求。理解这一原理有助于用户更好地配置和优化自动化环境。
总结
OnmyojiAutoScript的百鬼夜行功能对运行环境有较高要求,特别是模拟器的分辨率设置。通过保持标准分辨率、避免窗口缩放,并正确配置调试选项,可以确保脚本稳定运行。遇到类似问题时,首先检查环境配置,再结合日志分析,通常能够快速定位并解决问题。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



