siadialiga/Dying-Light-Map-Dumping-Tools
GitHub: siadialiga/Dying-Light-Map-Dumping-Tools
将《消逝的光芒》游戏原始地图从 .sobj 格式提取并转换为官方开发者工具可编辑的 .eds 格式的自动化工具集。
Stars: 0 | Forks: 0
# Dying Light 地图导出工具 (DLMDT)
本项目旨在帮助你使用官方的 Dying Light Developer Tools 打开并编辑 Dying Light 的原始地图。
我希望继续 [Brendon](https://github.com/12brendon34) 的工作,并且他也同意了。我不是一名专业的程序员,因此如果你发现了任何错误,请告诉我!
通常情况下,游戏的核心地图以一种开发者工具无法直接打开的格式(.sobj)存储。这套工具允许你提取这些地图,并将其转换为开发者工具能够识别的 .eds 格式。
## 前置条件
在使用这些工具之前,请确保你的计算机上已安装以下内容:
1. Python 3.x
2. .NET 8.0 SDK
3. 7-Zip(安装在默认目录中)
## 构建
首先,你需要编译转换工具。在项目文件夹中打开终端或命令提示符,然后运行:
```
dotnet build MapTools.sln
```
这将在 `SoDumper` 和 `Map2EDS` 文件夹中生成所需的可执行文件。
然后你可以运行自动化脚本:`python AutoMapDumper.py` 来导出地图。
## 如何使用
整个过程基本是通过 `AutoMapDumper.py` 脚本自动完成的。
1. 从 [Releases](https://github.com/siadialiga/Dying-Light-Map-Dumping-Tools/releases) 页面下载最新版本。
2. 在 `DLMDT_Release` 文件夹中打开你的终端。
3. 运行自动化脚本:
python AutoMapDumper.py
4. 该脚本会寻找你的 `Data2.pak` 文件(通常位于你的 Steam 安装目录中)。如果它位于其他位置,你可以手动提供路径。
5. 它将扫描游戏文件并显示可用地图的列表。输入你想要导出的地图编号。
6. 脚本将提取地图、进行转换,并将最终的 `.eds` 文件保存在名为 `DumpedMaps` 的文件夹中。
## 在 Developer Tools 中的最终手动步骤
自动化过程处理了提取和转换工作,但你仍然需要在 Dying Light Developer Tools 中执行一些手动步骤,才能让地图正常工作。
1. 使用 7-Zip 打开 `Data2.pak` 并导航到 `data\maps\`。
2. 复制你之前选择的地图文件夹,并将其粘贴到你的桌面上。
3. 在你桌面上的该文件夹中,将 `.exp` 文件的扩展名更改为 `.map`。
4. 将整个文件夹移动到 DevTools workshop 内的项目目录中:
`C:\Program Files (x86)\Steam\steamapps\common\Dying Light\DevTools\workshop\(YOUR PROJECT FOLDER)\data\maps`
5. 在 Dying Light Developer Tools 中打开你的项目并加载地图。
6. 你会看到对象随机散落。这是正常现象。
7. 在地图中放置任意一个对象。在 Attributes 部分,将其 Matrix 坐标设置为 0, 0, 0 (x, y, z)。
8. 将此对象分组,保存地图,然后退出编辑器。
9. 在 `DumpedMaps` 文件夹中找到程序生成的 `.eds` 文件。
10. 重命名此文件,使其与你刚刚在编辑器中创建的组的名称相匹配。
11. 用重命名后的文件替换 workshop 文件夹中现有的 `.eds` 文件。
12. 当你在 Developer Tools 中重新打开地图时,所有对象都应该被正确定位和加载。
为了更方便地进行编辑,在对象加载完成后,你可以使用 'Destroy Hierarchy' 选项来取消这些对象的分组。
标签:7-Zip, DNS解析, Dying Light, .eds, Mod制作, .NET 8.0, Python, .sobj, Steam, 云资产清单, 地图编辑, 开源项目, 数字取证, 数据提取, 文件转换, 无后门, 模组工具, 消逝的光芒, 游戏修改, 游戏开发, 游戏资源解析, 自动化脚本, 逆向工具, 逆向工程