OnmyojiAutoScript亚洲服兼容性问题分析与解决方案
项目背景
OnmyojiAutoScript是一款针对《阴阳师》手游的自动化脚本工具,主要用于帮助玩家自动完成游戏中的各种日常任务和副本挑战。该项目最初设计时主要针对国服版本进行开发,因此在处理亚洲服(国际服)时会出现一些兼容性问题。
主要问题分析
亚洲服与国服的主要差异在于游戏界面语言和部分UI元素的不同。具体表现为:
-
文字识别问题:亚洲服使用繁体中文,而国服使用简体中文,导致基于文字识别的功能失效。例如组队功能中,脚本通过识别左上角"协战队伍"字样来判断是否成功进入组队,但亚洲服显示为"協戰隊伍"。
-
UI元素差异:游戏中的按钮、图标等UI元素在亚洲服和国服版本中存在差异,导致基于图像匹配的功能无法正常工作。
-
流程差异:部分游戏功能的操作流程在两个版本中可能有所不同。
技术解决方案
1. 文字识别适配
对于依赖文字识别的功能,需要针对亚洲服的繁体中文进行适配:
- 修改OCR识别规则,使用繁体中文关键词
- 扩展识别范围,同时支持简体和繁体
- 示例代码修改:
# 原始国服识别规则
I_LOGIN_8 = RuleImage(roi=(...), keyword="进入游戏")
# 亚洲服适配
O_LOGIN_ENTER_GAME_TW = RuleOcr(roi=(...), keyword="進入游战")
2. UI元素适配
对于依赖图像匹配的功能:
- 为亚洲服单独准备UI截图资源
- 修改图像匹配规则,使用亚洲服特有的UI元素
- 示例目录结构:
assets/
ui/
ui_reward.png # 国服奖励图标
ui_reward_TW.png # 亚洲服奖励图标
3. 流程适配
针对亚洲服特有的操作流程:
- 修改任务执行逻辑,适配亚洲服流程
- 增加流程分支判断,根据服务器版本选择不同执行路径
- 优化等待和重试机制,提高兼容性
实现建议
-
建立多语言支持框架:设计可扩展的多语言支持架构,便于未来支持更多服务器版本。
-
自动化测试:建立针对不同服务器版本的自动化测试流程,确保修改不会影响原有功能。
-
配置化:将服务器相关配置提取到配置文件中,方便用户切换不同服务器版本。
-
社区协作:鼓励社区贡献不同服务器版本的适配资源,减轻维护负担。
总结
OnmyojiAutoScript项目要实现对亚洲服的完整支持,需要进行全面的文字识别、UI匹配和流程适配工作。虽然工作量较大,但通过合理的架构设计和社区协作,完全可以实现多服务器版本的兼容支持。对于开发者而言,这也是一个很好的机会来提升项目的健壮性和可扩展性。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



