如何解决OnmyojiAutoScript悬赏封印功能探索副本支持问题?超实用解决方案
OnmyojiAutoScript是一款专为阴阳师玩家设计的自动化脚本工具,能够帮助玩家自动完成悬赏封印等日常任务。然而在实际使用中,不少用户遇到了探索副本支持不足的问题。本文将深入分析这一问题的根源,并提供详细的解决方案。
悬赏封印功能现状分析
在阴阳师游戏中,悬赏封印是日常任务的重要组成部分,玩家需要在不同副本中击败指定数量的式神。OnmyojiAutoScript的悬赏封印模块位于./tasks/WantedQuests/目录下,主要通过以下文件实现核心功能:
- script_task.py:实现悬赏封印任务的主逻辑
- assets.py:定义任务所需的图像资源
- config.py:配置文件管理
探索副本支持的主要问题
通过分析script_task.py代码,发现当前探索副本支持存在以下主要问题:
-
副本识别局限性:代码中对探索副本的识别主要依赖固定图像模板,如
I_WQ_TYPE_1至I_WQ_TYPE_4,难以应对游戏版本更新导致的界面变化。 -
任务执行逻辑限制:在
execute_mission函数中,探索副本的优先级处理逻辑相对简单,仅通过order_list.index(type_wq)确定执行顺序,缺乏灵活的配置选项。 -
OCR识别误差处理:代码中多次提到斜杠'/'被误识别为'7'的问题,虽然有简单的正则处理,但在复杂场景下仍可能导致任务计数错误。
图:OnmyojiAutoScript的主界面预览,展示了清晰的任务管理界面
探索副本支持问题的技术解析
代码结构分析
在script_task.py中,探索副本相关的核心代码位于以下几个关键函数:
-
extract_info函数:提取副本信息,包括类型、地点和数量
def extract_info(index: int) -> tuple or None: # 提取每一个地点的信息 # 返回 (类型, 地点层级,可以打败的数量,前往按钮, func) -
execute_mission函数:根据提取的信息执行对应任务
def execute_mission(self, ocr, num_want: int, num_challenge: int): # 执行悬赏任务主逻辑 -
explore方法:处理探索副本的具体执行流程
关键问题定位
-
副本类型判断逻辑:在
extract_info函数中,副本类型判断依赖固定的OCR识别结果,如"挑战"、"探索"、"秘闻",当游戏更新副本名称时容易失效。 -
探索副本优先级设置:在代码第350-353行,优先级仅通过简单的列表索引确定,用户无法自定义调整:
order_list = self.config.model.wanted_quests.wanted_quests_config.battle_priority order_list = order_list.replace(' ', '').replace('\n', '') order_list: list = re.split(r'>', order_list) result[0] = order_list.index(type_wq) if type_wq in order_list else -1 -
探索副本战斗逻辑:当前代码中缺少专门针对探索副本的战斗策略,统一使用
run_general_battle处理所有战斗场景。
解决方案与优化建议
1. 增强副本识别能力
修改extract_info函数,增加对探索副本的多维度识别:
- 结合图像识别和OCR文本识别提高准确性
- 添加副本类型白名单配置,允许用户自定义副本名称
- 实现动态模板匹配,适应游戏界面更新
2. 优化探索副本优先级系统
在./tasks/WantedQuests/config.py中添加探索副本优先级配置项:
- 允许用户通过配置文件自定义不同副本类型的优先级
- 增加副本难度权重,自动选择最适合的探索副本
3. 改进OCR识别误差处理
针对斜杠识别问题,优化process_ocr函数:
def process_ocr(self, txt):
# 增强的OCR结果处理逻辑
def detect_spliter(txt):
# 改进的分隔符检测算法
index = txt.find('/')
if index != -1:
return index
# 更智能的'7'与'/'区分逻辑
reg = re.compile(r'^(\d+)([7/])(\d+)$')
match = reg.match(txt)
if match:
# 根据上下文判断是7还是/
num1, spliter, num2 = match.groups()
if int(num1) > int(num2):
return -1 # 不可能出现当前数量大于总数的情况
# 结合游戏逻辑判断,悬赏封印总数不会是7开头
if spliter == '7' and int(num2) < 15:
return match.start(2)
return -1
# 其余处理逻辑...
4. 添加探索副本专用战斗策略
在script_task.py中新增explore_strategy方法,针对探索副本特点优化战斗流程:
- 自动识别探索副本中的特殊事件
- 优化探索路线,提高效率
- 增加探索过程中的资源收集逻辑
配置文件修改指南
要启用增强的探索副本支持,需要修改./tasks/WantedQuests/config.py配置文件:
- 增加探索副本优先级配置:
battle_priority: "探索>挑战>秘闻"
- 配置探索副本白名单:
exploration_whitelist:
- "探索·第一章"
- "探索·第二章"
# 添加其他需要支持的探索副本
- 调整OCR识别参数:
ocr_threshold: 0.85
ocr_retry_count: 3
总结与展望
通过上述优化,OnmyojiAutoScript的悬赏封印功能将获得更完善的探索副本支持。主要改进点包括:
- 提升副本识别的准确性和兼容性
- 增加用户自定义配置选项
- 优化OCR识别逻辑,减少错误
- 增强探索副本战斗策略
未来版本可以考虑添加机器学习模型,进一步提高副本识别的智能性,以及支持更多特殊副本类型。玩家可以通过./tasks/WantedQuests/目录下的配置文件随时调整探索副本的处理策略,获得更个性化的自动化体验。
希望本文提供的解决方案能够帮助阴阳师玩家更好地利用OnmyojiAutoScript完成悬赏封印任务,享受更便捷的游戏体验!
Kimi-K2.5Kimi K2.5 是一款开源的原生多模态智能体模型,它在 Kimi-K2-Base 的基础上,通过对约 15 万亿混合视觉和文本 tokens 进行持续预训练构建而成。该模型将视觉与语言理解、高级智能体能力、即时模式与思考模式,以及对话式与智能体范式无缝融合。Python00
GLM-4.7-FlashGLM-4.7-Flash 是一款 30B-A3B MoE 模型。作为 30B 级别中的佼佼者,GLM-4.7-Flash 为追求性能与效率平衡的轻量化部署提供了全新选择。Jinja00
VLOOKVLOOK™ 是优雅好用的 Typora/Markdown 主题包和增强插件。 VLOOK™ is an elegant and practical THEME PACKAGE × ENHANCEMENT PLUGIN for Typora/Markdown.Less00
PaddleOCR-VL-1.5PaddleOCR-VL-1.5 是 PaddleOCR-VL 的新一代进阶模型,在 OmniDocBench v1.5 上实现了 94.5% 的全新 state-of-the-art 准确率。 为了严格评估模型在真实物理畸变下的鲁棒性——包括扫描伪影、倾斜、扭曲、屏幕拍摄和光照变化——我们提出了 Real5-OmniDocBench 基准测试集。实验结果表明,该增强模型在新构建的基准测试集上达到了 SOTA 性能。此外,我们通过整合印章识别和文本检测识别(text spotting)任务扩展了模型的能力,同时保持 0.9B 的超紧凑 VLM 规模,具备高效率特性。Python00
KuiklyUI基于KMP技术的高性能、全平台开发框架,具备统一代码库、极致易用性和动态灵活性。 Provide a high-performance, full-platform development framework with unified codebase, ultimate ease of use, and dynamic flexibility. 注意:本仓库为Github仓库镜像,PR或Issue请移步至Github发起,感谢支持!Kotlin07
compass-metrics-modelMetrics model project for the OSS CompassPython00

