用 YaeAchievement 把原神成就数据导出成通用 UIAF 格式
2026/8/23 15:19:21 网站建设 项目流程

用 YaeAchievement 把原神成就数据导出成通用 UIAF 格式

【免费下载链接】YaeAchievement更快、更准的原神数据导出工具项目地址: https://gitcode.com/gh_mirrors/ya/YaeAchievement

📄 场景切入

你肝了一年的成就只存在游戏客户端里:换设备、清数据或卸载游戏之后,完成时间和进度就再也查不到了。YaeAchievement 是一个原神成就数据导出工具,它从游戏进程直接读取数据,输出标准化的 UIAF JSON 文件。支持官服、渠道服与国际服三类服务器,对窗口大小和游戏语言没有要求。下面是从零拿到导出文件的完整路径。

🚀 两分钟上手

先交代一个前置条件:运行工具时原神不能处于启动状态,因为工具会自己拉起游戏,检测到游戏已运行会直接退出。

  1. YaeAchievement.exe放到游戏安装目录之外的文件夹(比如桌面),不要和原神主程序放一起。
  2. 双击运行。你会看到控制台打印版本信息,检查更新后显示"原神正在启动"并附进程 ID。
  3. 正常进入游戏,角色进入主界面后游戏自动退出,控制台列出全部导出目标。
  4. 用方向键选择"UIAF JSON 文件"并按回车;想跳过选择界面,也可以把导出目标序号作为命令行第二个参数传入,序号清单以仓库最新 README 为准。
  5. 控制台打印"导出成功"和文件完整路径,exe 所在目录会多出uiaf-20250101120000.json这样的文件(按时间戳命名)。

想从源码构建的话,也可以先获取代码:

git clone https://gitcode.com/gh_mirrors/ya/YaeAchievement

这条命令把项目源码拉到当前目录,之后按项目里的.csproj构建出 Windows 可执行文件即可。

文件到手之后,下一步是看懂它的内容。

🧭 它到底读了什么、输出了什么

整个过程分三步:输入、处理、输出。

  • 输入:工具先以挂起方式启动原神,向游戏进程注入YaeAchievement.dll监控库,再恢复游戏。它等待的是游戏服务端下发的成就全量数据消息。
  • 处理:消息到达后,原始字节先写入缓存,再由Parsers/AchievementAllDataNotify.cs里的解析器把数据流拆成每条成就一行:ID、状态、进度、完成时间。
  • 输出:在导出菜单里选目标。其中"UIAF JSON 文件"会把结果写入本地文件。UIAF 是一套通用的成就交换格式,存在的意义是让不同的工具都能读取彼此的导出结果,本工具实现的是 v1.1 版本。

每条记录只有 4 个字段:

字段含义取值示例
Id成就唯一标识84517
Status状态(0 无效,1 未完成,2 已完成,3 奖励已领取)2
Current当前进度10
Timestamp完成时间(Unix 秒)1735689600

注意:UIAF 导出只收录"已完成"和"进行中且有进度"的条目,未开始的成就不写入。

格式看完,来看它能用在哪里。

🎯 三个真实使用场景

场景 A:个人备份与迁移换设备或重装游戏之前,跑一次导出,把 JSON 存进网盘或 U 盘。文件里每条成就都带Timestamp,之后可以精确回查哪个成就是哪天完成的;按季度各导一份,还能对比进度变化。 如果你只想做这一件事,做到第 4 步选"UIAF JSON 文件"就够了。

场景 B:二次开发与数据接入UIAF JSON 是标准结构,脚本可以直接读取,例如统计完成数量:

import json data = json.load(open("uiaf-20250101120000.json", encoding="utf-8")) print(len(data["list"]), sum(1 for a in data["list"] if a["status"] in (2, 3)))

上面 3 行读取导出文件,打印记录总数和已完成成就数。想做成表格的话,CSV 目标导出的文件带中文表头(ID、状态、特辑、名称、描述、当前进度、目标进度、完成时间),可以直接用 Excel 打开做透视统计。 如果你只想出表格,做到选"表格文件 .csv"这一步就够了。

场景 C:团队或社区协作"椰羊"目标会把数据发送到 CocoGoat 在线服务并返回一个网页链接,把链接发到群里,其他人无需安装任何工具就能在线查看成就页面。这是本工具与外部线上服务对接最轻量的方式,适合公会或社区里做成就展示。 如果你只想要一个分享链接,做到第 3 步选"椰羊"就够了。

⚠️ 容易踩的坑 & 排查

现象:启动即提示"原神正在运行"并退出 →原因:工具需要自己挂起再恢复地启动游戏,游戏已开着时它拒绝工作 →处理:彻底退出游戏后重新运行工具。

现象:原神启动时报"数据异常(31-4302)" →原因:工具文件与游戏主程序放在同一目录,被游戏的保护机制判定为异常环境,README 的常见问题里明确提示不要这样放 →处理:把 exe 移到桌面等与游戏不同的目录。

现象:UIAF 文件里的成就比游戏内列表少 →原因:设计如此,UIAF 导出只包含"已完成"和"进行中且有进度"的条目,未开始的成就本来就不写入 →处理:需要完整列表时改选"表格文件 .csv"目标,它包含全部成就。

现象:第二次运行时询问"是否使用上次的数据" →原因:设计如此,导出后的原始数据有缓存,60 分钟内可以直接复用、无需再启动游戏 →处理:选"是"跳过启动游戏流程,选"否"走完整流程。

📖 延伸阅读与参与

  • 完整使用流程(含各导出目标的实际效果)在仓库docs/Tutorial.md,有中文、英文、日文三版;导出目标的完整清单以仓库最新 README 为准。
  • 一个可动手的小任务:用你导出的 UIAF JSON 算出"哪个月份完成的成就最多",Timestamp是 Unix 时间戳,换算成日期只需一行。
  • 想新增导出目标的话,先看src/Export.cs里的目标字典;问题反馈与讨论入口在仓库 README 对应链接中。
  • 字段结构和适配的游戏版本会随游戏更新而变化,最新状态以仓库为准。

【免费下载链接】YaeAchievement更快、更准的原神数据导出工具项目地址: https://gitcode.com/gh_mirrors/ya/YaeAchievement

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询