Модификации:Редактирование XNB файлов: различия между версиями

Материал из Stardew Valley Wiki
Перейти к навигации Перейти к поиску
(Новая страница: «← Модификации {{Stub}} На этой странице объясняется, как редактировать файлы игры для из…»)
 
Строка 1: Строка 1:
 
← [[Модификации]]
 
← [[Модификации]]
{{Stub}}
 
  
 
На этой странице объясняется, как редактировать файлы игры для изменения внутриигровых данных, изображений и карт.
 
На этой странице объясняется, как редактировать файлы игры для изменения внутриигровых данных, изображений и карт.
Строка 6: Строка 5:
 
==Введение==
 
==Введение==
 
===Что такое XNB файл?===
 
===Что такое XNB файл?===
Игра хранит свои данные в сжатом <tt>.xnb</tt> формате внутри директории <tt>Content</tt>. Например, [[Абигейл#Портреты|портреты Абигейл]], отображаемые во время диалога, упакованы в файл<tt>Content\Portraits\Abigail.xnb</tt>. Каждый <tt>.xnb</tt> файл содержит два файла: файл с данными (например, изображение), и файл с метаданными (информация о файле с данными). К примеру, вот что находится внутри <tt>Content\Portraits\Abigail.xnb</tt>:
+
Игра хранит свои данные в сжатом контейнере <tt>.xnb</tt> формата в директории <tt>Content</tt>. Например, [[Абигейл#Портреты|портреты Абигейл]], отображаемые во время диалога, упакованы в файл <tt>Content\Portraits\Abigail.xnb</tt>. Каждый <tt>.xnb</tt> файл содержит два файла: файл с данными (например, изображение), и файл с метаданными (информация о файле с данными). К примеру, вот что находится внутри <tt>Content\Portraits\Abigail.xnb</tt>:
  
 
<pre>
 
<pre>
Строка 17: Строка 16:
  
 
* <tt>Abigail.png</tt> содержит портреты Абигейл. Отредактировав этот файл можно изменить портреты в игре:<br />[[File:Modding - creating an XNB mod - example portraits.png]]
 
* <tt>Abigail.png</tt> содержит портреты Абигейл. Отредактировав этот файл можно изменить портреты в игре:<br />[[File:Modding - creating an XNB mod - example portraits.png]]
 +
 
* <tt>Abigail.yaml</tt> содержит метаданные о файле <tt>Abigail.png</tt> (например, какого он типа). Не нужно беспокоиться об этом файле, так как обычно он не изменяется.
 
* <tt>Abigail.yaml</tt> содержит метаданные о файле <tt>Abigail.png</tt> (например, какого он типа). Не нужно беспокоиться об этом файле, так как обычно он не изменяется.
  
Строка 27: Строка 27:
  
 
===Где получить помощь?===
 
===Где получить помощь?===
Сообщество мододелов Stardew Valley дружелюбно. Спросите совета у [[Modding:Community|других мододелов]].
+
Сообщество мододелов Stardew Valley дружелюбно. Спросите совета у [[Модификации:Сообщество|других мододелов]].
 
 
==Начало работы==
 
===Первоначальная настройка===
 
Перед началом, необходимо установить:
 
 
 
:; на Windows
 
 
 
::* '''[https://www.mediafire.com/?b86xecd27yti6f6 XNB Extract 0.2.2]''' для распаковки и упаковки XNB файлов. <small>(Смотрите [http://community.playstarbound.com/threads/beginners-guide-to-xnb-node-and-graphics-editing.110976/ тему на форуме].)</small>
 
::* '''[http://www.getpaint.net/download.html Paint.NET]''' для редактирования изображений (или другой любимый графический редактор).
 
 
 
:; на Linux/Mac
 
 
 
::* '''[https://www.winehq.org/download Wine 1.7 или позднее]''' для запуска XNB Extract.
 
::* '''[https://www.dropbox.com/s/oj5tch8np74nk4d/XNBExtract0.2.2.zip?dl=0 XNB Extract 0.2.2 for Linux/Mac]''' для распаковки и упаковки XNB файлов.
 
::* '''[https://www.gimp.org/downloads/ GIMP]''' для редактирования изображений (или другой любимый графический редактор).
 
 
 
Также необходимо создать резервную копию директорию <tt>Content</tt> вашей игры, чтобы восстановить оригинальные файлы в случае ошибки.
 
 
 
===Unpack & pack game files===
 
<span id="unpacking"></span>
 
 
 
You can't edit an <tt>.xnb</tt> file itself, you need to edit the file that's inside it. Pulling out that inner file is called ''unpacking'', and putting it back is called ''packing''. Here's how to do it:
 
 
 
# Download XNB Extract (see [[#First-time setup]]).
 
# Unpack the file for editing:
 
## Find the file you want to edit in the [[Modding:Game folder|game's <tt>Content</tt> folder]].
 
## Copy it into XNB Extract's <tt>Packed</tt> folder.
 
## Double-click <tt>UnpackFiles.bat</tt> (Windows) or <tt>UnpackFiles.sh</tt> (Linux/Mac).
 
# Edit the unpacked file (see below).
 
# Repack the file for the game:
 
## Double-click <tt>PackFiles.bat</tt> (Windows) or <tt>PackFiles.sh</tt> (Linux/Mac).
 
## Move the repacked <tt>.xnb</tt> file back to the original location.
 
  
==Getting started (experimental alternative)==
+
==Распаковывание и упаковывание ресурсов==
xnbcli is a new tool for packing and unpacking XNB files. It's [https://github.com/LeonBlade/xnbcli open-source] and natively crossplatform, but still new. Try it out and [[Modding:Community#Discord|let us know]] how it goes!
+
Файлы формата <tt>.xnb</tt> представляют собой сжатый контейнер и не редактируются. Для редактирования ресурсов игры используется программа xnbcli, позволяющая распаковывать и упаковывать XNB файлы. Она кроссплатформена и имеет [https://github.com/LeonBlade/xnbcli открытый исходный код].
  
<div style="border:2px solid gray; padding:0.5em;">
+
Как это работает:
===Unpack & pack game files===
 
You can't edit an <tt>.xnb</tt> file itself, you need to edit the file that's inside it. Pulling out that inner file is called ''unpacking'', and putting it back is called ''packing''. Here's how to do it:
 
  
# Download [https://github.com/LeonBlade/xnbcli/releases xnbcli].
+
# Скачивается [https://github.com/LeonBlade/xnbcli/releases xnbcli].
# Unpack the file for editing:
+
# Распаковывается файл для редактирования:
## Find the file you want to edit in the [[Modding:Game folder|game's <tt>Content</tt> folder]].
+
## Находится нужный <tt>.xnb</tt> файл в директории [[Модификации:Директория игры|<tt>Content</tt>]].
## Copy it into xnbcli's <tt>packed</tt> folder.
+
##Копируется в директорию <tt>packed</tt> программы xnbcli.
## Double-click <tt>unpack.bat</tt> (Windows) or <tt>unpack.sh</tt> (Linux/Mac).
+
## Двойной клик по <tt>unpack.bat</tt> (Windows) или <tt>unpack.sh</tt> (Linux/Mac).
# Edit the unpacked file (see below).
+
# Редактирование распакованных данных (смотрите ниже).
# Repack the file for the game:
+
# Упаковывание ресурсов назад в файл:
## Double-click <tt>pack.bat</tt> (Windows) or <tt>pack.sh</tt> (Linux/Mac).
+
## Двойной клик по <tt>pack.bat</tt> (Windows) или <tt>pack.sh</tt> (Linux/Mac).
## Move the repacked <tt>.xnb</tt> file back to the original location.
+
## Замена оригинального <tt>.xnb</tt> файла измененным.
</div>
 
  
==Making changes==
+
==Редактирование распакованных данных==
===Data===
+
===Данные===
Each data XNB has its own format. See the documentation at [[Modding:Index#Advanced topics]].
+
XNB данные имеют разные форматы. Для детальной информации смотрите раздел [[Модификации#Дополнительно]].
  
===Images===
+
===Изображения===
[[File:Modding - creating an XNB mod - example tilesheet.png|thumb|An example tilesheet, which consists of a grid of tiles like this: [[File:Modding - creating an XNB mod - example tile 1.png]]]]
+
[[File:Modding - creating an XNB mod - example tilesheet.png|thumb|Пример tilesheet, который состоит из сетки тайловgrid of tiles like this: [[File:Modding - creating an XNB mod - example tile 1.png]]]]
A few definitions:
+
Несколько определений:
* A '''spritesheet''' is a PNG file containing small images (usually in a regular grid pattern). Each square in the spritesheet's grid pattern is called a '''sprite'''. For example, each in-game item has a sprite in <tt>Content\Maps\spring_objects.xnb</tt>.
+
* '''Спрайт-лист''' представляет собой PNG-файл, содержащий небольшие изображения (обычно в виде сетки). Каждый квадрат сетки называется ''спрайтом''. Например, спрайты многих объектов хранятся в <tt>Content\Maps\spring_objects.xnb</tt>.
* A '''tilesheet''' is a synonym for spritesheet when used for map tiles. In a tilesheet, each square is called a ''tile'' and is 16×16 pixels.
+
* '''Тайл-лист''' является синонимом спрайт-листа, который содержит в себе тайлы карты. Каждый квадрат сетки называется ''тайлом'' и имеет размер 16×16 пикселей.
* A '''portrait''' is a sprite from the <tt>Content\Characters\*.xnb</tt> spritesheets.
+
* '''Портрет''' спрайты содержащие портреты персонажей. Находятся в <tt>Content\Characters\*.xnb</tt>.
  
Spritesheets are easy to edit:
+
Спрайт-листы легко редактируются:
# [[#unpacking|Unpack the file]] you want to change.
+
# [[#Распаковывание и упаковывание ресурсов|Распаковывается <tt>.xnb</tt> файл]], ресурсы которого будут редактироваться.
# Open the unpacked <tt>.png</tt> file in an image editor (like [http://www.getpaint.net/download.html Paint.NET] on Windows, or [https://www.gimp.org/downloads/ GIMP] on Linux/Mac).
+
# Открывается <tt>.png</tt> файл в графическом редакторе (например [http://www.getpaint.net/download.html Paint.NET] для Windows, или [https://www.gimp.org/downloads/ GIMP] для Linux/Mac).
# Make changes directly to the image.
+
# Вносятся изменения в изображение.
# [[#unpacking|Repack the file]] and copy it back to the original location.
+
# [[#Распаковывание и упаковывание ресурсов|Упаковываются ресурсы]] в <tt>.xnb</tt> файл, и он переносится в исходную директорию.
  
That's it! You can launch the game to see your changes.
+
Теперь можно запустить игру, и увидеть изменения.
  
===Maps===
+
===Карты===
See [[Модификации:Карты]].
+
Смотрите [[Модификации:Карты]].
  
[[Category:Modding]]
+
[[Category:Модификации]]
  
 +
[[en:Modding:Editing XNB files]]
 
[[zh:使用模组:制作一个XNB模组]]
 
[[zh:使用模组:制作一个XNB模组]]

Версия 10:58, 12 августа 2018

Модификации

На этой странице объясняется, как редактировать файлы игры для изменения внутриигровых данных, изображений и карт.

Введение

Что такое XNB файл?

Игра хранит свои данные в сжатом контейнере .xnb формата в директории Content. Например, портреты Абигейл, отображаемые во время диалога, упакованы в файл Content\Portraits\Abigail.xnb. Каждый .xnb файл содержит два файла: файл с данными (например, изображение), и файл с метаданными (информация о файле с данными). К примеру, вот что находится внутри Content\Portraits\Abigail.xnb:

Abigail.xnb
   Abigail.png
   Abigail.yaml

В примере выше:

  • Abigail.png содержит портреты Абигейл. Отредактировав этот файл можно изменить портреты в игре:
    Modding - creating an XNB mod - example portraits.png
  • Abigail.yaml содержит метаданные о файле Abigail.png (например, какого он типа). Не нужно беспокоиться об этом файле, так как обычно он не изменяется.

Как внести изменения в игру?

Существуют три способа создания изменений:

  1. Создать с помощью Content Patcher контент пакет. Таким образом можно изменить XNB файл игры без использования программирования (просто отредактировать файл JSON), а также не заменять оригинальный файл игры.
  2. Создание SMAPI мода и использование его Content API. Требуются навыки программирования.
  3. Создание XNB мода и замена оригинальных файлов. Этот метод крайне не рекомендуется; смотрите использование XNB модификаций для получения дополнительной информации.

Где получить помощь?

Сообщество мододелов Stardew Valley дружелюбно. Спросите совета у других мододелов.

Распаковывание и упаковывание ресурсов

Файлы формата .xnb представляют собой сжатый контейнер и не редактируются. Для редактирования ресурсов игры используется программа xnbcli, позволяющая распаковывать и упаковывать XNB файлы. Она кроссплатформена и имеет открытый исходный код.

Как это работает:

  1. Скачивается xnbcli.
  2. Распаковывается файл для редактирования:
    1. Находится нужный .xnb файл в директории Content.
    2. Копируется в директорию packed программы xnbcli.
    3. Двойной клик по unpack.bat (Windows) или unpack.sh (Linux/Mac).
  3. Редактирование распакованных данных (смотрите ниже).
  4. Упаковывание ресурсов назад в файл:
    1. Двойной клик по pack.bat (Windows) или pack.sh (Linux/Mac).
    2. Замена оригинального .xnb файла измененным.

Редактирование распакованных данных

Данные

XNB данные имеют разные форматы. Для детальной информации смотрите раздел Модификации#Дополнительно.

Изображения

Пример tilesheet, который состоит из сетки тайловgrid of tiles like this: Modding - creating an XNB mod - example tile 1.png

Несколько определений:

  • Спрайт-лист представляет собой PNG-файл, содержащий небольшие изображения (обычно в виде сетки). Каждый квадрат сетки называется спрайтом. Например, спрайты многих объектов хранятся в Content\Maps\spring_objects.xnb.
  • Тайл-лист является синонимом спрайт-листа, который содержит в себе тайлы карты. Каждый квадрат сетки называется тайлом и имеет размер 16×16 пикселей.
  • Портрет спрайты содержащие портреты персонажей. Находятся в Content\Characters\*.xnb.

Спрайт-листы легко редактируются:

  1. Распаковывается .xnb файл, ресурсы которого будут редактироваться.
  2. Открывается .png файл в графическом редакторе (например Paint.NET для Windows, или GIMP для Linux/Mac).
  3. Вносятся изменения в изображение.
  4. Упаковываются ресурсы в .xnb файл, и он переносится в исходную директорию.

Теперь можно запустить игру, и увидеть изменения.

Карты

Смотрите Модификации:Карты.