首页
/ 如何解决OnmyojiAutoScript悬赏封印功能探索副本支持问题?超实用解决方案

如何解决OnmyojiAutoScript悬赏封印功能探索副本支持问题?超实用解决方案

2026-02-03 04:07:29作者:俞予舒Fleming

OnmyojiAutoScript是一款专为阴阳师玩家设计的自动化脚本工具,能够帮助玩家自动完成悬赏封印等日常任务。然而在实际使用中,不少用户遇到了探索副本支持不足的问题。本文将深入分析这一问题的根源,并提供详细的解决方案。

悬赏封印功能现状分析

在阴阳师游戏中,悬赏封印是日常任务的重要组成部分,玩家需要在不同副本中击败指定数量的式神。OnmyojiAutoScript的悬赏封印模块位于./tasks/WantedQuests/目录下,主要通过以下文件实现核心功能:

  • script_task.py:实现悬赏封印任务的主逻辑
  • assets.py:定义任务所需的图像资源
  • config.py:配置文件管理

探索副本支持的主要问题

通过分析script_task.py代码,发现当前探索副本支持存在以下主要问题:

  1. 副本识别局限性:代码中对探索副本的识别主要依赖固定图像模板,如I_WQ_TYPE_1I_WQ_TYPE_4,难以应对游戏版本更新导致的界面变化。

  2. 任务执行逻辑限制:在execute_mission函数中,探索副本的优先级处理逻辑相对简单,仅通过order_list.index(type_wq)确定执行顺序,缺乏灵活的配置选项。

  3. OCR识别误差处理:代码中多次提到斜杠'/'被误识别为'7'的问题,虽然有简单的正则处理,但在复杂场景下仍可能导致任务计数错误。

OnmyojiAutoScript界面预览 图:OnmyojiAutoScript的主界面预览,展示了清晰的任务管理界面

探索副本支持问题的技术解析

代码结构分析

script_task.py中,探索副本相关的核心代码位于以下几个关键函数:

  1. extract_info函数:提取副本信息,包括类型、地点和数量

    def extract_info(index: int) -> tuple or None:
        # 提取每一个地点的信息
        # 返回 (类型, 地点层级,可以打败的数量,前往按钮, func)
    
  2. execute_mission函数:根据提取的信息执行对应任务

    def execute_mission(self, ocr, num_want: int, num_challenge: int):
        # 执行悬赏任务主逻辑
    
  3. explore方法:处理探索副本的具体执行流程

关键问题定位

  1. 副本类型判断逻辑:在extract_info函数中,副本类型判断依赖固定的OCR识别结果,如"挑战"、"探索"、"秘闻",当游戏更新副本名称时容易失效。

  2. 探索副本优先级设置:在代码第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
    
  3. 探索副本战斗逻辑:当前代码中缺少专门针对探索副本的战斗策略,统一使用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配置文件:

  1. 增加探索副本优先级配置:
battle_priority: "探索>挑战>秘闻"
  1. 配置探索副本白名单:
exploration_whitelist:
  - "探索·第一章"
  - "探索·第二章"
  # 添加其他需要支持的探索副本
  1. 调整OCR识别参数:
ocr_threshold: 0.85
ocr_retry_count: 3

总结与展望

通过上述优化,OnmyojiAutoScript的悬赏封印功能将获得更完善的探索副本支持。主要改进点包括:

  • 提升副本识别的准确性和兼容性
  • 增加用户自定义配置选项
  • 优化OCR识别逻辑,减少错误
  • 增强探索副本战斗策略

未来版本可以考虑添加机器学习模型,进一步提高副本识别的智能性,以及支持更多特殊副本类型。玩家可以通过./tasks/WantedQuests/目录下的配置文件随时调整探索副本的处理策略,获得更个性化的自动化体验。

希望本文提供的解决方案能够帮助阴阳师玩家更好地利用OnmyojiAutoScript完成悬赏封印任务,享受更便捷的游戏体验!

登录后查看全文
热门项目推荐
相关项目推荐