整个游戏的素材文件在 {游戏目录}Wandering_Sword\Content\Paks\Wandering_Sword-WindowsNoEditor.pak 中
逸剑风云决是由虚幻引擎制作的游戏,我们可以通过开源工具来对素材文件进行解包
下面是需要用到的工具及其开源地址
解包工具,针对本游戏请使用 1.3 版本,其他版本会闪退
https://github.com/jashking/UnrealPakViewer
文件查看工具
https://github.com/atenfyr/UAssetGUI
下载好工具,下面是正式的操作流程
启动解包工具 UnrealPakViewer
将 Wandering_Sword-WindowsNoEditor.pak 拖入解包工具中
将如图所示的物品文件(Items.uasset, Items.uexp)提取出来
启动查看工具 UAssetGUI
将刚刚提取出来的 Items.uasset 拖入刚刚打开的查看工具中(这一步已经可以用工具看所有的物品介绍了,后续步骤是为了批量提取物品名称和对应的 id)
使用 save as 功能导出为 json 数据
使用任意文本编辑工具分析一下文件结构
编写代码批量提取,下面的代码以 Java 为例,你可以借用 AI 工具转换为任何你希望的编程语言
public class Test {
public static void main(String[] args) {
// 这里用的是 HuTool 的 JSON 工具类
JSON json = JSONUtil.readJSON(FileUtil.file("这里替换成你刚刚导出的 json 文件路径"), StandardCharsets.UTF_8);
JSONArray exports = json.getByPath("Exports[0].Table.Data", JSONArray.class);
exports.jsonIter().forEach(o->{
Integer id = o.getByPath("Value[0].Value", Integer.class);
String name = o.getByPath("Value[2].CultureInvariantString", String.class);
// 这里输出到控制台只是演示使用,你可以输出到 txt 文件
System.out.println(id + " " + name);
});
}
}
至此,你已经提取了游戏的所有物品 ID
PS:解包工具理论上适用于所有虚幻引擎制作的游戏