模组:编辑 XNB 文件 |
您所在的位置:网站首页 › gtasa手机版贴图文件放在哪儿 › 模组:编辑 XNB 文件 |
←目录 本页描述了如何编辑游戏文件以更改游戏中的数据、图像和地图。 目录 1 介绍 1.1 什么是 XNB 文件? 1.2 如何将更改应用到游戏中? 1.3 在哪里可以得到帮助? 2 解包游戏文件 2.1 StardewXnbHack 2.2 xnbcli 3 打包游戏文件 4 进行修改 4.1 数据 4.2 图像 介绍 什么是 XNB 文件?游戏将数据、地图和纹理存储在 .xnb 这种压缩数据文件中,它们在游戏的 Content 文件夹中。 例如,对话期间显示的阿比盖尔的头像来自这个文件: Content\Portraits\Abigail.xnb。解包这个文件,你会得到 Abigail.png 这个图片文件,内容如下: (如果你使用 xnbcli 来解包,你通常会得到 Abigail.json 文件。 那只是用来打包回 .xnb 所需的文件,通常不需要更改它。) 如何将更改应用到游戏中?有3个方法可以使你的修改应用到游戏中: 创建一个Content Patcher内容包(也见:nexusmods.com上的Content Patcher)。这不需要编程,仅编辑 JSON 文件就可以更改游戏的 XNB 数据,也无需替换实际的游戏文件。 制作一个 SMAPI 模组 并使用 内容 API。不过,这需要编程。 通过替换原始游戏文件来创建 XNB 模组。不再建议使用,本页面没有讲解; 访问 使用 XNB 模组 获取更多信息。 在哪里可以得到帮助?欢迎前往星露谷物语模组社区寻求帮助。 解包游戏文件你无法编辑 .xnb 文件其本身,你需要编辑其中的文件。 将文件从中取出叫做 解包; 把文件放入其中叫做 打包。 有两个主要的 XNB 解包工具可用: StardewXnbHackStardewXnbHack 是用于解包 XNB 文件的开源且跨平台的工具。 它不能打包回 .xnb ,不过你也只在创建内容包时才需要打包回去。 如何操作: 安装 SMAPI 下载 StardewXnbHack(确保你下载的文件适用于你的系统,例如在Windows平台需要下载: StardewXnbHack-*-for-windows.zip 而不是 source code!) 解压缩并放进 你的游戏文件夹, 也就是让 StardewXnbHack.exe 文件位于与![]() 就是这样!它将会把解包的内容放入游戏文件夹下的 Content (unpacked) 文件夹。解包出的文件可用于创建 Content Patcher 的内容包。 xnbclixnbcli 是用于打包和解包 XNB 文件的开源且跨平台的工具。它无法解包带有数据模型的 XNB 文件 (例如 Data\FishPondData 或者 Data\Movies),并且需要手动编辑数据文件才能与 Content Patcher 等模组一起使用。 如何操作: 下载 xnbcli。 (确保你下载的文件适用于你的系统,例如在Windows平台需要下载:xnbcli-windows-x64.zip 而不是 source code!) 解压缩下载的文件: 找到你要解包的文件。 将它放进 xnbcli 的 packed 文件夹。 双击 unpack.bat (Windows)、unpack.sh (Linux)、unpack.command (Mac)。 检查 Unpacked 文件夹,解包后的文件在该文件夹中 (如果你没有一次性解包很多文件,它可能会在屏幕上闪烁并瞬间消失,这很正常!无论如何,请注意检查 Unpacked 文件夹。注意 1.4 引入了 xnbcli 无法处理的新数据模型格式;对于某些数据文件,你需要使用 StardewXnbHack 才行。) 编辑解压缩的文件(请参见下文)。 如果这是一个数据文件(而不是图像或地图),要替换或编辑该文件,则需要删除 XNB 元数据。当前的 JSON 文件内容应如下所示: { "header": { "target": "w", "formatVersion": 5, "hidef": true, "compressed": true }, "readers": [ { "type": "Microsoft.Xna.Framework.Content.DictionaryReader`2[[System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]", "version": 0 }, { "type": "Microsoft.Xna.Framework.Content.Int32Reader", "version": 0 }, { "type": "Microsoft.Xna.Framework.Content.StringReader", "version": 0 } ], "content": { "0": "Weeds/0/-1/Basic/Weeds/A bunch of obnoxious weeds." } }只需删除 除了内容字段(content)以外的所有内容,就像这样: { "0": "Weeds/0/-1/Basic/Weeds/A bunch of obnoxious weeds." }故障排除: 如果您在 Linux 或者 Mac 上遇到权限问题: 打开一个终端(在 MacOS 中,在 Spotlight 中搜索“终端”或者英文“Terminal”) 输入 chmod +x , 并以一个空格结束输入,现在不要按 Enter 键。 拖拽 unpack.sh (Linux) 或 unpack.command (Mac) 到终端窗口上以输入文件路径。 按 Enter 键。如果操作正确,终端将不会显示任何消息,权限问题应该解决了。 重新尝试运行 pack.sh (Linux) 或 pack.command (Mac). 如果在 Windows 上遇到无法识别的命令,请执行以下操作: 确保你没有误下载 源代码zip! 打包游戏文件你不需要打包游戏文件,如果你正在使用 Content Patcher 的话。 使用 .json, .png, 或者 .tbin 文件连接到你的 content.json. 如果你确实想打包,则需要使用 xnbcli: 找到你要重新打包的文件。 复制到 xnbcli 的 unpacked 文件夹。 双击 pack.bat (Windows)、pack.sh (Linux)、pack.command (Mac)。 移动打包后的 .xnb 文件至原来的位置。 进行修改 数据每个 XNB 都有自己的格式。请参阅模组:目录#高阶主题中的文档。 图像![]() ![]() 一些定义: spritesheet 指的是包含小图像的 PNG 文件(小图像通常排列成规则的网格形式)。每一块小图像都称为一个 sprite。例如,在Content\Maps\spring_objects.xnb中,每个游戏内物品都有一个 sprite。 tilesheet 是 Spritesheet 的同义词,用于地图图块。在tilesheet中,每个方格称为“图块(tile)”,大小为 16×16 像素。 portrait 是Content\Characters\*.xnb的spritesheets中的sprite。Spritesheets 易于编辑: 解包你想要更改的文件。 用图像编辑器(例如Windows平台上的 Paint.NET,或是适用于Windows/Linux/Mac平台的 GIMP)打开已解包的 .png文件。注意,使用支持透明通道(即ARGB 中的 A:alpha 通道)的图像编辑器(例如 Photoshop)非常重要,因此不推荐使用Windows自带的画图。 直接对图像进行更改。 重新打包文件 然后复制到原位置。就是这样!然后你就可以打开游戏以看看你做出的修改了! |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |