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

Материал из Stardew Valley Wiki
Перейти к навигации Перейти к поиску
м (Katzeus переименовал страницу Редактирование XNB файлов в Модификации:Редактирование XNB файлов без оставления перенаправления: moving to new na…)
м (Замена текста — «tt>» на «samp>»)
 
(не показаны 2 промежуточные версии 1 участника)
Строка 5: Строка 5:
 
==Введение==
 
==Введение==
 
===Что такое XNB файл?===
 
===Что такое XNB файл?===
Игра хранит свои данные в сжатом контейнере <tt>.xnb</tt> формата в директории <tt>Content</tt>. Например, [[Абигейл#Портреты|портреты Абигейл]], отображаемые во время диалога, упакованы в файл <tt>Content\Portraits\Abigail.xnb</tt>. Каждый <tt>.xnb</tt> файл содержит два файла: файл с данными (например, изображение), и файл с метаданными (информация о файле с данными). К примеру, вот что находится внутри <tt>Content\Portraits\Abigail.xnb</tt>:
+
Игра хранит свои данные в сжатом контейнере <samp>.xnb</samp> формата в директории <samp>Content</samp>. Например, [[Абигейл#Портреты|портреты Абигейл]], отображаемые во время диалога, упакованы в файл <samp>Content\Portraits\Abigail.xnb</samp>. Каждый <samp>.xnb</samp> файл содержит два файла: файл с данными (например, изображение), и файл с метаданными (информация о файле с данными). К примеру, вот что находится внутри <samp>Content\Portraits\Abigail.xnb</samp>:
  
 
<pre>
 
<pre>
Строка 15: Строка 15:
 
В примере выше:
 
В примере выше:
  
* <tt>Abigail.png</tt> содержит портреты Абигейл. Отредактировав этот файл можно изменить портреты в игре:<br />[[File:Modding - creating an XNB mod - example portraits.png]]
+
* <samp>Abigail.png</samp> содержит портреты Абигейл. Отредактировав этот файл можно изменить портреты в игре:<br />[[File:Modding - creating an XNB mod - example portraits.png]]
  
* <tt>Abigail.yaml</tt> содержит метаданные о файле <tt>Abigail.png</tt> (например, какого он типа). Не нужно беспокоиться об этом файле, так как обычно он не изменяется.
+
* <samp>Abigail.yaml</samp> содержит метаданные о файле <samp>Abigail.png</samp> (например, какого он типа). Не нужно беспокоиться об этом файле, так как обычно он не изменяется.
  
 
===Как внести изменения в игру?===
 
===Как внести изменения в игру?===
Строка 23: Строка 23:
  
 
# Создать с помощью [https://www.nexusmods.com/stardewvalley/mods/1915 Content Patcher] контент пакет. Таким образом можно изменить XNB файл игры без использования программирования (просто отредактировать файл JSON), а также не заменять оригинальный файл игры.
 
# Создать с помощью [https://www.nexusmods.com/stardewvalley/mods/1915 Content Patcher] контент пакет. Таким образом можно изменить XNB файл игры без использования программирования (просто отредактировать файл JSON), а также не заменять оригинальный файл игры.
# [[Руководство по созданию модификаций|Создание SMAPI мода]] и использование его [[Modding:Modder_Guide/APIs/Content|Content API]]. Требуются навыки программирования.
+
# [[Модификации:Моддер_гайд/Приступая_к_работе|Создание SMAPI мода]] и использование его [[https://stardewvalleywiki.com/Modding:Modder_Guide/APIs/Content|Content API]]. Требуются навыки программирования.
# Создание XNB мода и замена оригинальных файлов. Этот метод крайне не рекомендуется; смотрите [[Использование XNB модификаций|использование XNB модификаций]] для получения дополнительной информации.
+
# Создание XNB мода и замена оригинальных файлов. Этот метод крайне не рекомендуется; смотрите [[Модификации:Использование XNB модификаций|использование XNB модификаций]] для получения дополнительной информации.
  
 
===Где получить помощь?===
 
===Где получить помощь?===
Строка 30: Строка 30:
  
 
==Распаковывание и упаковывание ресурсов==
 
==Распаковывание и упаковывание ресурсов==
Файлы формата <tt>.xnb</tt> представляют собой сжатый контейнер и не редактируются. Для редактирования ресурсов игры используется программа xnbcli, позволяющая распаковывать и упаковывать XNB файлы. Она кроссплатформена и имеет [https://github.com/LeonBlade/xnbcli открытый исходный код].
+
Файлы формата <samp>.xnb</samp> представляют собой сжатый контейнер и не редактируются. Для редактирования ресурсов игры используется программа xnbcli, позволяющая распаковывать и упаковывать XNB файлы. Она кроссплатформена и имеет [https://github.com/LeonBlade/xnbcli открытый исходный код].
  
 
Как это работает:
 
Как это работает:
Строка 36: Строка 36:
 
# Скачивается [https://github.com/LeonBlade/xnbcli/releases xnbcli].
 
# Скачивается [https://github.com/LeonBlade/xnbcli/releases xnbcli].
 
# Распаковывается файл для редактирования:
 
# Распаковывается файл для редактирования:
## Находится нужный <tt>.xnb</tt> файл в директории [[Модификации:Директория игры|<tt>Content</tt>]].
+
## Находится нужный <samp>.xnb</samp> файл в директории [[Модификации:Директория игры|<samp>Content</samp>]].
##Копируется в директорию <tt>packed</tt> программы xnbcli.
+
##Копируется в директорию <samp>packed</samp> программы xnbcli.
## Двойной клик по <tt>unpack.bat</tt> (Windows) или <tt>unpack.sh</tt> (Linux/Mac).
+
## Двойной клик по <samp>unpack.bat</samp> (Windows) или <samp>unpack.sh</samp> (Linux/Mac).
 
# Редактирование распакованных данных (смотрите ниже).
 
# Редактирование распакованных данных (смотрите ниже).
 
# Упаковывание ресурсов назад в файл:
 
# Упаковывание ресурсов назад в файл:
## Двойной клик по <tt>pack.bat</tt> (Windows) или <tt>pack.sh</tt> (Linux/Mac).
+
## Двойной клик по <samp>pack.bat</samp> (Windows) или <samp>pack.sh</samp> (Linux/Mac).
## Замена оригинального <tt>.xnb</tt> файла измененным.
+
## Замена оригинального <samp>.xnb</samp> файла измененным.
  
 
==Редактирование распакованных данных==
 
==Редактирование распакованных данных==
Строка 51: Строка 51:
 
[[File:Modding - creating an XNB mod - example tilesheet.png|thumb|Пример тайл-листа, который состоит из сетки тайлов как этот: [[File:Modding - creating an XNB mod - example tile 1.png]]]]
 
[[File:Modding - creating an XNB mod - example tilesheet.png|thumb|Пример тайл-листа, который состоит из сетки тайлов как этот: [[File:Modding - creating an XNB mod - example tile 1.png]]]]
 
Несколько определений:
 
Несколько определений:
* '''Спрайт-лист''' представляет собой PNG-файл, содержащий небольшие изображения (обычно в виде сетки). Каждый квадрат сетки называется ''спрайтом''. Например, спрайты многих объектов хранятся в <tt>Content\Maps\spring_objects.xnb</tt>.
+
* '''Спрайт-лист''' представляет собой PNG-файл, содержащий небольшие изображения (обычно в виде сетки). Каждый квадрат сетки называется ''спрайтом''. Например, спрайты многих объектов хранятся в <samp>Content\Maps\spring_objects.xnb</samp>.
 
* '''Тайл-лист''' является синонимом спрайт-листа, который содержит в себе тайлы карты. Каждый квадрат сетки называется ''тайлом'' и имеет размер 16×16 пикселей.
 
* '''Тайл-лист''' является синонимом спрайт-листа, который содержит в себе тайлы карты. Каждый квадрат сетки называется ''тайлом'' и имеет размер 16×16 пикселей.
* '''Портрет''' спрайты содержащие портреты персонажей. Находятся в <tt>Content\Characters\*.xnb</tt>.
+
* '''Портрет''' спрайты содержащие портреты персонажей. Находятся в <samp>Content\Characters\*.xnb</samp>.
  
 
Спрайт-листы легко редактируются:
 
Спрайт-листы легко редактируются:
# [[#Распаковывание и упаковывание ресурсов|Распаковывается <tt>.xnb</tt> файл]], ресурсы которого будут редактироваться.
+
# [[#Распаковывание и упаковывание ресурсов|Распаковывается <samp>.xnb</samp> файл]], ресурсы которого будут редактироваться.
# Открывается <tt>.png</tt> файл в графическом редакторе (например [http://www.getpaint.net/download.html Paint.NET] для Windows, или [https://www.gimp.org/downloads/ GIMP] для Linux/Mac).
+
# Открывается <samp>.png</samp> файл в графическом редакторе (например [http://www.getpaint.net/download.html Paint.NET] для Windows, или [https://www.gimp.org/downloads/ GIMP] для Linux/Mac).
 
# Вносятся изменения в изображение.
 
# Вносятся изменения в изображение.
# [[#Распаковывание и упаковывание ресурсов|Упаковываются ресурсы]] в <tt>.xnb</tt> файл, и он переносится в исходную директорию.
+
# [[#Распаковывание и упаковывание ресурсов|Упаковываются ресурсы]] в <samp>.xnb</samp> файл, и он переносится в исходную директорию.
  
 
Теперь можно запустить игру, и увидеть изменения.
 
Теперь можно запустить игру, и увидеть изменения.

Текущая версия на 18:42, 4 ноября 2021

Модификации:Индекс

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

Введение

Что такое 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 мода и использование его [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 данные имеют разные форматы. Для детальной информации смотрите раздел Модификации:Индекс#Дополнительно.

Изображения

Пример тайл-листа, который состоит из сетки тайлов как этот: 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 файл, и он переносится в исходную директорию.

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

Карты

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