Модификации:Карты: различия между версиями

Материал из Stardew Valley Wiki
Перейти к навигации Перейти к поиску
(Новая страница: «← Индекс {{Переведите}} На этой странице объясняется, как редактиро...»)
 
м (Замена текста — «<br/>» на «<br />»)
 
(не показаны 34 промежуточные версии 2 участников)
Строка 1: Строка 1:
← [[Модификации:ИНдекс|Индекс]]
+
← [[Модификации:Индекс|Индекс]]
{{Переведите}}
+
 
 
На этой странице объясняется, как редактировать карты. Это расширенное руководство для моддеров.
 
На этой странице объясняется, как редактировать карты. Это расширенное руководство для моддеров.
  
Строка 6: Строка 6:
 
===Базовые компоненты===
 
===Базовые компоненты===
 
<ul>
 
<ul>
<li>A '''map''' is the layout of the terrain (like water, cliffs, and land), terrain features (like bushes), buildings, paths, and triggers for a particular area. When you reach the edge of an area or enter a building, and the screen fades to black during the transition, you're moving between maps.</li>
+
<li>'''Карта''' это расположение местности (например, воды, скал и земли), объектов местности (например, кустарников), зданий, дорожек и триггеров для определенной области. Когда вы достигаете края области или входите в здание, и экран становится черным во время перехода, вы перемещаетесь между картами.</li>
  
<li>Each map consists of several '''layers''' stacked one in front of the other. Objects in a layer closer to the front will hide objects in layers behind them. From back to front, the standard layers are...
+
<li>Каждая карта состоит из нескольких ''слоев'', расположенных один над другим. Объекты на слое выше будут скрывать объекты на слоях ниже. Так расположены стандартные слои...
  
{| class="wikitable"
+
{|class="wikitable"
 
|-
 
|-
 
! Название слоя
 
! Название слоя
Строка 16: Строка 16:
 
|-
 
|-
 
| Back
 
| Back
| Terrain, water, and basic features (like permanent paths).
+
| Рельеф, вода и основные функции (например, постоянные пути).
 
|-
 
|-
 
| Buildings
 
| Buildings
| Placeholders for buildings (like the farmhouse). Any tiles placed on this layer will act like a wall unless the tile property has a "Passable" "T".
+
| Заполнители для зданий (например, фермерского дома). Любые плитки, размещенные на этом слое, будут действовать как стена, если свойство плитки не имеет "Проходимой" буквы "Т".
 
|-
 
|-
 
| Paths
 
| Paths
| Flooring, paths, grass, and debris (like stones, weeds, and stumps from the 'paths' tilesheet) which can be removed by the player.
+
| Полы, дорожки, трава и мусор (например, камни, сорняки и пни из таблицы "дорожки"), которые игрок может удалить.
 
|-
 
|-
 
| Front
 
| Front
| Objects that are drawn on top of things behind them, like most trees. These objects will be drawn on top of the player if the player is North of them but behind the player if the player is south of them.
+
| Объекты, которые нарисованы поверх вещей позади них, как и большинство деревьев. Эти объекты будут нарисованы поверх игрока, если игрок находится к северу от них, но позади игрока, если игрок находится к югу от них.
 
|-
 
|-
 
| AlwaysFront
 
| AlwaysFront
| Objects that are always drawn on top of other layers as well as the player. This is typically used for foreground effects like foliage cover.
+
| Объекты, которые всегда рисуются поверх других слоев, а также игрока. Это обычно используется для эффектов переднего плана, таких как лиственный покров.
 
|}</li>
 
|}</li>
  
 
[[File:MapLayers.png]]
 
[[File:MapLayers.png]]
<li>(Using Tiled) There are 2 different types of layers along with the 5 main layers, Objects Layer (cloud-like icon) and Tile Layer (grid icon). The Tile Layer is where you make map edits (placing and removing tiles) and the Objects Layers is where you add and edit tile data. Your layers must match the ones above. Note that depending on the map, they may be missing a Paths or AlwaysFront layer</li>
+
<li>(С Использованием Плитки) Существует 2 различных типа слоев, а также 5 основных слоев, Слой объектов (значок в виде облака) и слой плитки (значок сетки). Слой плитки-это место, где вы вносите изменения в карту (размещаете и удаляете плитки), а слои объектов-это место, где вы добавляете и редактируете данные плитки. Ваши слои должны соответствовать тем, что указаны выше. Обратите внимание, что в зависимости от карты у них может отсутствовать слой "Paths" или "AlwaysFront".</li>
  
<li>Each layer consists of many '''tiles''', which are 16×16 pixel squares placed in a grid to form the visible map. Each tile can have properties (e.g. passable / blocked), special logic (e.g. an action to perform when the player steps on them), and a picture to show. The picture is represented by a sprite index (or tile index), which is its position in an associated spritesheet (see next).</li>
+
<li>Каждый слой состоит из множества '''тайлов''', которые представляют собой квадраты размером 16×16 пикселей, расположенные в сетке для формирования видимой карты. Каждая плитка может иметь свойства (например, проходимая / заблокированная), специальную логику (например, действие, которое нужно выполнить, когда игрок наступит на них), и изображение, которое нужно показать. Изображение представлено индексом спрайта (или индексом плитки), который является его положением в связанной таблице спрайтов (см. Далее).</li>
  
<li>Each map has one or more spritesheets (also known as tilesheets when talking about mods), which contains the available tiles and images that are put together to form the visible map.</li>
+
<li>Каждая карта имеет одну или несколько таблиц спрайтов (также известных как таблицы листов, когда речь идет о модах), которые содержат доступные плитки и изображения, собранные вместе для формирования видимой карты.</li>
 
</ul>
 
</ul>
  
===Tile coordinates===
+
===Координаты тайлов===
Each tile has an (x, y) coordinate which represents its position on the map, where (0, 0) is the top-left tile. The ''x'' value increases towards the right, and ''y'' increases downwards. For example:
+
Каждый тайл имеет координаты (x, y), которые представляют его положение на карте, где (0, 0) - верхний левый тайл. ''x'' значение увеличивается вправо, и ''y'' увеличивается вниз. Например:
  
 
[[File:Modding - creating an XNB mod - tile coordinates.png]]
 
[[File:Modding - creating an XNB mod - tile coordinates.png]]
  
 
===Форматы карты===
 
===Форматы карты===
There are two map formats used in Stardew Valley modding: <tt>.tmx</tt> (from the Tiled map editor) and <tt>.tbin</tt> (from the now-deprecated tIDE map editor). The features supported by both formats are almost identical, but there are a few differences:
+
В моддинге Stardew Valley используются два формата карт: <samp>.tmx</samp> (из редактора Tiled) и <samp>.tbin</samp> (из ныне устаревшего редактора карт tIDE). Функции, поддерживаемые обоими форматами, почти идентичны, но есть несколько отличий:
{| class="wikitable"
+
{|class="wikitable"
 
|-
 
|-
! feature
+
! Особенность
! <tt>.tmx</tt>
+
! <samp>.tmx</samp>
! <tt>.tbin</tt>
+
! <samp>.tbin</samp>
 
|-
 
|-
| format
+
| Формат
| ✓ XML (basically text)
+
| ✓ XML (в основном текст)
| ✘ binary
+
| ✘ бинарный
 
|-
 
|-
| edit in Tiled
+
| Редактировать тайлами
| ✓ supported
+
| ✓ поддерживается
| ✓ supported with plugin
+
| ✓ поддерживается с плагином
 
|-
 
|-
| edit directly
+
| Редактировать напрямую
| ✓ can open in a text editor
+
| ✓ можно открыть в текстовом редакторе
| ✘ not supported
+
| ✘ не поддерживается
 
|-
 
|-
| tile flip
+
| Переворачивание тайлов
| ✓ supported
+
| ✓ поддерживается
| ✘ not supported
+
| ✘ не поддерживается
 
|-
 
|-
| tile rotation
+
| Поворот тайлов
| ✓ supported
+
| ✓ поддерживается
| ✘ not supported
+
| ✘ не поддерживается
 
|-
 
|-
| source control
+
| Управление версиями
| ✓ efficient storage, can diff changes
+
| ✓ эффективное хранение, может различать изменения
| ✘ inefficient storage (need to copy entire file with each commit), can't diff changes
+
| ✘ неэффективное хранение (необходимо копировать весь файл с каждой записью), не может различать изменения
 
|}
 
|}
  
<tt>.tmx</tt> is recommended per the above, but both formats are fine to use, and you can convert between them in Tiled by clicking ''File > Export As''.
+
<samp>.tmx</samp> рекомендуется в соответствии с вышеизложенным, но оба формата удобны в использовании, и вы можете конвертировать их между собой, нажав ''File > Export As''.
  
==Getting started==
+
==Приступая к работе==
There are two main ways to edit a map.
+
Существует два основных способа редактирования карты.
  
===Using SMAPI===
+
===Использование SMAPI===
Creating a SMAPI mod requires programming, but it's much more powerful and multiple SMAPI mods can edit the same map. If you want to use this approach:
+
Создание мода SMAPI требует программирования, но он намного мощнее, и несколько модов SMAPI могут редактировать одну и ту же карту. Если вы хотите использовать этот подход:
# [[Modding:Modder Guide/Get Started|Create a SMAPI mod]].
+
# [[Модификации:Моддер гайд/Приступая к работе|Создание SMAPI мода]].
# See instructions below for map changes.
+
# Смотри инструкции ниже для внесения изменений в карту.
  
Note that this doesn't preclude using Tiled too. You can create/edit maps in Tiled, then load/edit them in SMAPI.
+
Обратите внимание, что это также не исключает использования тайлов. Вы можете создавать/редактировать карты в тайлах, затем загружать/редактировать их в SMAPI.
  
===Using Tiled===
+
===Использование Tiled===
Tiled is a popular map editor that can be used to edit Stardew Valley maps, no programming needed. You need to [[Modding:Editing XNB files|unpack the map's XNB]], edit the map, and make a {{nexus mod|1915|Content Patcher}} or SMAPI mod to load your map. If you want to use this approach:
+
Tiled - популярный редактор карт, который можно использовать для редактирования карт Stardew Valley, без необходимости программирования. Вам нужно [[Модификации:Редактирование XNB файлов|распаковать XNB карту]], отредактировать карту и создать {{nexus mod|1915|Content Patcher}} или SMAPI мод и загрузить в него карту. Если вы хотите использовать этот подход:
  
 
<ol>
 
<ol>
<li>Install the [http://www.mapeditor.org/ latest version of Tiled].</li>
+
<li>Установите [http://www.mapeditor.org/ последнюю версию Tiled].</li>
<li>Once installed, at the top left, go to Edit > Preferences > Plugins and enable the tbin plugin (<tt>tbin.dll</tt> on Windows, <tt>libtbin.so</tt> on Linux, or <tt>libtbin.dylib</tt> on Mac).
+
<li>После установки в левом верхнем углу перейдите в ''Edit > Preferences > Plugins'' и включите плагин ''tbin'' (<samp>tbin.dll</samp> для Windows, <samp>libtbin.so</samp> для Linux, или <samp>libtbin.dylib</samp> для Mac).
<li>Set the following settings:
+
<li>Установите следующие параметры:
{| class="wikitable"
+
{|class="wikitable"
 
|-
 
|-
! setting
+
! Параметр
! value
+
! Значение
! reason
+
! Описание
 
|-
 
|-
 
| ''View > Snapping > Snap to Grid''
 
| ''View > Snapping > Snap to Grid''
| ✓ enabled
+
| ✓ Включен
| This is required to convert objects back into the game's format.
+
| Необходимо для преобразования объектов обратно в формат игры.
 
|-
 
|-
 
| ''View > Highlight Current Layer''
 
| ''View > Highlight Current Layer''
| ✓ enabled
+
| ✓ Включен
| This makes it more clear which tile you're editing.
+
| Выделяет слой на котором находится редактируемый тайл
 
|}</li>
 
|}</li>
<li>See [[Modding:Editing XNB files]] for help unpacking & packing the map files.</li>
+
<li>Смотри [[Модификации:Редактирование XNB файлов]] для помощи в распаковке и упаковке файлов карт.</li>
<li>See instructions below for map changes.</li>
+
<li>Смотри инструкции ниже для внесения изменений в карту.</li>
 
</ol>
 
</ol>
  
(If you use xnbcli to [[Modding:Editing XNB files#Unpack game files|unpack the original game maps]], you'll need the <tt>.tbin</tt> plugin even if you plan to use <tt>.tmx</tt> since xnbcli still produces <tt>.tbin</tt> files.)
+
(Если вы используете '''xnbcli''' для [[Модификации:Редактирование XNB файлов#Распаковывание и упаковывание ресурсов|для распаковки оригинальных файлов карт]], вам понадобится <samp>.tbin</samp> плагин, даже если вы планируете использовать <samp>.tmx</samp> поскольку xnbcli все еще производит <samp>.tbin</samp> файлы.)
  
==Map edits==
+
==Редактирование карты==
===Editing maps===
+
===Редактирование карт===
Important note: when making custom maps, always start with a vanilla map and edit it. Don't try to create a new map in Tiled; the game needs certain tiles, map properties, etc to be present.
+
Важное примечание: при создании пользовательских карт всегда начинайте с ванильной карты и редактируйте ее. Не пытайтесь создать новую карту в Tiled; в игре должны присутствовать определенные плитки, свойства карты и т.д.
  
If you're using Tiled:
+
Если вы используете Tiled:
# [[Modding:Editing XNB files|Unpack]] the game's <tt>Content/Maps</tt> folder and create a copy to edit your maps in. Use this copy of the folder to edit any maps in before moving them to your mod release folder.
+
# [[Модификации:Редактирование XNB файлов|Распакуйте]] папку <samp>Content/Maps</samp> и создайте копию для редактирования ваших карт. Используйте эту копию папки для редактирования любых карт, прежде чем перемещать их в папку мода.
# Use the same method to unpack the map you want to edit if it is not a vanilla one, then place the map in your editing folder.
+
# Используйте тот же метод, чтобы распаковать карту, которую вы хотите отредактировать, если она не является ванильной, а затем поместите карту в папку редактирования.
# Open the <tt>.tbin</tt> or <tt>.tmx</tt> file via Tiled. Note: make sure the file is in the same folder as the unpacked tilesheets!
+
# Откройте <samp>.tbin</samp> или <samp>.tmx</samp> файл в Tiled. Примечание: убедитесь, что файл находится в той же папке, что и распакованные таблицы тайлов!
# Make your changes.
+
# Внесите свои изменения.
# Save the file. Don't use <tt>Save as</tt>, as it can corrupt the map.
+
# Сохраните файл. Не используйте <samp>Save as</samp>, так как это может повредить карту.
# Move the <tt>.tbin</tt> or <tt>.tmx</tt> file, and any custom tilesheets it needs, to your mod release folder. Place them in the <tt>assets</tt> folder.
+
# Переместите <samp>.tbin</samp> или <samp>.tmx</samp> файл, и любые пользовательские таблицы тайлов, которые ему нужны, в папку вашего мода. Поместите их в папку <samp>assets</samp>.
# Load your map via SMAPI or Content Patcher (or another framework mod).
+
# Загрузите свою карту через SMAPI или Content Patcher (или другой фреймворк модов).
  
===Custom map===
+
===Пользовательская карта===
You can add a new map and location to the game.
+
Вы можете добавить в игру новую карту и местоположение.
  
If you're using SMAPI:
+
Если вы используете SMAPI:
 
:<syntaxhighlight lang="C#">
 
:<syntaxhighlight lang="C#">
 
public override void Entry(IModHelper helper)
 
public override void Entry(IModHelper helper)
 
{
 
{
   // the game clears locations when loading the save, so do it after the save loads
+
   // игра очищает локации при загрузке сохранения, поэтому сделайте это после загрузки сохранения
 
   helper.Events.GameLoop.SaveLoaded += this.OnSaveLoaded;
 
   helper.Events.GameLoop.SaveLoaded += this.OnSaveLoaded;
 
}
 
}
Строка 142: Строка 142:
 
private void OnSaveLoaded(object sender, SaveLoadedEventArgs args)
 
private void OnSaveLoaded(object sender, SaveLoadedEventArgs args)
 
{
 
{
   // get the internal asset key for the map file
+
   // получиь внутренний ключ ресурса для файла карты
 
   string mapAssetKey = this.Helper.Content.GetActualAssetKey("assets/map.tmx", ContentSource.ModFolder);
 
   string mapAssetKey = this.Helper.Content.GetActualAssetKey("assets/map.tmx", ContentSource.ModFolder);
  
   // add the location
+
   // добавить местоположение
 
   GameLocation location = new GameLocation(mapAssetKey, "YourLocationName") { IsOutdoors = false, IsFarm = false };
 
   GameLocation location = new GameLocation(mapAssetKey, "YourLocationName") { IsOutdoors = false, IsFarm = false };
 
   Game1.locations.Add(location);
 
   Game1.locations.Add(location);
Строка 151: Строка 151:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
: '''Note:'''
+
: '''Примечание:'''
:# Your map has to be built in a certain pattern; look at the maps in the <tt>Content/Maps</tt> directory for an example on how a map has to be built.
+
:# Ваша карта должна быть построена по определенному шаблону; посмотрите на карты в папке <samp>Content/Maps</samp> для примера.
:# After loading your save file, you can use this command to jump to the map: <tt>debug warp YourLocationName X Y</tt>
+
:# После загрузки файла сохранения вы можете использовать эту команду для перехода к карте: <samp>debug warp YourLocationName X Y</samp>
  
If you're using Tiled:
+
Если вы используете Tiled:
: You can create the map in Tiled, but you need SMAPI to add it to the game.
+
: Вы можете создать карту в Tiled, но вам нужен SMAPI, чтобы добавить ее в игру.
  
===Custom tilesheet===
+
===Настраиваемый лист тайлов===
You can add custom sprites, tiles, or images to a map. Be sure to [[#Tilesheet order|prefix custom tilesheet IDs with <code>z_</code>]] to avoid shifting the vanilla tilesheet indexes.
+
Вы можете добавлять на карту пользовательские спрайты, тайлы или изображения. Обязательно [[#Порядок листов тайлов|используйте префикс <code>z_</code> перед ID]] чтобы избежать смещения индексов ванильных таблиц.
  
If you're using SMAPI:
+
Если вы используете SMAPI:
 
:<syntaxhighlight lang="c#">
 
:<syntaxhighlight lang="c#">
 
public override void Entry(IModHelper helper)
 
public override void Entry(IModHelper helper)
Строка 170: Строка 170:
 
private void OnSaveLoaded(object sender, SaveLoadedEventArgs args)
 
private void OnSaveLoaded(object sender, SaveLoadedEventArgs args)
 
{
 
{
   // This gets the asset key for a tilesheet.png file from your mod's folder. You can also load a game tilesheet like
+
   // Это позволяет получить ключ ресурса для файла tilesheet.png из папки вашего мода. Вы также можете загрузить таблицу игровых листов, например
   // this: helper.Content.GetActualAssetKey("spring_town", ContentSource.GameContent).
+
   // helper.Content.GetActualAssetKey("spring_town", ContentSource.GameContent).
 
   string tilesheetPath = this.Helper.Content.GetActualAssetKey("tilesheet.png", ContentSource.ModFolder);
 
   string tilesheetPath = this.Helper.Content.GetActualAssetKey("tilesheet.png", ContentSource.ModFolder);
  
   // Get an instance of the in-game location you want to patch. For the farm, use Game1.getFarm() instead.
+
   // Получить экземпляр игрового местоположения, которое вы хотите исправить. Для фермы вместо этого используйте Game1.getFarm ().
 
   GameLocation location = Game1.getLocationFromName("Town");
 
   GameLocation location = Game1.getLocationFromName("Town");
  
   // Add the tilesheet.
+
   // Добавить лист тайлов
 
   TileSheet tilesheet = new TileSheet(
 
   TileSheet tilesheet = new TileSheet(
       id: "z_your-custom-spritesheet", // a unique ID for the tilesheet
+
       id: "z_your-custom-spritesheet", // уникальный ID для таблицы тайлов
 
       map: location.map,
 
       map: location.map,
 
       imageSource: tilesheetPath,
 
       imageSource: tilesheetPath,
       sheetSize: new xTile.Dimensions.Size(32, 64), // the tile size of your tilesheet image.
+
       sheetSize: new xTile.Dimensions.Size(32, 64), // размер тайла вашего изображения в таблице тайлов.
       tileSize: new xTile.Dimensions.Size(16, 16) // should always be 16x16 for maps
+
       tileSize: new xTile.Dimensions.Size(16, 16) // для карт всегда должно быть 16x16
 
   );
 
   );
 
   location.map.AddTileSheet(tilesheet);
 
   location.map.AddTileSheet(tilesheet);
Строка 189: Строка 189:
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>
: To change tiles using the new tilesheet, see [[#Tiles]] below.
+
: Чтобы изменить тайлы с помощью новой таблицы тайлов, смотри [[#Тайлы]].
  
If you're using Tiled:
+
Если вы используете Tiled:
:# Create your spritesheet and place it in the same folder as your <tt>.tbin</tt> or <tt>.tmx</tt> map file. This should be a PNG image with images divided into 16x16 tiles (see [[Modding:Editing XNB files#Intro]] for examples).
+
:# Создайте свою таблицу спрайтов и поместите ее в ту же папку, что и ваш <samp>.tbin</samp> или <samp>.tmx</samp> файл карты. Это должно быть изображение в формате PNG с изображениями, разделенными на плитки 16x16 (Для примера, смотри [[Модификации:Редактирование_XNB_файлов#Введение]]).
:# Open the map in Tiled.
+
:# Откройте файл карты в Tiled.
:# Add the custom spritesheet:
+
:# Добавьте свой спрайт-лист:
:## In the ''Tilesets'' pane, click the [[File:Modding - creating an XNB mod - Tiled 'new tilesheet' button.png]] button.
+
:## В ''Tilesets'' панеле, нажмите на [[File:Modding - creating an XNB mod - Tiled 'new tilesheet' button.png]] кнопку.
:## Give it a descriptive name (like 'cute bugs') and choose the image source.
+
:## Дайте ему описательное название (например, 'cute bugs') и выберите источник изображения.
:## Make sure that ''Embed in map'' is checked.
+
:## Убедитесь, что ''Embed in map'' установлена.
:## Keep the defaults for the other settings and click ''OK''.
+
:## Сохраните значения по умолчанию для других параметров и нажмите ''OK''.
:# Add custom sprites to the map:
+
:# Добавьте свои спрайты на карту:
:## In the ''Layers'' pane, click the layer you want to edit.
+
:## На панели ''Layers'', нажмите на слой, который хотите редактировать.
:## In the ''Tilesets'' pane, click the tab for your custom spritesheet.
+
:## На панели ''Tilesets'', нажмите на вкладку с вашим спрайт-листом.
:## In the ''Tilesets'' pane, click one tile to select it. To choose multiple, click and drag the cursor.
+
:## На панели ''Tilesets'', нажмите на один тайл, чтобы выбрать его. Чтобы выбрать несколько, щелкните и перетащите курсор.
:## Move the cursor to the map, and you'll see an overlay with the tiles you selected.
+
:## Наведите курсор на карту, и вы увидите наложение выбранных вами тайлов.
:## Click the map to place those tiles on the selected layer.
+
:## Нажмите на карту, чтобы разместить тайлы на выбранном слое.
  
===Map properties===
+
===Свойства карты===
Each map can have multiple map properties, which define attributes and behaviour associated with the map like lighting, music, warp points, etc. Each property has a name (which defines the type of property), type (always 'string' in Stardew Valley), and value (which configures the property). See [[#Known properties|known properties]] below.
+
Каждая карта может иметь несколько свойств карты, которые определяют атрибуты и поведение, связанные с картой, такие как освещение, музыка, точки деформации и т.д. Каждое свойство имеет имя (которое определяет тип свойства), тип (в Stardew Valley, всегда 'строка'), и значение (которое настраивает свойство). Смотри [[#Свойства|свойства]] ниже.
  
If you're using SMAPI:
+
Если вы используете SMAPI:
 
: <syntaxhighlight lang="c#">
 
: <syntaxhighlight lang="c#">
 
public override void Entry(IModHelper helper)
 
public override void Entry(IModHelper helper)
Строка 218: Строка 218:
 
private void OnSaveLoaded(object sender, SaveLoadedEventArgs args)
 
private void OnSaveLoaded(object sender, SaveLoadedEventArgs args)
 
{
 
{
   // get the 'Music' value
+
   // получить значение 'Music'
 
   string currentMusic = Game1.currentLocation.map.Properties.TryGetValue("Music", out PropertyValue rawMusic)
 
   string currentMusic = Game1.currentLocation.map.Properties.TryGetValue("Music", out PropertyValue rawMusic)
 
       ? rawMusic.ToString()
 
       ? rawMusic.ToString()
 
       : null;
 
       : null;
  
   // add or set the 'Music' value
+
   // добавить или установить значение 'Music'
 
   Game1.currentLocation.map.Properties["Music"] = "MarlonsTheme";
 
   Game1.currentLocation.map.Properties["Music"] = "MarlonsTheme";
  
   // remove the 'Music' value
+
   // удалить значение 'Music'
 
   Game1.currentLocation.map.Properties.Remove("Music");
 
   Game1.currentLocation.map.Properties.Remove("Music");
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>
  
If you're using Tiled:
+
Если вы используете Tiled:
:# Click ''Map'' on the toolbar and choose ''Map Properties''.
+
:# Нажмите ''Map'' на панели инструментов и выберете ''Map Properties''.
:# View and edit properties using the GUI.
+
:# Посмотрите и отредактируйте свойства с помощью графического интерфейса.
  
===Tile properties===
+
===Свойства тайла===
Tile properties are set on individual map tiles. They can change game behaviour (like whether the player can cross them), or perform actions when the player steps on or clicks the tile. Each property has a name, type (always 'string' in Stardew Valley), and value.
+
Свойства тайла задаются отдельно для каждого тайла. Они могут изменять поведение игры (например, может ли игрок пройти по тайлу), или выполнить действие когда игрок наступает/нажимает на него. У каждого свойства есть имя, тип (в Stardew Valley всегда 'строка'), и значение.
  
If you're using SMAPI:
+
Если вы используете SMAPI:
 
: <syntaxhighlight lang="C#">
 
: <syntaxhighlight lang="C#">
 
public override void Entry(IModHelper helper)
 
public override void Entry(IModHelper helper)
Строка 247: Строка 247:
 
private void OnSaveLoaded(object sender, SaveLoadedEventArgs args)
 
private void OnSaveLoaded(object sender, SaveLoadedEventArgs args)
 
{
 
{
     // example location & tile coordinate
+
     // например местоположение и координаты плитки
 
     GameLocation location = Game1.currentLocation;
 
     GameLocation location = Game1.currentLocation;
 
     int tileX = 10;
 
     int tileX = 10;
 
     int tileY = 20;
 
     int tileY = 20;
  
     // get property
+
     // получить свойство
 
     string value = location.doesTileHaveProperty(tileX, tileY, "Diggable", "Back");
 
     string value = location.doesTileHaveProperty(tileX, tileY, "Diggable", "Back");
  
     // add or set property
+
     // добавить или установить свойство
 
     location.setTileProperty(tileX, tileY, "Back", "Diggable", "T");
 
     location.setTileProperty(tileX, tileY, "Back", "Diggable", "T");
  
     // remove tile property
+
     // удалить свойство тайла
 
     Layer layer = location.map.GetLayer("Back");
 
     Layer layer = location.map.GetLayer("Back");
 
     Tile tile = layer.PickTile(new xTile.Dimensions.Location(tileX, tileY) * Game1.tileSize, Game1.viewport.Size);
 
     Tile tile = layer.PickTile(new xTile.Dimensions.Location(tileX, tileY) * Game1.tileSize, Game1.viewport.Size);
Строка 266: Строка 266:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
If you're using Tiled:
+
Если вы используете Tiled:
: In Tiled these are represented by two types: ''object properties'' only apply to the selected tile, while ''tile properties'' apply to every instance of that tile. In general you'll always set ''object properties'', so we'll only cover those.
+
: В Tiled свойства тайла представлены двумя типами: ''object properties'' применяется только к выбранному тайлу, в то время как ''tile properties'' применитесь к каждому экземпляру этого тайла. В общем, вы всегда будете устанавливать ''object properties'', так что мы рассмотрим только их.
:# Select the object layer in the ''Layers'' pane.
+
:# Выберите слой объекта на панели ''Layers''.
:# Choose the [[File:Modding - creating an XNB mod - Tiled 'select object' button.png]] ''select object'' tool in the toolbar.
+
:# Выберете инструмент [[File:Modding - creating an XNB mod - Tiled 'select object' button.png]] ''select object'' на панели инструментов.
:# Click the object whose properties you want to view. Objects are represented with a gray selection box on the map:<br />[[File:Modding - creating an XNB mod - map object.png]]
+
:# Нажмите на объект, свойства которого вы хотите просмотреть. Объекты на карте обведены серой рамкой:<br />[[File:Modding - creating an XNB mod - map object.png]]
:# The object properties will be shown in the ''Properties'' pane.<br />[[File:Modding - creating an XNB mod - Tiled tile properties pane.png]]  
+
:# Свойства объекта будут показаны на панели ''Properties''.<br />[[File:Modding - creating an XNB mod - Tiled tile properties pane.png]]  
  
: To edit properties for an existing object:
+
: Для редактирования свойств существующего объекта:
:* Change a value: click the value field and enter the new value.
+
:* Измените значение: нажмите на поле и введите новое значение.
:* Change a name: select the property and click the [[File:Modding - creating an XNB mod - Tiled 'edit' button.png]] icon.
+
:* Измените наименование: выберите свойство и нажмите на кнопку и иконкой [[File:Modding - creating an XNB mod - Tiled 'edit' button.png]].
:* Add a property: click the [[File:Modding - creating an XNB mod - Tiled 'add' button.png]] icon, enter the property name, make sure the selected type is "string", and click OK.
+
:* Добавьте свойство: нажмите на кнопку с иконкой [[File:Modding - creating an XNB mod - Tiled 'add' button.png]], введите наименование свойства, убедитесь в том, что тип свойства "string", и нажмите OK.
  
: To add a new object:
+
: Чтобы добавить новый объект:
:# Select the object layer in the ''Layers'' pane.<br />''There should be one object layer for each tile layer. If the object layer is missing, create one with the same name as the right tile layer.''
+
:# Выберите слой объекта на панели ''Layers''.<br />''Для каждого слоя тайлов должен быть один слой объектов. Если слой объекта отсутствует, создайте слой с тем же именем, что и слой тайлов.''
:# Choose the [[File:Modding - creating an XNB mod - Tiled 'insert rectangle' button.png]] ''insert rectangle'' tool from the toolbar.
+
:# Выберете инструмент [[File:Modding - creating an XNB mod - Tiled 'insert rectangle' button.png]] ''insert rectangle'' на панели инструментов.
:# Click and drag the rectangle over the tile you want to edit . Make sure it snaps to the tile grid (see [[#Using Tiled]]), and only one tile is selected.
+
:# Нажмите и перетащите прямоугольник на тайл, которую вы хотите отредактировать. Убедитесь в том, что он привязан к сетке тайла (смотри [[#Использование Tiled]]), и выбран только один тайл.
:# Rename it TileData in <tt>Name</tt>
+
:# Переименуйте TileData в <samp>Name</samp>
:## See previous for how to edit its properties.
+
:## О том, как редактировать его свойства, смотри в предыдущем разделе.
  
===Tiles===
+
===Тайлы===
You can edit the tiles for an existing map.
+
Вы можете редактировать тайлы для существующей карты.
  
If you're using SMAPI:
+
Если вы используете SMAPI:
 
:<syntaxhighlight lang="c#">
 
:<syntaxhighlight lang="c#">
 
public override void Entry(IModHelper helper)
 
public override void Entry(IModHelper helper)
Строка 297: Строка 297:
 
private void OnSaveLoaded(object sender, SaveLoadedEventArgs args)
 
private void OnSaveLoaded(object sender, SaveLoadedEventArgs args)
 
{
 
{
     // example location & tile coordinate
+
     // пример местоположения и координаты тайла
 
     GameLocation location = Game1.currentLocation;
 
     GameLocation location = Game1.currentLocation;
 
     int tileX = 10;
 
     int tileX = 10;
 
     int tileY = 20;
 
     int tileY = 20;
  
     // remove tile from layer
+
     // удалить тайл со слоя
 
     location.removeTile(tileX, tileY, "Back");
 
     location.removeTile(tileX, tileY, "Back");
  
     // add tile
+
     // добавить тайл
 
     Layer layer = location.map.GetLayer("Back");
 
     Layer layer = location.map.GetLayer("Back");
 
     TileSheet tilesheet = location.map.GetTileSheet("tilesheet name");
 
     TileSheet tilesheet = location.map.GetTileSheet("tilesheet name");
     layer.Tiles[tileX, tileY] = new StaticTile(layer, tilesheet, BlendMode.Alpha, tileIndex: 100); // change tile index
+
     layer.Tiles[tileX, tileY] = new StaticTile(layer, tilesheet, BlendMode.Alpha, tileIndex: 100); // Изменить индекс тайла
  
     // toggle water tile behaviour
+
     // переключение поведения водного тайла
     location.waterTiles[tileX, tileY] = false; // true: water, false: not water
+
     location.waterTiles[tileX, tileY] = false; // true: вода, false: не вода
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>
  
If you're using Tiled:
+
Если вы используете Tiled:
: See [http://doc.mapeditor.org Tiled documentation].
+
: Смотри [http://doc.mapeditor.org документацию по Tiled].
  
===Tile animation===
+
===Тайлы анимации===
 
[[File:Modding - creating an XNB mod - example animation.gif|right]]
 
[[File:Modding - creating an XNB mod - example animation.gif|right]]
You can animate tiles to create effects like Gil in his rocking chair (see example at right).
+
Вы можете анимировать плитки для создания эффектов, таких как Гил в кресле-качалке (смотри пример справа).
  
If you're using SMAPI:
+
Если вы используете SMAPI:
 
:<syntaxhighlight lang="c#">
 
:<syntaxhighlight lang="c#">
 
public override void Entry(IModHelper helper)
 
public override void Entry(IModHelper helper)
Строка 333: Строка 333:
 
   GameLocation location = Game1.currentLocation;
 
   GameLocation location = Game1.currentLocation;
  
   // add animated tile
+
   // добавить анимированный тайл
 
   Layer layer = location.map.GetLayer("Buildings");
 
   Layer layer = location.map.GetLayer("Buildings");
 
   TileSheet tilesheet = location.map.GetTilesheet("tilesheet name");
 
   TileSheet tilesheet = location.map.GetTilesheet("tilesheet name");
Строка 349: Строка 349:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
If you're using Tiled:
+
Если вы используете Tiled:
:# Click the edit button (wrench icon) for the tilesheet in the ''Tilesets'' pane.
+
:# Нажмите кнопку изменить (значок гаечного ключа) для таблицы листов на панели ''Tilesets''.
:# Select the tile you want to animate in the new view.
+
:# Выберите тайл, который вы хотите анимировать в новом представлении.
:# Click ''Tileset > Tile Animation Editor'' in the toolbar to show that window.
+
:# Нажмите ''Tileset > Tile Animation Editor'' на панели инструментов, чтобы отобразить это окно.
:# In the new window, drag tiles from the tilesheet into the box on the left to create a ''frame'' (one image in the sequence). If you need to delete frames, select the frame(s) and press Backspace/Delete(Windows) or fn + Backspace(Apple)
+
:# В новом окне, перетащите плитки из таблицы в поле слева, чтобы создать ''кадр'' (одно изображение в последовательности).Если вам нужно удалить кадры, выберете их и нажмите Backspace/Delete(для Windows) или fn + Backspace(для Apple)
:# Double-click the numbers to change how long each frame stays on the screen before the next one (in milliseconds). '''Make sure every frame has the same time; the game can't handle variable frame times.''' For example, here's the animation editor showing one of the tiles of Gil rocking:<br />[[File:Modding - creating an XNB mod - Tiled example animation pane.gif]]
+
:# Дважды щелкните, чтобы изменить продолжительность пребывания каждого кадра на экране (в миллисекундах). '''Убедитесь, что каждый кадр имеет одинаковое время; игра не может обрабатывать разное время кадров.''' Например, вот редактор анимации, показывающий одну из плиток раскачивания Гила:<br />[[File:Modding - creating an XNB mod - Tiled example animation pane.gif]]
:# When you're done, close the pane.
+
:# Когда вы закончите, закройте панель.
:# The animated tiles in the ''Tilesets'' pane will now have a little symbol in the bottom-right corner:<br />[[File:Modding - creating an XNB mod - Tiled example animation tileset.png]]<br />The animation is now part of that tile. Every instance of that tile on the map will now have the same animation.
+
:# Анимированные тайлы на панели ''Tilesets'' теперь буут иметь символ в правом нижнем углу:<br />[[File:Modding - creating an XNB mod - Tiled example animation tileset.png]]<br />Анимация теперь является частью этого тайла. Каждый экземпляр этого тайла на карте теперь будет иметь одну и ту же анимацию.
  
===Tile flip/rotation===
+
===Переворот/поворот тайла===
[[File:Tiled tile rotation.png|thumb|An example tile rotated four ways, below the Tiled flip/rotate buttons.]]
+
[[File:Tiled tile rotation.png|thumb|Пример тайла, повернутого в четыре стороны, под кнопками переворота/поворота тайла.]]
  
You can rotate and flip tiles without needing to create rotated/flipped versions of the tilesheet. This needs SMAPI 3.4 or later to be installed; the base game doesn't recognize tile transforms.
+
Вы можете поворачивать и переворачивать тайлы без необходимости создавать повернутые/перевернутые версии спрайт-листов. Для этого необходимо установить SMAPI 3.4 или более поздней версии; базовая игра не распознает преобразования тайлов.
  
If you're using SMAPI:
+
Если вы используете SMAPI:
 
:<syntaxhighlight lang="c#">
 
:<syntaxhighlight lang="c#">
 
public override void Entry(IModHelper helper)
 
public override void Entry(IModHelper helper)
Строка 372: Строка 372:
 
private void OnSaveLoaded(object sender, SaveLoadedEventArgs args)
 
private void OnSaveLoaded(object sender, SaveLoadedEventArgs args)
 
{
 
{
   // get a tile
+
   // получить тайл
 
   GameLocation location = Game1.currentLocation;
 
   GameLocation location = Game1.currentLocation;
 
   Layer layer = location.map.GetLayer("Buildings");
 
   Layer layer = location.map.GetLayer("Buildings");
 
   Tile tile = layer.Tiles[tileX, tileY];
 
   Tile tile = layer.Tiles[tileX, tileY];
 
    
 
    
   // rotate it 45°
+
   // повернуть на 45°
 
   tile.Properties["@Rotation"] = 45;
 
   tile.Properties["@Rotation"] = 45;
  
   // flip it (0 = normal, 1 = horizontal, 2 = vertical)
+
   // перевернуть (0 = нормально, 1 = горизонтально, 2 = вертикально)
 
   tile.Properties["@Flip"] = 1;
 
   tile.Properties["@Flip"] = 1;
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>
  
If you're using Tiled:
+
Если вы используете Tiled:
: '''Note: this only works when editing a <tt>.tmx</tt> file. Tile transforms aren't supported by the <tt>.tbin</tt> plugin.
+
: '''Примечание: это работает только при редактировании <samp>.tmx</samp> файла. Преобразования тайлов не поддерживаются <samp>.tbin</samp> плагином.
  
:# With the stamp tool selected, click the tile in the tilesheet you want to use.
+
:# Выбрав инструмент штамп, нажмите на тайл в спрайт-листе, который вы хотите использовать.
:# Click the flip or rotate buttons (see image at right).
+
:# Нажмите кнопки перевернуть или повернуть (смотри изображение справа).
:# Click the map to place the flipped/rotated tile.
+
:# Нажмите на карту, чтобы разместить перевернутый/повернутый тайл.
  
==Known properties==
+
==Свойства==
===Map properties===
+
===Свойства карты===
Known map properties
+
Свойства карты
{| class="wikitable"
+
{|class="wikitable"
 
|-
 
|-
! property
+
! Свойство
! explanation
+
! Описание
 
|-
 
|-
| <tt>AmbientLight {{t|byte r}} {{t|byte g}} {{t|byte b}}</tt><br />''(valid in indoor locations and locations that ignore outdoor lighting)''
+
| <samp>AmbientLight {{t|byte r}} {{t|byte g}} {{t|byte b}}</samp><br />''(действует в помещениях и местах, где не учитывается наружное освещение)''
| Sets the [[wikipedia:RGB color model|RGB colour]] that is subtracted from white (255,255,255) in order to create the ambient light.<br />''Example: <tt>AmbientLight 95 95 95</tt> for a normal indoor daytime lighting.''
+
| Устанавливает [[wikipedia:RGB color model|RGB цвет]] вычитается из белого (255,255,255), чтобы создать окружающий свет.<br />''Например: <samp>AmbientLight 95 95 95</samp> для нормального внутреннего дневного освещения.''
 
|-
 
|-
| <tt>BackwoodsEntry [{{t|int x}} {{t|int y}}]</tt><br />''(valid in farm)''
+
| <samp>BackwoodsEntry [{{t|int x}} {{t|int y}}]</samp><br />''(действует на ферме)''
| The position the player is warped to when entering the farm from the Backwoods.
+
| Позиция, в которую игрок попадает при входе на ферму из [[Глушь|Глуши]].
 
|-
 
|-
| <tt>BrookSounds [{{t|int x}} {{t|int y}} {{t|int type}}]</tt><br />''(valid in outdoor locations)''
+
| <samp>BrookSounds [{{t|int x}} {{t|int y}} {{t|int type}}]</samp><br />''(действует на открытом воздухе)''
| Adds sound sources. The {{t|x}} {{t|y}} fields are the tile coordinates, and {{t|type}} is the ambient sound ID. The {{t|type}} of sound can be one of...
+
| Добавляет источники звука. {{t|x}} {{t|y}} поля - это координаты тайла, и {{t|type}} ID звука. Значение поля {t|type}} может принимать следующие значения:
* <tt>0</tt> (babblingBrook);
+
* <samp>0</samp> (babblingBrook)(журчание ручья);
* <tt>1</tt> (cracklingFire);
+
* <samp>1</samp> (cracklingFire)(потрескивание огня);
* <tt>2</tt> (engine);
+
* <samp>2</samp> (engine)(двигатель);
* <tt>3</tt> (cricket).
+
* <samp>3</samp> (cricket)(сверчок).
 
|-
 
|-
| <tt>BusStopEntry [{{t|int x}} {{t|int y}}]</tt><br />''(valid in farm)''
+
| <samp>BusStopEntry [{{t|int x}} {{t|int y}}]</samp><br />''(действует на ферме)''
| The position the player is warped to when entering the farm from the Bus Stop.
+
| Позиция, в которую игрок переходит при входе на ферму с [[Автобусная_остановка|автобусной остановки]].
 
|-
 
|-
| <tt>CanCaskHere T</tt>²<br />''(valid in any location)''
+
| <samp>CanCaskHere T</samp>²<br />''(действует в любом месте)''
| Allows casks to work in that location.
+
| Позволяет бочкам работать в этом месте.
 
|-
 
|-
| <tt>DayTiles [{{t|string layerName}} {{t|int x}} {{t|int y}} {{t|int tilesheetIndex}}]+</tt><br />''(valid in any location)''
+
| <samp>DayTiles [{{t|string layerName}} {{t|int x}} {{t|int y}} {{t|int tilesheetIndex}}]+</samp><br />''(действует в любом месте)''
| Sets tiles to appear between 6AM to 7PM. Anytime before 7pm, this finds the tile at position ({{t|x}}, {{t|y}}) on the map layer matching {{t|layerName}}, changes its tilesheet index to the specified {{t|tilesheetIndex}}, and adds a glow to simulate daylight. The glow will only be added if the location is indoors and the {{t|tilesheetIndex}} is 256, 288, 405, 469, or 1224. The parameters can be repeated to affect multiple tiles.<br />''Example: <tt>DayTiles Front 3 1 256 Front 3 2 288</tt>.''
+
| Устанавливает тайлы, которые будут появляться с 6 утра до 7 вечера. В любое время до 7 вечера тайл находится в нужном положении ({{t|x}}, {{t|y}}) на сопоставлении слоев карты {{t|layerName}}, изменяет свой индекс спрайт-листа на указанный {{t|tilesheetIndex}}, и добавляет свечение для имитации дневного света. Свечение будет добавлено только в том случае, если местоположение находится в помещении, а {{t|tilesheetIndex}} равен 256, 288, 405, 469 или 1224. Параметры могут быть повторены, чтобы повлиять на несколько тайлов.<br />''Например: <samp>DayTiles Front 3 1 256 Front 3 2 288</samp>.''
 
|-
 
|-
| <tt>Doors [{{t|int x}} {{t|int y}} {{t|string sheetID}} {{t|int tileID}}]+</tt><br />''(valid in indoor locations)''
+
| <samp>Doors [{{t|int x}} {{t|int y}} {{t|string sheetID}} {{t|int tileID}}]+</samp><br />''(действует в помещениях)''
| Adds functionality to interior doors. Used with <tt>Action Door</tt> tile properties. The {{t|x}} {{t|y}} fields are the tile coordinates, {{t|sheetID}} is the name of the sheet containing the door sprite, and {{t|tileID}} is the tile index in the spritesheet.
+
| Добавляет функциональности межкомнатным дверям. Используется с свойством тайла <samp>Action Door</samp>. {{t|x}} {{t|y}} поля - это координаты тайла, {{t|sheetID}} это название листа, содержащего дверной спрайт, и {{t|tileID}} - индекс тайла в спрайт-листе.
 
|-
 
|-
| <tt>Fall_Objects T</tt>²<br /><tt>Spring_Objects T</tt>²<br /><tt>Summer_Objects T</tt>²<br /><tt>Winter_Objects T</tt
+
| <samp>Fall_Objects T</samp>²<br /><samp>Spring_Objects T</samp>²<br /><samp>Summer_Objects T</samp>²<br /><samp>Winter_Objects T</samp
| Whether to spawn seasonal objects on spawnable tiles based on the data in <tt>Data\Locations.xnb</tt>.<br />''Example: <tt>Fall_Objects</tt>.''
+
| Следует ли создавать сезонные объекты на создаваемых тайлах на основе данных из <samp>Data\Locations.xnb</samp>.<br />''Например: <samp>Fall_Objects</samp>.''
 
|-
 
|-
| <tt>FarmCaveEntry [{{t|int x}} {{t|int y}}]</tt><br />''(valid in farm)''
+
| <samp>FarmCaveEntry [{{t|int x}} {{t|int y}}]</samp><br />''(действует на ферме)''
| The position the player is warped to when entering the farm from the farm cave.
+
| Позиция, в которую игрок переходит при входе на ферму из [[Ферма#Пещера|пещеры на ферме]].
 
|-
 
|-
| <tt>FarmHouseEntry[{{t|int x}} {{t|int y}}]</tt><br />''(valid in farm)''
+
| <samp>FarmHouseEntry[{{t|int x}} {{t|int y}}]</samp><br />''(действует на ферме)''
| Changes the position of the Farm House. Corresponds to the front door, or the position the player will be warped to when leaving the house.
+
| Изменяет положение Фермерского дома. Соответствует входной двери или положению, в котором игрок будет находиться при выходе из дома.
 
|-
 
|-
| <tt>Feed {{t|int x}} {{t|int y}}</tt><br />''(valid in coops and barns)''
+
| <samp>Feed {{t|int x}} {{t|int y}}</samp><br />''(действует в птичнике или хлеву)''
| Sets the spawn location of the [[Hay Hopper]] in a coop or barn.<br />''Example: <tt>Feed 3 2</tt>.''
+
| Задает местоположение [[Кормораздатчик|кормораздатчика]] в птичнике или хлеву.<br />''Например: <samp>Feed 3 2</samp>.''
 
|-
 
|-
| <tt>forceLoadPathLayerLights T</tt>²<br />''(valid in outdoor non-festival locations)''
+
| <samp>forceLoadPathLayerLights T</samp>²<br />''(действительно в местах, не связанных с фестивалями, на открытом воздухе)''
| Whether to load lights from the <tt>Paths</tt> layer on maps where they would not normally be.<br />''Example: <tt>forceLoadPathLayerLights true</tt>.''
+
| Следует ли загружать огни со слоя <samp>Paths</samp> на карты, где их обычно не было бы.<br />''Например: <samp>forceLoadPathLayerLights true</samp>.''
 
|-
 
|-
| <tt>ForceSpawnForageables T</tt>²<br />''(valid in indoor locations)''
+
| <samp>ForceSpawnForageables T</samp>²<br />''(действует в помещениях)''
| Enables forage items spawning in that location.
+
| Позволяет появляться кормовым предметам в этом месте.
 
|-
 
|-
| <tt>ForestEntry [{{t|int x}} {{t|int y}}]</tt><br />''(valid in farm)''
+
| <samp>ForestEntry [{{t|int x}} {{t|int y}}]</samp><br />''(действует на ферме)''
| The position the player is warped to when entering the farm from the Cindersap Forest.
+
| Положение, в котором находится игрок, когда он входит на ферму из [[Лес_Синдерсэп|Леса Синдерсэп]].
 
|-
 
|-
| <tt>GrandpaShrineLocation [{{t|int x}} {{t|int y}}]</tt><br />''(valid in farm)''
+
| <samp>GrandpaShrineLocation [{{t|int x}} {{t|int y}}]</samp><br />''(действует на ферме)''
| The position of grandpa's shrine. Corresponds to the upper left corner.
+
| Положение дедушкиного святилища. Соответствует верхнему левому углу.
 
|-
 
|-
| <tt>GreenhouseLocation [{{t|int x}} {{t|int y}}]</tt><br />''(valid in farm)''
+
| <samp>GreenhouseLocation [{{t|int x}} {{t|int y}}]</samp><br />''(действует на ферме)''
| The default position of the greenhouse. Corresponds to the upper left corner of the greenhouse's foundation.
+
| Положение теплицы по умолчанию. Соответствует верхнему левому углу фундамента теплицы.
 
|-
 
|-
| <tt>IgnoreLightingTiles T</tt>²<br />''(valid in indoor locations)''
+
| <samp>IgnoreLightingTiles T</samp>²<br />''(действует в помещениях)''
| Whether to ignore lights on the <tt>Front</tt> and <tt>Buildings</tt> layers.<br />''Example: <tt>IgnoreLightingTiles true</tt>.''
+
| Следует ли игнорировать огни на <samp>Front</samp> и <samp>Buildings</samp> слоях.<br />''Например: <samp>IgnoreLightingTiles true</samp>.''
 
|-
 
|-
| <tt>indoorWater T</tt>²<br />''(valid in indoor locations)''
+
| <samp>indoorWater T</samp>²<br />''(действует в помещениях)''
| Enables water logic (ie. fishing, etc.) in that location.
+
| Включает водную логику (т.е. рыбалка и т.д.) в этом месте.
 
|-
 
|-
| <tt>KitchenStandingLocation [{{t|int x}} {{t|int y}}]</tt><br />''(valid in farmhouse)''
+
| <samp>KitchenStandingLocation [{{t|int x}} {{t|int y}}]</samp><br />''(действует в фермерском доме)''
| The position the player's spouse will stand when using the kitchen.
+
| Позиция, в которой будет стоять супруг игрока при использовании кухни.
 
|-
 
|-
| <tt>Light [{{t|int x}} {{t|int y}} {{t|int type}}]+</tt><br />''(valid in any location)''
+
| <samp>Light [{{t|int x}} {{t|int y}} {{t|int type}}]+</samp><br />''(действует в любом месте)''
| Adds light sources. The {{t|type}} field is the kind of light source (e.g. 4 for twin candles), and {{t|x}} {{t|y}} are the tile coordinates.The {{t|type}} of light source can be one of...
+
| Добавляет источники света. Поле {t|type}} - вид источника света (например, 4 для двух свечей), и {{t|x}} {{t|y}} - координаты тайла. Поле {{t|type}} может принимать следующие значения:
* <tt>1</tt> (lantern);
+
* <samp>1</samp> (lantern)''(фонарь)'';
* <tt>2</tt> (window);
+
* <samp>2</samp> (window)''(окно)'';
* <tt>4</tt> (sconce);
+
* <samp>4</samp> (sconce)''(подсвечник)'';
* <tt>5</tt> (cauldron);
+
* <samp>5</samp> (cauldron)''(котёл)'';
* <tt>6</tt> (indoor window);
+
* <samp>6</samp> (indoor window)''(внутреннее окно)'';
* <tt>7</tt> (projector).
+
* <samp>7</samp> (projector)''(прожектор)''.
Any other value will crash the game.<br />''Example: <tt>Light 3 8 4 6 8 4 11 8 4 3 2 5 10 2 5 6 19 5 5 15 5 5 11 5 11 12 5</tt> (Adventurer's Guild).''
+
Любое другое значение приведет к падению игры.<br />''Например: <samp>Light 3 8 4 6 8 4 11 8 4 3 2 5 10 2 5 6 19 5 5 15 5 5 11 5 11 12 5</samp> (Гильдия искателей приключений).''
 
|-
 
|-
| <tt>LocationContext Default</tt><br />''(valid in any location)''
+
| <samp>LocationContext Default</samp><br />''(действует в любом месте)''
| Sets the map to be part of the mainland for game logic purposes, like weather.
+
| Устанавливает карту как часть материка для целей игровой логики, таких как погода.
 
|-
 
|-
| <tt>LocationContext Island</tt><br />''(valid in any location)''
+
| <samp>LocationContext Island</samp><br />''(действует в любом месте)''
| Sets the map to be part of Ginger Island for game logic purposes, like weather.
+
| Устанавливает карту как часть Имбирного острова для целей игровой логики, таких как погода.
 
|-
 
|-
| <tt>MailboxLocation [{{t|int x}} {{t|int y}}]</tt><br />''(valid in farm)''
+
| <samp>MailboxLocation [{{t|int x}} {{t|int y}}]</samp><br />''(действует на ферме)''
| The position of the player's mailbox. Corresponds to the upper left corner.
+
| Положение почтового ящика игрока. Соответствует верхнему левому углу.
 
|-
 
|-
| <tt>Music {{t|string name}}</tt><br />''(valid in any location)''
+
| <samp>Music {{t|string name}}</samp><br />''(действует в любом месте)''
| Sets the music that plays when the player enters, where {{t|name}} is the cue name in the audio files.<br />''Example: <tt>Music MarlonsTheme</tt>.''
+
| Задает музыку, которая воспроизводится при входе игрока, где {{t|name}} - наименование файла музыки.<br />''Например: <samp>Music MarlonsTheme</samp>.''
 
|-
 
|-
| <tt>Music {{t|int start}} {{t|int end}} {{t|string name}}</tt><br />''(valid in any location)''
+
| <samp>Music {{t|int start}} {{t|int end}} {{t|string name}}</samp><br />''(действует в любом месте)''
| Sets the music that plays when the player enters, where {{t|name}} is the cue name in the audio files, music will only play if the time is between {{t|int start}} (inclusive) and {{t|int end}} (exclusive).<br />''Example: <tt>Music 800 1200 MarlonsTheme</tt>.''
+
| Задает музыку, которая воспроизводится при входе проигрывателя, где {{t|name}} - имя сигнала в аудиофайлах, музыка будет воспроизводиться только в том случае, если время находится между {{t|int start}} (включительно) и {{t|int end}}(исключительно).<br />''например: <samp>Music 800 1200 MarlonsTheme</samp>.''
 
|-
 
|-
| <tt>NightTiles [{{t|string layerName}} {{t|int x}} {{t|int y}} {{t|int tilesheetIndex}}]+</tt><br />''(valid in any location)''
+
| <samp>NightTiles [{{t|string layerName}} {{t|int x}} {{t|int y}} {{t|int tilesheetIndex}}]+</samp><br />''(действует в любом месте)''
| Changes the tile after 7pm. Outside, it works along <tt>DayTiles</tt>: set a <tt>DayTiles</tt> tile for the map to load between 6am to 7pm, then a <tt>NightTiles</tt> to load between 7pm to the end of the day. It is mostly used for lamps in the game.
+
| Меняет плитку после 7 вечера. Снаружи работет вместе с <samp>DayTiles</samp>: устанавливает <samp>DayTiles</samp> тайлы для загрузки карты с 6 утра до 7 вечера, затем <samp>NightTiles</samp> для загрузки с 7 вечера до конца дня. Используется в основном он для ламп.
 
|-
 
|-
| <tt>NPCWarp [{{t|int fromX}} {{t|int fromY}} {{t|string toArea}} {{t|int toX}} {{t|int toY}}]+</tt><br />''(valid in any location)''
+
| <samp>NPCWarp [{{t|int fromX}} {{t|int fromY}} {{t|string toArea}} {{t|int toX}} {{t|int toY}}]+</samp><br />''(действует в любом месте)''
| Equivalent to <tt>Warp</tt>, but only usable by npcs.
+
| Эквивалентно <samp>Warp</samp>, но используется для NPC.
 
|-
 
|-
| <tt>Outdoors T</tt>²<br />''(valid in any location)''
+
| <samp>Outdoors T</samp>²<br />''(действует в любом месте)''
| Sets whether the location is outdoors.<br />''Example: <tt>Outdoors true</tt>.''
+
| Определяет, находится ли место на открытом воздухе.<br />''Например: <samp>Outdoors true</samp>.''
 
|-
 
|-
| <tt>ProduceArea {{t|int x}} {{t|int y}} {{t|int width}} {{t|int height}}</tt><br />''(valid in coops and barns)''
+
| <samp>ProduceArea {{t|int x}} {{t|int y}} {{t|int width}} {{t|int height}}</samp><br />''(действует в птичнике и хлеву)''
| Sets the area where animals can spawn within a coop or barn.<br />''Example: <tt>ProduceArea 6 4 8 7</tt>.''
+
| Задает область, где животные могут размножаться в птичнике или хлеву.<br />''Например: <samp>ProduceArea 6 4 8 7</samp>.''
 
|-
 
|-
| <tt>ScreenshotRegion {{t|int left}} {{t|int top}} {{t|int right}} {{t|int bottom}}</tt><br />''(valid in any location)''
+
| <samp>ScreenshotRegion {{t|int left}} {{t|int top}} {{t|int right}} {{t|int bottom}}</samp><br />''(действует в любом месте)''
| Constrains the portion of the map rendered when screenshots are taken.<br />''Example: <tt>ScreenshotRegion 0 27 69 61</tt>.''
+
| Ограничивает часть карты, отображаемую при создании скриншотов.<br />''Например: <samp>ScreenshotRegion 0 27 69 61</samp>.''
 
|-
 
|-
| <tt>SeasonOverride [{{t|string season}}]</tt><br />''(valid in any location)''
+
| <samp>SeasonOverride [{{t|string season}}]</samp><br />''(действует в любом месте)''
| Assumes a specific season for most game checks. (If a crop is in season, which tilesheet to use, etc.)
+
| Берёт определенный сезон для большинства проверок игры. (Есть ли урожай в сезоне, какой спрайт-лист использовать, и т.д.)
 
|-
 
|-
| <tt>ShippingBinLocation [{{t|int x}} {{t|int y}}]</tt><br />''(valid in farm)''
+
| <samp>ShippingBinLocation [{{t|int x}} {{t|int y}}]</samp><br />''(действует на ферме)''
| The position of the default shipping bin. Corresponds to the upper left corner.
+
| Положение ячейки доставки по умолчанию. Соответствует верхнему левому углу.
 
|-
 
|-
| <tt>skipWeedGrowth T</tt>²<br />''(valid in any location)''
+
| <samp>skipWeedGrowth T</samp>²<br />''(действует в любом месте)''
| Prevents weeds from spawning and spreading in this location.
+
| Предотвращает размножение и распространение сорняков в этом месте.
 
|-
 
|-
| <tt>SpouseAreaLocation [{{t|int x}} {{t|int y}}]</tt><br />''(valid in farm)''
+
| <samp>SpouseAreaLocation [{{t|int x}} {{t|int y}}]</samp><br />''(действует на ферме)''
| The position of the the outdoor spouse area. Corresponds to the upper left corner.
+
| Положение открытой зоны для супругов. Соответствует верхнему левому углу.
 
|-
 
|-
| <tt>Stumps [{{t|int x}} {{t|int y}} {{t|unused}}]+</tt><br />''(valid in [[Secret Woods]])''
+
| <samp>Stumps [{{t|int x}} {{t|int y}} {{t|unused}}]+</samp><br />''(действует в [[Тайный_лес|Тайном лесу]])''
| Adds stumps to the Secret Woods map daily. The third field for each stump appears to be unused.<br />''Example: <tt>Stumps 24 6 3 29 7 3 26 10 3 46 6 3 34 26 3 41 26 3</tt>.''
+
| Ежедневно добавляет пни на карту Тайного леса. Третье поле для каждого пня, не используется.<br />''Например: <samp>Stumps 24 6 3 29 7 3 26 10 3 46 6 3 34 26 3 41 26 3</samp>.''
 
|-
 
|-
| <tt>TreatAsOutdoors T</tt>²<br />''(valid in indoor locations)''
+
| <samp>TreatAsOutdoors T</samp>²<br />''(valid in indoor locations)''
| The location is treated as outdoors for the purposes of spawning anything other than lights from the <tt>Paths</tt> layer and yielding [[Coal]] from breaking rocks.<br />''Example: <tt>TreatAsOutdoors true</tt>.''
+
| Это место рассматривается как открытое для целей спавна чего-либо, кроме света со слоя <samp>Paths</samp> и получения [[Уголь|угля]] из камней.<br />''Пример: <samp>TreatAsOutdoors true</samp>.''
 
|-
 
|-
| <tt>Trees [{{t|int x}} {{t|int y}} {{t|int type}}]+</tt><br />''(valid in any location)''
+
| <samp>Trees [{{t|int x}} {{t|int y}} {{t|int type}}]+</samp><br />''(действует в любом месте)''
| Adds trees to the map. The {{t|x}} {{t|y}} fields are the tile coordinates, and {{t|type}} is the tree type (1: oak, 2: maple, 3: pine, 6: palm, 7: mushroom tree).<br />''Example: <tt>Trees 17 18 2 20 31 2</tt>.''
+
|Добавляет деревья на карту. Поля {{t|x}} {{t|y}} - координаты тайла, и {{t|type}} - тип дерева (1: дуб, 2: клён, 3: сосна, 6: пальма, 7: грибное дерево).<br />''Например: <samp>Trees 17 18 2 20 31 2</samp>.''
 
|-
 
|-
| <tt>UniquePortrait [{{t|str name}}]+</tt><br />''(valid in any location)''
+
| <samp>UniquePortrait [{{t|str name}}]+</samp><br />''(действует в любом месте)''
| Switches the portraits for the named NPCs to the unique variants for the location. An NPC <tt>Jane</tt> in location <tt>Room</tt> will switch to portrait <tt>Portraits/Jane_Room</tt>.<br/>''Example: <tt>UniquePortrait Maru</tt>.''
+
| Переключает портреты для NPC на уникальные варианты для местоположения. NPC <samp>Jane</samp> в локации <samp>Room</samp> переключится на портрет <samp>Portraits/Jane_Room</samp>.<br />''Например: <samp>UniquePortrait Maru</samp>.''
 
|-
 
|-
| <tt>UniqueSprite [{{t|str name}}]+</tt><br />''(valid in any location)''
+
| <samp>UniqueSprite [{{t|str name}}]+</samp><br />''(действует в любом месте)''
| Switches the spritesheets for the named NPCs to the unique variants for the location. An NPC <tt>Jane</tt> in location <tt>Room</tt> will switch to spritesheet <tt>Characters/Jane_Room</tt>.<br/>''Example: <tt>UniqueSprite Maru</tt>.''
+
| Переключает спрайт-листы для NPC на уникальные варианты для местоположения. NPC <samp>Jane</samp> в локации  <samp>Room</samp> will переключится на спрайт-лист <samp>Characters/Jane_Room</samp>.<br />''Например: <samp>UniqueSprite Maru</samp>.''
 
|-
 
|-
| <tt>ViewportFollowPlayer T</tt>²<br />''(valid in any location)''
+
| <samp>ViewportFollowPlayer T</samp>²<br />''(действует в любом месте)''
| Forces the viewport to stay centered on the player.<br />''Example: <tt>ViewportFollowPlayer</tt>.''
+
| Заставляет окно игры центрироваться на игроке.<br />''например: <samp>ViewportFollowPlayer</samp>.''
 
|-
 
|-
| <tt>Warp [{{t|int fromX}} {{t|int fromY}} {{t|string toArea}} {{t|int toX}} {{t|int toY}}]+</tt><br />''(valid in any location)''
+
| <samp>Warp [{{t|int fromX}} {{t|int fromY}} {{t|string toArea}} {{t|int toX}} {{t|int toY}}]+</samp><br />''(действует в любом месте)''
| Sets the tiles which warp the player to another map (e.g. doors). The {{t|fromX}} {{t|fromY}} fields are the tile coordinates that initiate the warp, and {{t|toArea}} {{t|toX}} {{t|toY}} are the name of the in-game location to warp to and the tile coordinates within it.<br />''Example: 6 20 Mountain 76 9.''
+
| Устанавливает тайлы, которые перемещают игрока на другую карту (например, двери). Поля {{t|fromX}} {{t|fromY}} - координаты тайла перехода, и {{t|toArea}} {{t|toX}} {{t|toY}} это название внутриигрового местоположения, в которое нужно переместиться, и координаты тайла внутри него<br />''Например: 6 20 Mountain 76 9''.
 
|-
 
|-
| <tt>WarpTotemEntry[{{t|int x}} {{t|int y}}]</tt><br />''(valid in farm)''
+
| <samp>WarpTotemEntry[{{t|int x}} {{t|int y}}]</samp><br />''(действует на ферме)''
| The position the player is warped to when teleporting to the farm via Warp Totem or Return Scepter.
+
| Позиция, в которую игрок перемещается при телепортации на ферму с помощью Тотема телепортации или Скипетра Возврата.
 
|-
 
|-
| <tt>WindowLight [{{t|int x}} {{t|int y}} {{t|int type}}]+</tt><br />''(valid in any location)''
+
| <samp>WindowLight [{{t|int x}} {{t|int y}} {{t|int type}}]+</samp><br />''(действует в любом месте)''
| Adds light sources that are only lit during the day when it is not raining (like the light coming through a window). See <tt>Light</tt> for details.
+
| Добавляет источники света, которые горят только днем, когда нет дождя (например, свет, проникающий через окно). Смотри <samp>Light</samp> для получения дополнительной информации.
 
|}
 
|}
  
The following properties are used but apparently have no effect: <tt>Arch</tt>, <tt>Debris</tt>, <tt>Spouse</tt>, and <tt>Fish</tt>.
+
Используются следующие свойства, но, по-видимому, они не оказывают никакого эффекта: <samp>Arch</samp>, <samp>Debris</samp>, <samp>Spouse</samp>, и <samp>Fish</samp>.
  
<small>¹ Map properties are primary handled in various methods of the <tt>GameLocation</tt> class, particularly <tt>resetLocalState</tt>.</small><br />
+
<small>¹ Свойства карты в основном обрабатываются различными методами класса <samp>GameLocation</samp>, особенно классом <samp>resetLocalState</samp>.</small><br />
<small>² The <tt>T</tt> value (short for ''true'') is conventional, but any non-empty value will work too.</small>
+
<small>² Значение <samp>T</samp> (сокращение от ''true''), но любое непустое значение тоже будет работать.</small>
  
===Tile properties===
+
===Свойства тайла===
Known tile properties (excluding specialised properties like <tt>TouchAction WomensLocker</tt>):¹
+
Свойства тайла(за исключением специализированных свойств, таких как <samp>TouchAction WomensLocker</samp>):¹
  
{| class="wikitable"
+
{|class="wikitable"
 
|-
 
|-
! layer
+
! Слой
! property
+
! Свойство
! explanation
+
! Описание
 
|-
 
|-
| <tt>Back</tt>
+
| <samp>Back</samp>
| <tt>Bed T</tt
+
| <samp>Bed T</samp
| If the player stands on this tile, they're considered in bed for the purposes of stamina regen (in multiplayer) and pass-out logic.
+
|Если игрок стоит на этой плитке, он считается лежащим в постели в целях восстановления выносливости (в мультиплеере) и логики потери сознания.
 
|-
 
|-
| <tt>Back</tt>
+
| <samp>Back</samp>
| <tt>Buildable T</tt
+
| <samp>Buildable T</samp
| Allows farm buildings to be placed on this tile if there are no other obstructions.
+
| Позволяет размещать сельскохозяйственные постройки на этом тайле, если нет других препятствий.
 
|-
 
|-
| <tt>Back</tt>
+
| <samp>Back</samp>
| <tt>Diggable T</tt
+
| <samp>Diggable T</samp
| Marks the tile as diggable with the hoe and enables planting crops. Also allows [[grass]] to spread to this tile.
+
| Помечает тайл как пригодный для возделывания мотыгой и позволяет сажать сельскохозяйственные культуры. Также позволяет [[Трава|траве]] распространяться на этот тайл.
 
|-
 
|-
| <tt>Back</tt>
+
| <samp>Back</samp>
| <tt>NoFishing T</tt
+
| <samp>NoFishing T</samp
| Prevents the player from casting the line onto this tile when fishing.
+
| Предотвращает забрасывание игроком лески на этот тайл при ловле рыбы.
 
|-
 
|-
| <tt>Back</tt>
+
| <samp>Back</samp>
| <tt>NoFurniture T</tt
+
| <samp>NoFurniture T</samp
| Prevents the player from placing furniture on this tile.
+
| Не позволяет игроку размещать мебель на этом тайле.
 
|-
 
|-
| <tt>Back</tt>
+
| <samp>Back</samp>
| <tt>NoSpawn All</tt><br /><tt>NoSpawn True</tt>
+
| <samp>NoSpawn Grass</samp>
| Combines <tt>NoSpawn Grass</tt> and <tt>NoSpawn Tree</tt>.
+
| Предотвращает появление мусора (например, сорняков или камней) на этом тайле.
 
|-
 
|-
| <tt>Back</tt>
+
| <samp>Back</samp>
| <tt>NoSpawn Grass</tt>
+
| <samp>NoSpawn Tree</samp>
| Prevents debris (e.g. weeds or stones) from spawning on this tile.
+
| Предотвращает появление деревьев на этом тайле. Запрещает игроку сажать деревья на этом тайле, за исключением фермы. Если дерево уже находится на этом тайле, это предотвращает его рост.
 
|-
 
|-
| <tt>Back</tt>
+
| <samp>Back</samp>
| <tt>NoSpawn Tree</tt>
+
| <samp>NoSpawn All</samp><br /><samp>NoSpawn True</samp>
| Prevents trees from spawning on this tile. Prevents the player from planting trees on this tile, except on the farm. If a tree is already on this tile, prevents it from growing.
+
| Объединяет <samp>NoSpawn Grass</samp> и <samp>NoSpawn Tree</samp>.
 
|-
 
|-
| <tt>Back</tt>
+
| <samp>Back</samp>
| <tt>NoSprinklers T</tt
+
| <samp>NoSprinklers T</samp
| Prevents sprinklers from being placed on this tile.
+
| Предотвращает размещение спринклеров на этом тайле.
 
|-
 
|-
| <tt>Back</tt>
+
| <samp>Back</samp>
| <tt>NPCBarrier T</tt
+
| <samp>NPCBarrier T</samp
| Prevents NPCs from crossing this tile.
+
| Не позволяет NPC проходить по этому тайлу.
 
|-
 
|-
| <tt>Back</tt>
+
| <samp>Back</samp>
| <tt>Passable T</tt
+
| <samp>Passable T</samp
| Lets players walk or place objects on this tile, even if they'd normally be blocked by a building tile or different property. Different from <tt>Buildings Passable T</tt> below.
+
| Позволяет игрокам ходить или размещать объекты на этом тайле, даже если обычно они заблокированы строительным тайлом или другим свойством. Отличается от <samp>Buildings Passable T</samp> ниже.
 
|-
 
|-
| <tt>Back</tt>
+
| <samp>Back</samp>
| <tt>Placeable T</tt
+
| <samp>Placeable T</samp
| '''Prevents''' players from placing objects on this tile.
+
| '''Запрещает''' игрокам размещать объекты на этом тайле.
 
|-
 
|-
| <tt>Back</tt>
+
| <samp>Back</samp>
| <tt>Type {{t|str type}}</tt>
+
| <samp>Type {{t|str type}}</samp>
| Sets the tile type for various game logic (e.g. step sounds or planting crops), where {{t|type}} is one of ''Dirt'', ''Stone'', ''Grass'', or ''Wood''.
+
| Задает тип тайла для различной игровой логики (например, звуки шагов или посадка культур), где {{t|type}} равен одному из следующих значений: ''Dirt'', ''Stone'', ''Grass'', or ''Wood''.
 
|-
 
|-
| <tt>Back</tt>
+
| <samp>Back</samp>
| <tt>Water T</tt
+
| <samp>Water T</samp
| Marks the tile as a water tile for various game logic (i.e. items splash into it, can refill watering can from it, can possibly fish in it, can possibly place crab pots in it, will water nearby paddy crops, will block most open-tile checks, will regenerate health in it if indoors, and will draw animated overlay over it if outdoors; if in the Mines, Sewer, or Submarine; or otherwise not in the Desert).
+
| Помечает тайл как водный, для различной игровой логики (т.е. в него попадают предметы, из него можно наполнять лейку, в нём можно ловить рыбу, в него можно помещать ловушки, он поливает ближайшие рисовые культуры, блокирует большинство проверок свободного тайла, восстанавливать здоровье в нём, если в помещении, и рисовать анимированное наложение на нём, если на улице; если в шахтах, канализации или подводной лодке; или иным образом не в пустыне).
 
|-
 
|-
| <tt>Back</tt>
+
| <samp>Back</samp>
| <tt>WaterSource T</tt
+
| <samp>WaterSource T</samp
| Lets the player refill the watering can from this tile.
+
| Позволяет игроку наполнить лейку из этого тайла.
 
|-
 
|-
| <tt>Buildings</tt>
+
| <samp>Buildings</samp>
| <tt>Passable T</tt
+
| <samp>Passable T</samp
| When placed on a water tile, the game no longer considers it open water (e.g. if it's a bridge). Different from <tt>Back Passable T</tt> above.
+
| При размещении на водном тайле игра больше не считает его свободным (например, если это мост). Отличается от <samp>Back Passable T</samp> выше.
 
|-
 
|-
| <tt>Paths</tt>
+
| <samp>Paths</samp>
| <tt>Order {{T|I}}</tt>
+
| <samp>Order {{T|I}}</samp>
| To place on index 29 and 30 of the Paths tilsheet. Set the order the cabins will spawn at the creation of a Multiplayer save.
+
| Для размещения в индексе 29 и 30 таблицы путей. Установите порядок, в котором будут появляться каюты при создании многопользовательского сохранения
 
|}
 
|}
  
The <tt>TouchAction</tt> property makes something happen when the player steps on the tile:
+
Свойство  <samp>TouchAction</samp> заставляет что-то происходить, когда игрок наступает на тайл:
  
{| class="wikitable"
+
{|class="wikitable"
 
|-
 
|-
! layer
+
! Слой
! property
+
! Свойство
! explanation
+
! Описание
 
|-
 
|-
| <tt>Back</tt>
+
| <samp>Back</samp>
| <tt>TouchAction Bus</tt>
+
| <samp>TouchAction Bus</samp>
| Starts the Bus Ride to the Desert mini-cutscene, works in conjunction with Action BusTicket.
+
| Начинается поездка на автобусе и мини-ролик "Пустыня", работающий в сочетании с билетом на автобус.
 
|-
 
|-
| <tt>Back</tt>
+
| <samp>Back</samp>
| <tt>TouchAction ChangeIntoSwimsuit</tt>
+
| <samp>TouchAction ChangeIntoSwimsuit</samp>
| Changes the player into their swimsuit and disables running.
+
| Переодевает игрока в купальник и отключает бег.
 
|-
 
|-
| <tt>Back</tt>
+
| <samp>Back</samp>
| <tt>TouchAction ChangeOutOfSwimsuit</tt>
+
| <samp>TouchAction ChangeOutOfSwimsuit</samp>
| Changes the player into their regular clothes and enables running.
+
| Переодевает игрока в обычную одежду и позволяет бегать.
 
|-
 
|-
| <tt>Back</tt>
+
| <samp>Back</samp>
| <tt>TouchAction DesertBus</tt>
+
| <samp>TouchAction DesertBus</samp>
| Lets you ride the bus back to the Bus Stop..
+
| Позволяет доехать на автобусе обратно до автобусной остановки.
 
|-
 
|-
| <tt>Back</tt>
+
| <samp>Back</samp>
| <tt>TouchAction Emote {{t|string npc}} {{t|int emoteID}}</tt>
+
| <samp>TouchAction Emote {{t|string npc}} {{t|int emoteID}}</samp>
| Finds the NPC whose name matches the {{t|npc}} field, and causes them to show the given {{t|emoteID}} above their head (4: empty can, 8: question mark, 12: angry, 16: exclamation, 20: heart, 24: sleep, 28: sad, 32: happy, 36: x, 40: pause, 52: videogame, 56: music note, 60: blush).
+
| Находит NPC, чье имя соответствует полю {{t|npc}}, и заставляет их показывать указанную эмоцию {{t|emoteID}} над их головой (4: пусто, 8: вопросительный знак, 12: сердитый, 16: восклицание, 20: сердце, 24: сон, 28: грусть, 32: счастье, 36: х, 40: пауза, 52: видеоигра, 56: музыкальная нота, 60: покраснение).
 
|-
 
|-
| <tt>Back</tt>
+
| <samp>Back</samp>
| <tt>TouchAction FacingDirection {{t|string npc}} {{t|int direction}}</tt>
+
| <samp>TouchAction FacingDirection {{t|string npc}} {{t|int direction}}</samp>
| Finds the NPC whose name matches the {{t|npc}} field, and make them face the given direction (0: up, 1: right, 2: down, 3: left).
+
| Находит NPC, чье имя соответствует полю {{t|npc}}, и заставляет его смотреть в заданном направлении (0: вверх, 1: вправо, 2: вниз, 3: влево).
 
|-
 
|-
| <tt>Back</tt>
+
| <samp>Back</samp>
| <tt>TouchAction legendarySword</tt>
+
| <samp>TouchAction legendarySword</samp>
| Gives them the [[Galaxy Sword]] when holding a [[Prismatic Shard]].
+
| Дает [[Меч_Галактики|меч галактики]] при удержании в руках [[Радужный_осколок|радужного осколка]].
 
|-
 
|-
| <tt>Back</tt>
+
| <samp>Back</samp>
| <tt>TouchAction MagicWarp {{t|string area}} {{t|int x}} {{t|int y}} {{o|string prerequisite}}</tt>
+
| <samp>TouchAction MagicWarp {{t|string area}} {{t|int x}} {{t|int y}} {{o|string prerequisite}}</samp>
| Warps the player to the {{t|x}} {{t|y}} tile coordinates in the given {{t|area}} with a magic sound and effects. If the {{o|prerequisite}} field is specified, only occurs if that flag is set via <tt>Game1.player.mailReceived</tt>.
+
| Телепортирует игрока на тайл с координатами {{t|x}} {{t|y}} указанной области {{t|area}} с волшебным звуком и эффектами. Если установлено поле {{o|prerequisite}}, происходит только в том случае, если этот флаг установлен с помощью <samp>Game1.player.mailReceived</samp>.
 
|-
 
|-
| <tt>Back</tt>
+
| <samp>Back</samp>
| <tt>TouchAction PoolEntrance</tt>
+
| <samp>TouchAction PoolEntrance</samp>
| Switches the player between swimming and walking mode.
+
| Переключает игрока между режимом плавания и режимом ходьбы.
 
|-
 
|-
| <tt>Back</tt>
+
| <samp>Back</samp>
| <tt>TouchAction Sleep</tt>
+
| <samp>TouchAction Sleep</samp>
| Ends the day if the player confirms.
+
| Заканчивается день, если игрок подтвердит это.
 
|}
 
|}
  
The <tt>Action</tt> property makes something happen when the player interacts (e.g. clicks) with the tile:
+
Свойство <samp>Action</samp> вызывает ддействие при взаимодействии игрока с тайлом(например, нажатие):
  
{| class="wikitable"
+
{|class="wikitable"
 
|-
 
|-
! layer
+
! Слой
! property
+
! Свойство
! explanation
+
! Описание
 
|-
 
|-
| <tt>Buildings</tt>
+
| <samp>Buildings</samp>
| <tt>Action AdventureShop</tt>
+
| <samp>Action AdventureShop</samp>
| Shows the Adventurer's Guild shop screen.
+
| Показывает экран магазина Гильдии искателей приключений.
 
|-
 
|-
| <tt>Buildings</tt>
+
| <samp>Buildings</samp>
| <tt>Action Arcade_Prairie</tt>
+
| <samp>Action Arcade_Prairie</samp>
| Shows the ''Journey of the Prairie King'' arcade game.
+
| Запускает ''Путешествие Короля Прерий''.
 
|-
 
|-
| <tt>Buildings</tt>
+
| <samp>Buildings</samp>
| <tt>Action Arcade_Minecart</tt>
+
| <samp>Action Arcade_Minecart</samp>
| Shows the ''Junimo Kart'' arcade game.
+
| Запускает ''Джумино Карт''.
 
|-
 
|-
| <tt>Buildings</tt>
+
| <samp>Buildings</samp>
| <tt>Action BuyBackpack</tt>
+
| <samp>Action BuyBackpack</samp>
| Shows a menu which lets the player upgrade their backpack if an upgrade is available.
+
| Показывает меню, которое позволяет игроку обновить свой рюкзак, если доступно обновление.
 
|-
 
|-
| <tt>Buildings</tt>
+
| <samp>Buildings</samp>
| <tt>Action Billboard</tt>
+
| <samp>Action Billboard</samp>
| Shows the calendar menu.
+
| Показывает календарь.
 
|-
 
|-
| <tt>Buildings</tt>
+
| <samp>Buildings</samp>
| <tt>Action Blacksmith</tt>
+
| <samp>Action Blacksmith</samp>
| Opens Clint's shop menu.
+
| Показывает магазин Клинта
 
|-
 
|-
| <tt>Buildings</tt>
+
| <samp>Buildings</samp>
| <tt>Action BrokenBeachBridge</tt>
+
| <samp>Action BrokenBeachBridge</samp>
| Prompts you to use wood to repair the bridge.
+
| Предлагает использовать дерево для ремонта моста.
 
|-
 
|-
| <tt>Buildings</tt>
+
| <samp>Buildings</samp>
| <tt>Action BusTicket</tt>
+
| <samp>Action BusTicket</samp>
| Offers to let you go to the Calico Desert if the Bus has been repaired. Works in conjunction with TouchAction Bus.
+
| Предлагает отправиться в пустыню Калико, если автобус был отремонтирован. Работает в сочетании с TouchAction.
 
|-
 
|-
| <tt>Buildings</tt>
+
| <samp>Buildings</samp>
| <tt>Action BuyQiCoins</tt>
+
| <samp>Action BuyQiCoins</samp>
| Shows a dialogue which lets the player buy 100 Casino club coins.
+
| Показывает диалог, который позволяет игроку купить 100 монет в казино.
 
|-
 
|-
| <tt>Buildings</tt>
+
| <samp>Buildings</samp>
| <tt>Action ColaMachine</tt>
+
| <samp>Action ColaMachine</samp>
| Offers to let the player buy a Joja cola.
+
| Предлагает игроку купить Джоджа-колу.
 
|-
 
|-
| <tt>Buildings</tt>
+
| <samp>Buildings</samp>
| <tt>Action ClubCards</tt><br /><tt>Action Blackjack</tt>
+
| <samp>Action ClubCards</samp><br /><samp>Action Blackjack</samp>
| Shows the casino blackjack minigame.
+
| Показывает мини-игру блэкджек в казино.
 
|-
 
|-
| <tt>Buildings</tt>
+
| <samp>Buildings</samp>
| <tt>Action ClubComputer</tt><br /><tt>Action FarmerFile</tt>
+
| <samp>Action ClubComputer</samp><br /><samp>Action FarmerFile</samp>
| Shows a dialogue with play stats (steps taken, gifts given, dirt hoed, etc).
+
| Показывает диалог со статистикой игры (сделанные шаги, подаренные подарки  и т.д.).
 
|-
 
|-
| <tt>Buildings</tt>
+
| <samp>Buildings</samp>
| <tt>Action ClubSeller</tt>
+
| <samp>Action ClubSeller</samp>
| Shows a dialogue which lets the player buy a [[Statue of Endless Fortune]] for one million gold.
+
| Показывает диалог, который позволяет игроку купить [[Статуя_Вечной_Удачи|статую вечной удачи]] за миллион золотых.
 
|-
 
|-
| <tt>Buildings</tt>
+
| <samp>Buildings</samp>
| <tt>Action ClubShop</tt>
+
| <samp>Action ClubShop</samp>
| Shows the casino shop menu.
+
| Показывает меню магазина казино.
 
|-
 
|-
| <tt>Buildings</tt>
+
| <samp>Buildings</samp>
| <tt>Action ClubSlots</tt>
+
| <samp>Action ClubSlots</samp>
| Shows the casino slots minigame.
+
| Показывает мини-игру игровые автоматы в казино.
 
|-
 
|-
| <tt>Buildings</tt>
+
| <samp>Buildings</samp>
| <tt>Action Dialogue {{t|text}}</tt>
+
| <samp>Action Dialogue {{t|text}}</samp>
| Shows a generic dialogue box with the given text. See [[Modding:Dialogue|dialogue format]].<br />''Example: Action Dialogue Hi there @!''
+
| Показывает общее диалоговое окно с заданным текстом. Смотри [[Модификации:Диалоги|Формат диалога]].<br />''Например: Action Dialogue Привет, @!''
 
|-
 
|-
| <tt>Buildings</tt>
+
| <samp>Buildings</samp>
| <tt>Action DivorceBook</tt>
+
| <samp>Action DivorceBook</samp>
| Shows divorce options for the player's current marriage status (as if they clicked the [[Marriage#Divorce|divorce book]]).
+
| Показывает варианты развода для текущего статуса брака игрока (как если бы они нажали на [[Брак#Развод|книгу развода]]).
 
|-
 
|-
| <tt>Buildings</tt>
+
| <samp>Buildings</samp>
| <tt>Action Door {{t|npcName}} {{o|npcName}}</tt>
+
| <samp>Action Door {{t|npcName}} {{o|npcName}}</samp>
| Sets up an interior door that cannot be opened unless the player has two or more hearts of friendship with any of the named NPC(s). Placed on the lower of the two door tiles. See [[Modding:Dialogue|dialogue format]].<br />''Example: Action Door Abigail''
+
| Устанавливает внутреннюю дверь, которую нельзя открыть, если у игрока нет двух или более сердец дружбы с любым из названных NPC. Помещается на нижнюю из двух дверных плиток. Смотри [[Модификации:Диалоги|формат диалога]].<br />''Например: Action Door Abigail''
 
|-
 
|-
| <tt>Buildings</tt>
+
| <samp>Buildings</samp>
| <tt>Action ElliotBook</tt>
+
| <samp>Action ElliotBook</samp>
| TODO: Explain what this does.
+
| TODO: Объясните, что это значит.
 
|-
 
|-
| <tt>Buildings</tt>
+
| <samp>Buildings</samp>
| <tt>Action ElliotPiano</tt>
+
| <samp>Action ElliotPiano</samp>
| TODO: Explain what this does.
+
| TODO: Объясните, что это значит.
 
|-
 
|-
| <tt>Buildings</tt>
+
| <samp>Buildings</samp>
| <tt>Action EnterSewer</tt>
+
| <samp>Action EnterSewer</samp>
| Warps you to the sewer if you have obtained the key.
+
| Уводит вас в канализацию, если вы получили ключ.
 
|-
 
|-
| <tt>Buildings</tt>
+
| <samp>Buildings</samp>
| <tt>Action EvilShrineLeft</tt>
+
| <samp>Action EvilShrineLeft</samp>
| Turns your kids into doves for a prismatic shard.
+
| Превращает ваших детей в голубей для радужного осколка.
 
|-
 
|-
| <tt>Buildings</tt>
+
| <samp>Buildings</samp>
| <tt>Action EvilShrineCenter</tt>
+
| <samp>Action EvilShrineCenter</samp>
| Erases your ex-spouses memory of you.
+
| Стирает память о вас у ваших бывших супругов.
 
|-
 
|-
| <tt>Buildings</tt>
+
| <samp>Buildings</samp>
| <tt>Action EvilShrineRight</tt>
+
| <samp>Action EvilShrineRight</samp>
| Toggles monster spawning for your farm.
+
| Переключает появление монстров на вашей ферме.
 
|-
 
|-
| <tt>Buildings</tt>
+
| <samp>Buildings</samp>
| <tt>Action Garbage {{t|ID}}</tt>
+
| <samp>Action Garbage {{t|ID}}</samp>
| Has a chance to give a specific item to the player based on the {{t|ID}}. Can only be clicked once per day. TODO: Explain what each {{t|ID}} means.
+
| Дать игроку определенный предмет по {{t|ID}}. Можно нажимать только один раз в день. TODO: Объясните, что означает каждое {{t|ID}}.
 
|-
 
|-
| <tt>Buildings</tt>
+
| <samp>Buildings</samp>
| <tt>Action Gunther</tt>
+
| <samp>Action Gunther</samp>
| Opens the museum menu where you can donate artifacts or claim rewards.
+
| Открывает меню музея, в котором вы можете пожертвовать артефакты или получить награды.
 
|-
 
|-
| <tt>Buildings</tt>
+
| <samp>Buildings</samp>
| <tt>Action HMGTF</tt>
+
| <samp>Action HMGTF</samp>
| Gives you "[[??HMTGF??]]" when you have a [[Super Cucumber]] in your hand.
+
| Даёт "[[??HMTGF??]]", когда у игрока есть [[Чудо-огурец]] в руках.
 
|-
 
|-
| <tt>Buildings</tt>
+
| <samp>Buildings</samp>
| <tt>Action IceCreamStand</tt>
+
| <samp>Action IceCreamStand</samp>
| If Summer, shows the Ice Cream Stand shopping screen. Otherwise, the player will be told to come back in the summer.
+
| Если лето, показывает торговый экран киоска с мороженым. В противном случае игроку будет предложено вернуться летом.
 
|-
 
|-
| <tt>Buildings</tt>
+
| <samp>Buildings</samp>
| <tt>Action JojaShop</tt>
+
| <samp>Action JojaShop</samp>
| Shows the Joja shopping screen.
+
| Показывает экран покупок Джоджа.
 
|-
 
|-
| <tt>Buildings</tt>
+
| <samp>Buildings</samp>
| <tt>Action Jukebox</tt>
+
| <samp>Action Jukebox</samp>
| Shows the jukebox menu to choose the ambient music.
+
| Показывает меню музыкального автомата для выбора музыки.
 
|-
 
|-
| <tt>Buildings</tt>
+
| <samp>Buildings</samp>
| <tt>Action kitchen</tt>
+
| <samp>Action kitchen</samp>
| Shows the cooking menu.
+
| Показывает меню готовки.
 
|-
 
|-
| <tt>Buildings</tt>
+
| <samp>Buildings</samp>
| <tt>Action Letter {{t|string text}}</tt>
+
| <samp>Action Letter {{t|string text}}</samp>
| Shows the letter menu on-screen with the given text, with the syntax used by <tt>Data\mail.xnb</tt>.<br />''Example: <tt>Action Letter Hey there!^I had some extra wood lying around... I thought maybe you could use it. Take care!  ^  -Robin %item object 388 50 %%</tt>''
+
| Показывает буквенное меню на экране с заданным текстом, с синтаксисом, используемым <samp>Data\mail.xnb</samp>.<br />''Например: <samp>Action Letter Hey there!^I had some extra wood lying around... I thought maybe you could use it. Take care!  ^  -Robin %item object 388 50 %%</samp>''
 
|-
 
|-
| <tt>Buildings</tt>
+
| <samp>Buildings</samp>
| <tt>Action LockedDoorWarp [{{t|int toX}} {{t|int toY}} {{t|string toArea}} {{t|int openTime}} {{t|int closeTime}}]</tt>
+
| <samp>Action LockedDoorWarp [{{t|int toX}} {{t|int toY}} {{t|string toArea}} {{t|int openTime}} {{t|int closeTime}}]</samp>
| Creates an activation warp normally used on doors with a time window for when it can be used. Note that you must use 24-hour times, i.e. 2000 for 8pm. <br />''Example: 6 29 SeedShop 900 2100''
+
| Указывает в какое время можно войти в дверь. Обратите внимание, вы должны использовать 24-часовой формат времени, т.е. 2000 для 8 вечера. <br />''Например: 6 29 SeedShop 900 2100''
 
|-
 
|-
| <tt>Buildings</tt>
+
| <samp>Buildings</samp>
| <tt>Action LuauSoup</tt>
+
| <samp>Action LuauSoup</samp>
| Used for the Luau Festival, this is where you insert a food item for the soup.
+
| Используется для фестиваля Луау, здесь вы добавляете продукт в суп.
 
|-
 
|-
| <tt>Buildings</tt>
+
| <samp>Buildings</samp>
| <tt>Action MagicInk</tt>
+
| <samp>Action MagicInk</samp>
| Adds the Magic Ink to your wallet.
+
| Добавляет волшебные чернила в ваш кошелек.
 
|-
 
|-
| <tt>Buildings</tt>
+
| <samp>Buildings</samp>
| <tt>Action Mailbox</tt>
+
| <samp>Action Mailbox</samp>
| Shows the next letter from the player's mailbox (if any).
+
| Показывает следующее письмо из почтового ящика игрока (если таковое имеется).
 
|-
 
|-
| <tt>Buildings</tt>
+
| <samp>Buildings</samp>
| <tt>Action Material</tt>
+
| <samp>Action Material</samp>
| Shows a summary of the player's stockpiled wood and stone.
+
| Показывает сводную информацию о запасах древесины и камня игрока.
 
|-
 
|-
| <tt>Buildings</tt>
+
| <samp>Buildings</samp>
| <tt>Action Message {{t|string messageKey}}</tt>
+
| <samp>Action Message {{t|string messageKey}}</samp>
| Loads a message with the given key from the ''Content\Strings\StringsFromMaps.xnb'' file and displays it in a dialogue box.
+
| Загружает сообщение с заданным ключом из ''Content\Strings\StringsFromMaps.xnb'' файл и отображает его в диалоговом окне.
 
|-
 
|-
| <tt>Buildings</tt>
+
| <samp>Buildings</samp>
| <tt>Action MessageOnce {{t|int eventID}} {{t|string message}}</tt>
+
| <samp>Action MessageOnce {{t|int eventID}} {{t|string message}}</samp>
| If the player hasn't seen the event with ID {{t|eventID}}, marks that event seen and displays the given message text in a dialogue box. This does ''not'' parse [[Modding:Dialogue|dialogue format]].
+
| Если игрок не видел событие с ID {{t|eventID}}, отмечает увиденное событие и отображает заданный текст сообщения в диалоговом окне. ''Не'' затрагивает [[Модификации:Диалоги|формат диалога]].
 
|-
 
|-
| <tt>Buildings</tt>
+
| <samp>Buildings</samp>
| <tt>Action MessageSpeech {{t|string messageKey}}</tt>
+
| <samp>Action MessageSpeech {{t|string messageKey}}</samp>
| Identical to <tt>Action Message</tt>, but replaces the usual inspection cursor with a speech cursor.
+
| Идентично <samp>Action Message</samp>, но заменяет обычный контрольный курсор речевым курсором.
 
|-
 
|-
| <tt>Buildings</tt>
+
| <samp>Buildings</samp>
| <tt>Action MineSign {{t|string message}}</tt>
+
| <samp>Action MineSign {{t|string message}}</samp>
| Shows a mini-dialogue box with the given raw message text. This does ''not'' parse [[Modding:Dialogue|dialogue format]].
+
| Показывает мини-диалоговое окно с заданным исходным текстом сообщения. ''Не'' затрагивает [[Модификации:Диалоги|формат диалога]].
 
|-
 
|-
| <tt>Buildings</tt>
+
| <samp>Buildings</samp>
| <tt>Action MinecartTransport</tt>
+
| <samp>Action MinecartTransport</samp>
| Shows the minecart destination menu (or a message if not unlocked).
+
| Показывает меню назначения карты (или сообщение, если оно не разблокировано).
 
|-
 
|-
| <tt>Buildings</tt>
+
| <samp>Buildings</samp>
| <tt>Action MineElevator</tt>
+
| <samp>Action MineElevator</samp>
| Shows the mine elevator menu (to warp to a mine level) if the player has reached mine level 5+, else a mine elevator not working message.
+
| Показывает меню шахтного лифта (для перехода на уровень шахты), если игрок достиг уровня шахты 5+, иначе сообщение о том, что шахтный лифт не работает.
 
|-
 
|-
| <tt>Buildings</tt>
+
| <samp>Buildings</samp>
| <tt>Action NextMineLevel</tt>
+
| <samp>Action NextMineLevel</samp>
| Warps the player to the next mine level (or level 1 if they're not in the mine).
+
| Переводит игрока на следующий уровень шахты (или на 1 уровень, если они не находятся в шахте).
 
|-
 
|-
| <tt>Buildings</tt>
+
| <samp>Buildings</samp>
| <tt>Action Notes {{t|int noteID}}</tt>
+
| <samp>Action Notes {{t|int noteID}}</samp>
| If the player has found the specified lost book, displays its museum note text and marks it read.<br />''Example: Action Notes 17''
+
| Если игрок нашел указанную потерянную книгу, отобразит текст заметки о музее и пометит ее как прочитанную.<br />''Например: Action Notes 17''
 
|-
 
|-
| <tt>Buildings</tt>
+
| <samp>Buildings</samp>
| <tt>Action NPCMessage {{t|str name}} "{{t|str dialogueKey}}"</tt>
+
| <samp>Action NPCMessage {{t|str name}} "{{t|str dialogueKey}}"</samp>
| If the named NPC is within 14 tiles of the player, reads dialogue with the given key from the string files and displays a dialogue box. See [[Modding:Dialogue|dialogue format]].<br />''Example: Action NPCMessage Abigail "Strings\\StringsFromCSFiles:Event.cs.1022"''
+
| Если указанный NPC находится в пределах 14 тайлов от игрока, считывает диалог с данным ключом из строковых файлов и отображает диалоговое окно. Смотри [[Модификации:Диалоги|формат диалога]].<br />''Например: Action NPCMessage Abigail "Strings\\StringsFromCSFiles:Event.cs.1022"''
 
|-
 
|-
| <tt>Buildings</tt>
+
| <samp>Buildings</samp>
| <tt>Action playSound {{t|str cueName}}</tt>
+
| <samp>Action playSound {{t|str cueName}}</samp>
| Play the sound or music with the given name.
+
| Воспроизводит звук или музыку с заданным именем.
 
|-
 
|-
| <tt>Buildings</tt>
+
| <samp>Buildings</samp>
| <tt>Action QiCoins</tt>
+
| <samp>Action QiCoins</samp>
| Shows a dialogue which lets the player buy 10 Casino club coins if they have none, else shows how many they have.
+
| Показывает диалог, который позволяет игроку купить 10 монет в казино, если у него их нет, в противном случае показывает, сколько монет есть.
 
|-
 
|-
| <tt>Buildings</tt>
+
| <samp>Buildings</samp>
| <tt>Action SandDragon</tt>
+
| <samp>Action SandDragon</samp>
| Used for Part 3 of the Mysterious Mr. Qi Quest.
+
| Используется для 3 части квеста загадочного "Мистера Ки".
 
|-
 
|-
| <tt>Buildings</tt>
+
| <samp>Buildings</samp>
| <tt>Action Shop</tt>
+
| <samp>Action Shop</samp>
| On festival maps, opens the festival shop. No effect on non-festival maps.
+
| На картах фестиваля открывается фестивальный магазин. Не влияет на карты, не относящиеся к фестивалю.
 
|-
 
|-
| <tt>Buildings</tt>
+
| <samp>Buildings</samp>
| <tt>Action TownMailbox {{t|ID}}</tt>
+
| <samp>Action TownMailbox {{t|ID}}</samp>
| TODO: Explain what this does.
+
| TODO: Объясните, что это значит.
 
|-
 
|-
| <tt>Buildings</tt>
+
| <samp>Buildings</samp>
| <tt>Action Warp {{t|int x}} {{t|int y}} {{t|str area}}</tt>
+
| <samp>Action Warp {{t|int x}} {{t|int y}} {{t|str area}}</samp>
| Warps the player to the {{t|x}} {{t|y}} tile coordinate in the {{t|area}} game location.<br />''Example: Action Warp 76 9 Mountain''
+
| Перемещает игрока в координаты тайла {{t|x}} {{t|y}} в локации {{t|area}}.<br />''Например: Action Warp 76 9 Mountain''
 
|-
 
|-
| <tt>Buildings</tt>
+
| <samp>Buildings</samp>
| <tt>Action WarpCommunityCenter</tt>
+
| <samp>Action WarpCommunityCenter</samp>
| Warps the player to the inside of the Community Center if they have access (else show an "it's locked" message).
+
| Перемещает игрока внутрь Общественного центра, если у него есть доступ (в противном случае отобразится сообщение "заблокирован").
 
|-
 
|-
| <tt>Buildings</tt>
+
| <samp>Buildings</samp>
| <tt>Action WarpGreenhouse</tt>
+
| <samp>Action WarpGreenhouse</samp>
| Warps the player to the inside of their greenhouse if they've unlocked it, else shows a message about the greenhouse ruins.
+
| Перемещает игрока внутрь своей теплицы, если они ее разблокировали, в противном случае отображается сообщение о руинах теплицы.
 
|-
 
|-
| <tt>Buildings</tt>
+
| <samp>Buildings</samp>
| <tt>Action WizardBook</tt>
+
| <samp>Action WizardBook</samp>
| If unlocked, you buy buildings from the wizard here.
+
| Если разблокировано, вы покупаете здания у мастера.
 
|-
 
|-
| <tt>Buildings</tt>
+
| <samp>Buildings</samp>
| <tt>Action WizardHatch</tt>
+
| <samp>Action WizardHatch</samp>
| If you're good enough friends with the wizard you warp to his basement, if not you get told you can't go in.
+
| Если вы достаточно хорошо дружите с волшебником, вы переходите в его подвал, если нет, вам говорят, что вы не можете войти.
 
|-
 
|-
| <tt>Buildings</tt>
+
| <samp>Buildings</samp>
| <tt>Action WizardShrine</tt>
+
| <samp>Action WizardShrine</samp>
| Shows the character customisation menu normally available from the Wizard's tower.
+
| Показывает меню настройки персонажа, доступное в башне волшебника.
 
|}
 
|}
  
<small>¹ Tile properties are handled throughout the codebase using <tt>GameLocation::doesTileHaveProperty</tt>. Actions and touch actions are handled by <tt>GameLocation::performAction</tt> and <tt>GameLocation::performTouchAction</tt> respectively. Emote IDs are listed as <tt>Character</tt> constants.</small><br />
+
<small>¹ Свойства тайла обрабатываются по всей кодовой базе с помощью <samp>GameLocation::doesTileHaveProperty</samp>. Действия и касания обрабатываются <samp>GameLocation::performAction</samp> и <samp>GameLocation::performTouchAction</samp> соответственно. ID эмоций перечислены как константы <samp>Character</samp>.</small><br />
<small>² The <tt>T</tt> value (short for ''true'') is conventional, but any non-empty value will work too.</small>
+
<small>²<samp>T</samp> value (сокращение от ''true''), но любое непустое значение тоже будет работать.</small>
  
==Paths layer==
+
==Слой Paths==
The <tt>Paths</tt> layer has icon tiles from the <tt>paths</tt> tilesheet which affect game behavior on the map:
+
Слой <samp>Paths</samp> содержит тайлы путей из спрайт-листа <samp>paths</samp> которые влияют на поведение карты:
  
[[File:PathsExplanation.png|thumb|The tile indexes shown in the table.]]
+
[[File:PathsExplanation.png|thumb|Индексы тайлов, показанные в таблице.]]
  
{| class="wikitable"
+
{|class="wikitable"
 
|-
 
|-
! tile index
+
! Индекс тайла
! explanation
+
! Описание
! restrictions
+
! Ограничение
 
|-
 
|-
 
| 0–7
 
| 0–7
| No effect? TODO: verify how the pathing logic uses it.
+
| Нет эффекта? TODO: проверьте, как его использует логика привязки.
 
|  
 
|  
 
|-
 
|-
 
| 8
 
| 8
| Add this tile to the [[#Map properties 2|<tt>Light</tt> map property]] with light type 4 (sconce).
+
| Добавьте этот тайл в [[#Свойства карты 2|свойство карты <samp>Light</samp>]] с подсветкой типа 4 (бра).
| Indoors and festivals only
+
| Только в помещении и на фестивалях
 
|-
 
|-
 
| 9–12
 
| 9–12
| Spawn a [[trees|tree]] when the location is created. Outside the farm, 50% chance to respawn each day. (See also 31–32.)<br />Available trees: oak (9), maple (10), pine (11), and palm 1 (12).
+
| Создаёт [[Деревья|дерево]] когда местоположение будет свободно. За пределами фермы шанс появиться равен 50%. (Смотрите также 31–32.)<br />Доступные деревья: дуб (9), клён (10), сосна (11), и пальма 1 (12).
| Outdoors only.
+
| Только на открытом воздухе.
 
|-
 
|-
 
| 13–18
 
| 13–18
| Spawn debris when the location is created, or randomly each day. Outside the farm, respawn in spring.<br />Available debris: [[weeds|seasonal weed]] (13–15), rock (16–17), twig (18).
+
| Создаёт мусор при каждый день. За пределами фермы возрождайтесь весной.<br />Доступный мусор: [[Сорняки|сезонные сорняки]] (13–15), [[Камень]] (16–17), [[Место_для_артефакта|место для артефакта]](18).
| Outdoors only.
+
| Только на открытом воздухе.
 
|-
 
|-
 
| 19
 
| 19
| Spawn a [[Large Log|large log]] when the farm is created, with the top-left corner on this tile.
+
| Создаёт [[Большое_бревно|большое бревно]], когда ферма будет создана, в верхнем левом углу этого тайла.
| Farm only.
+
| Только на ферме.
 
|-
 
|-
 
| 20
 
| 20
| Spawn a [[boulder]] the farm is created, with the top-left corner on this tile..
+
| Создаёт [[Булыжник]], когда ферма будет создана, в верхнем левом углу этого тайла.
| Farm only.
+
| Только на ферме.
 
|-
 
|-
 
| 21
 
| 21
| Spawn a [[Large Stump|hardwood stump]] when the farm is created (and every day on the forest farm), with the top-left corner on this tile.
+
| Создаёт [[Большой_пень|большой пень]], когда ферма будет создана (и каждый день на лесной ферме), в верхнем левом углу этого тайла.
| Farm only.
+
| Только на ферме.
 
|-
 
|-
 
| 22
 
| 22
| Spawn [[grass]] when the location is created, or randomly afterwards.
+
| Создаёт [[Трава|траву]], когда ферма будет создана, в верхнем левом углу этого тайла.
| Outdoors only.
+
| Только на открытом воздухе.
 
|-
 
|-
 
| 23
 
| 23
| Spawn a random oak, maple, or pine [[trees|tree]] at growth stage 2–3 when the location is created.
+
| Создаёт случайное [[Деревья|дерево]] (дуб, клен или сосну) на стадии роста 2-3, когда создается локация.
| Outdoors only.
+
| Только на открытом воздухе.
 
|-
 
|-
 
| 24–26
 
| 24–26
| Spawn a normal bush when the location is created. Medium bushes grow [[blackberry|blackberries]] and [[salmonberry|salmonberries]].<br />Available bushes: large (24), medium (25), small (26).
+
| Создаёт обычный кустарник, когда локация будет создана. Кусты среднего роста [[Ежевика|ежевики]] и [[Морошка|морошки]].<br />Доступные кусты: большой (24), средний (25), маленький (26).
| Outdoors only.
+
| Только на открытом воздухе.
 
|-
 
|-
 
| 27
 
| 27
| When the location is created, add this tile to the [[#Map properties 2|<tt>BrookSounds</tt> map property]] with the <tt>babblingBrook</tt> sound.
+
| Когда локация будет создана, добавит этот тайл в [[#Свойства карты 2|свойство карты <samp>BrookSounds</samp>]] с звуком <samp>babblingBrook</samp>.
| Outdoors only.
+
| Только на открытом воздухе.
 
|-
 
|-
 
| 28
 
| 28
| Spawn a [[grub]] here (33% chance per day, unless the map already has 50 grubs).
+
| Создаёт [[Личинка|личинку]] here (шанс на день - 33%, если уже есть не более 50 личинок).
| [[Mutant Bug Lair]] only.
+
| Только в [[Логово_жуков-мутантов|Логове жуков-мутантов]].
 
|-
 
|-
 
| 29–30
 
| 29–30
| Place prebuilt [[cabin]]s in [[multiplayer]] based on the layout (29=nearby or 30=separate) and [[#Tile properties 2|<tt>Order</tt> tile property]], with the top-left corner on this tile.
+
| Размещает [[Домик|домики]] в [[Совместная_игра|мультиплеере]] на основе слоя (29=поблизости или 30=отдельно) и [[#Свойства тайла 2|свойство тайла <samp>Order</samp>]], верхним левым углом на этой плитке.
| Farm only.
+
| Только на ферме.
 
|-
 
|-
 
| 31–32
 
| 31–32
| Spawn a [[trees|tree]] when the location is created. Outside the farm, 50% chance to respawn each day. (See also 9–12.)<br />Available trees: palm 2 (31), mahogany (32).
+
| Создаёт [[Деревья|дерево]] когда локация будет создана. За пределами фермы, 50% шанс каждый день. (Смотри также 9–12.)<br />Доступные деревья: Пальма 2 (31), Красное дерево (32).
| Outdoors only.
+
| Только на открытом воздухе.
 
|-
 
|-
 
| 33
 
| 33
| Spawn a [[Golden Walnut|golden walnut]] bush when the location is created.
+
| Создаёт кустарник [[Золотой_грецкий_орех|золотого грецкого ореха]] при создании локации.
| Outdoors only.
+
| Только на открытом воздухе.
 
|}
 
|}
  
Notes:
+
Примечания:
# In the [[Mutant Bug Lair]], debris spawn rate is reduced to 33% chance per day.
+
# В [[Логово_жуков-мутантов|Логове жуков-мутантов]], вероятность появления мусора снижается до 33% в день.
# Restriction can be overridden with <tt>forceLoadPathLayerLights</tt> map property.
+
# Ограничение может быть отменено с помощью свойства карты <samp>forceLoadPathLayerLights</samp>.
  
==Potential issues==
+
==Потенциальные проблемы==
===Tilesheet order===
+
===Порядок листов тайлов===
When you replace a vanilla map, '''don't''' change the order or IDs of the original tilesheets. Prefix new tilesheet IDs with <code>z_</code> to avoid changing the original order.
+
Когда вы заменяете ванильную карту, '''не''' меняйте порядок или ID оригинальных спрайт-листов. Используйте в ID новых спрайт-листов префикс <code>z_</code>, чтобы избежать изменений первоначального порядка.
  
; Why this causes problems
+
; Почему это вызывает проблемы
: For example, let's say you replace a map which normally has these tilesheets in Tiled:
+
: Например, допустим, вы заменяете карту, на которой обычно есть эти спрайт-листы в Tiled:
: [[File:Tiled tileset order A.png|thumb|none|The original tilesheet order.]]
+
: [[File:Tiled tileset order A.png|thumb|none|Оригинальный порядок спрайт-листа.]]
  
: When you add a new tilesheet, note that the order changes from ''[paths, untitled tile sheet]'' to ''[customSheet, paths, untitled tile sheet]'':
+
: При добавлении нового спрайт-листа, обратите внимание, что порядок меняется с ''[paths, untitled tile sheet]'' на ''[customSheet, paths, untitled tile sheet]'':
: [[File:Tiled tileset order B.png|thumb|none|'''Wrong''' way to add a new tilesheet (changes the original order).]]
+
: [[File:Tiled tileset order B.png|thumb|none|'''Неправильный''' способ добавления нового спрай-листа (изменяет исходный порядок).]]
  
: If the game tries to access a tile from the first tilesheet, it will get it from <tt>customSheet</tt> instead of the expected <tt>Paths</tt> tilesheet. That can cause anything from visual glitches (e.g. showing the wrong tile images) to outright crashes (especially if the new tilesheet is smaller than the one it expected).
+
: Если игра попытается получить доступ к тайлу из первого листа, она получит ее из<samp>customSheet</samp> вместо ожидаемого листа <samp>Paths</samp>. Это может вызвать что угодно, от визуальных (например, отображение неправильных тайлов) до критичных сбоев (особенно если новый лист меньше, чем ожидалось).
  
: To avoid that, always keep the original tilesheets in the same order and prefix new tilesheets with <code>z_</code> so they're added at the end:
+
: Чтобы избежать этого, всегда сохраняйте исходные таблицы листов в том же порядке и добавляйте к новым таблицам префикс <code>z_</code>, чтобы они добавлялись в конец:
: [[File:Tiled tileset order C.png|thumb|none|Correct way to add a new tilesheet.]]
+
: [[File:Tiled tileset order C.png|thumb|none|Правильный способ добавления нового спрайт-листа.]]
  
; How to fix an affected tilesheet
+
; Как исправить повреждённый спрайт-лист
: See ''[[#"mod reordered the original tilesheets"|"mod reordered the original tilesheets"]]'' below.
+
: Смотри ''[[#"мод изменил порядок исходных спрайт-листов"|"мод изменил порядок исходных спрайт-листов"]]'' ниже.
  
===Local copy of a vanilla tilesheet===
+
===Локальная копия ванильных спрай-листов===
When editing a map in Tiled, you may need to copy vanilla tilesheets like <tt>path.png</tt> or <tt>spring_town.png</tt> into the map folder for Tiled to find. If the tilesheet is still there when you load the game, SMAPI will use it for your map instead of the game's vanilla tilesheet, which may have unintended effects (e.g. edits from recolor mods won't work in your map).
+
При редактировании карты в тайловом формате вам может потребоваться скопировать ванильные спрайт-листы, например <samp>path.png</samp> или <samp>spring_town.png</samp> в папку карты для нахождения их в Tiled. Если спрайт-лист все еще там, когда вы загружаете игру, SMAPI будет использовать нго для вашей карты вместо ванильных листов, что может привести к непредвиденным результатам (например, изменения в модах перекраски не будут работать на вашей карте).
  
To avoid issues, you can either...
+
Чтобы избежать проблем, вы можете сделать...
* Delete vanilla tilesheets from the folder before testing or releasing the mod.
+
* Удалите ванильные листы из папки перед тестированием или выпуском мода.
* Rename the tilesheet file to start with a dot (like <tt>.spring_town.png</tt>) and reference that. When SMAPI loads the map in-game, it'll automatically ignore the dot and look for <tt>spring_town.png</tt> in the local files or <tt>Content/Maps</tt> folder.
+
* Переименовать файл листа, чтобы он начинался с точки (like <samp>.spring_town.png</samp>) и ссылаться на это. Когда SMAPI загружает карту в игре, он автоматически игнорирует точку и ищет <samp>spring_town.png</samp> в локальных файлах или папке <samp>Content/Maps</samp>.
  
===Map-specific issues===
+
===Проблемы, связанные с картой===
The game makes some assumptions about maps which may break for modded maps. These are the known issues:
+
Игра делает некоторые предположения о картах, которые могут нарушиться для модифицированных карт. Известные проблемы:
{| class="wikitable"
+
{|class="wikitable"
 
|-
 
|-
! affected maps
+
! Затрагиваемые карта
! issue
+
! Проблема
 
|-
 
|-
| <tt>Maps/Farm</tt><br /><tt>Maps/Farm_Combat</tt><br /><tt>Maps/Farm_Fishing</tt><br /><tt>Maps/Farm_Foraging</tt><br /><tt>Maps/Farm_Mining</tt>
+
| <samp>Maps/Farm</samp><br /><samp>Maps/Farm_Combat</samp><br /><samp>Maps/Farm_Fishing</samp><br /><samp>Maps/Farm_Foraging</samp><br /><samp>Maps/Farm_Mining</samp>
 
| &#32;
 
| &#32;
* The farm's <tt>Paths</tt> layer must have at least one tile with index 22 (grass spawn). This is used to initialise the grass code when the save is loaded, even if no grass is spawned.<ref>The grass sound is set in <tt>Grass::loadSprite</tt>, which is called from <tt>GameLocation::loadObjects</tt> if the <tt>Paths</tt> layer has tile index 22. (The game spawns a grass for each such tile, and later removes them.)</ref>
+
* На ферме слой <samp>Paths</samp> должен иметь по крайней мере одну плитку с индексом 22 (создание травы). Используется для инициализации кода травы при загрузке сохранения, даже если трава не создается.<ref>Звук травы устанавливается в <samp>Grass::loadSprite</samp>, который называется от <samp>GameLocation::loadObjects</samp> если слой <samp>Paths</samp> имеет тайл с индексом 22. (Игра создаёт траву для каждого такого тайла, а затем удаляет их.)</ref>
 
|-
 
|-
| <tt>Maps/FarmHouse*</tt>
+
| <samp>Maps/FarmHouse*</samp>
 
| &#32;
 
| &#32;
* The two bed tiles where the player can walk must have two properties: <tt>Bed T</tt> (used to decide if the player is in bed) and <tt>TouchAction Sleep</tt>.
+
* Два тайла кровати, по которым игрок может ходить, должны иметь два свойства: <samp>Bed T</samp> (используется для определения того, находится ли игрок в постели) и <samp>TouchAction Sleep</samp>.
* Deleting or changing the wallpapers and floors will cause a game crash.
+
* Удаление или изменение обоев и полов приведет к сбою игры.
* The <tt>DayTiles</tt> and <tt>NightTiles</tt> map properties are cleared when loading the spouse room, so custom values for those properties won't work for married players.
+
* Свойства карты <samp>DayTiles</samp> и <samp>NightTiles</samp> очищаются при загрузке комнаты супругов, поэтому пользовательские значения для этих свойств не будут работать для женатых игроков.
 
|-
 
|-
| <tt>Maps/SpouseRooms</tt>
+
| <samp>Maps/SpouseRooms</samp>
 
| &#32;
 
| &#32;
* If you add or resize any tilesheet, you must also edit <tt>Maps/FarmHouse1_marriage</tt> and <tt>Maps/FarmHouse2_marriage</tt> to have the same changes (even if you don't make any other changes to the farmhouse). This is needed because the tilesheet references and sizes are stored as part of the map file.
+
* Если вы добавляете или изменяете размер любого спрайт-листа, вы также должны отредактировать <samp>Maps/FarmHouse1_marriage</samp> и <samp>Maps/FarmHouse2_marriage</samp> чтобы произошли те же изменения (даже если вы не внесете никаких других изменений в фермерский дом). Это необходимо, потому что ссылки на спрайт-листы и их размеры хранятся как часть файла карты.
 
|}
 
|}
 
<small><references /></small>
 
<small><references /></small>
  
==='Save as' in Tiled===
+
==='Save as' в Tiled===
When you use 'save as' in Tiled, never save into a different folder. That will change all the tilesheet references to point to the old folder, so it'll no longer work in-game. Instead, copy/move the map files to a different folder if needed.
+
Когда вы используете 'save as' в Tiled, никогда не сохраняйте карту в другую папку. Это изменит все ссылки на спрайт-листы, чтобы они указывали на старую папку, поэтому она больше не будет работать в игре. Вместо этого скопируйте/переместите файлы карты в другую папку, если это необходимо.
  
===Locating tilesheets in Tiled===
+
===Расположение спрайт-листов в Tiled===
When a map tilesheet is missing, never use the locate option to use a tilesheet from a different folder. That will add a complex tilesheet path which won't work in-game. Instead copy the tilesheets into the same folder as the map, and reference them from there.
+
Если спрайт-листы карты отсутствуют, никогда не используйте поиск, чтобы использовать спрайт листы из другой папки. Это добавит сложный путь к листам, который не будет работать в игре. Вместо этого скопируйте листы в ту же папку, что и карта, и ссылайтесь на них оттуда.
  
==Troubleshooting==
+
==Устранение неисправностей==
See also [[#Potential issues|''potential issues'']] above for common issues.
+
Смотри также [[#Потенциальные проблемы|''потенциальные проблемы'']] выше для решения общих вопросов.
  
==="Tilesheet paths must be a relative path without directory climbing (../)"===
+
==="Пути к листам должны быть относительными без перехода по каталогам (../)"===
; What does this mean?
+
; Что это значит?
: Your map uses a tilesheet that's outside its folder root. That might happen if you [[#'Save as' in Tiled|used 'save as' in Tiled to save into a different folder]], copied & pasted tiles between maps in different folders, or manually added a tilesheet from a different folder.
+
: Ваша карта использует листы, которые находится за пределами корневой папки. Это может произойти, если вы [[#'Save as' в Tiled|использовали 'save as' в Tiled для сохранения в другую папку]], копируйте и вставляйте листы между картами в разных папках или вручную добавляйте листы из другой папки.
  
: For example:
+
: Например:
 
<pre style="margin-left: 2em;">
 
<pre style="margin-left: 2em;">
 
📁 Stardew Valley/
 
📁 Stardew Valley/
Строка 1063: Строка 1063:
 
</pre>
 
</pre>
  
: This isn't allowed since it's very fragile (e.g. players might install your mod in a different folder path).
+
: Это запрещено, так как это очень ненадёжно (например, игроки могут установить ваш мод в другую папку).
  
; How do I fix it?
+
; Как мне это исправить?
:# Copy the tilesheets you're using into the same folder as the map.
+
:# Скопируйте листы, которые вы используете, в ту же папку, что и карта.
:# For unchanged vanilla tilesheets, rename them to start with a dot (like <tt>.townInterior.png</tt>). This tells SMAPI to ignore the file when loading the map in-game, and load the one in the <tt>Content</tt> folder instead.
+
:# Для неизмененных ванильных листов переименуйте их, чтобы они начинались с точки (например, <samp>.townInterior.png</samp>). Это говорит SMAPI игнорировать файл при загрузке карты в игре и загружать карту из папки <samp>Content</samp>.
:# In Tiled, click the edit icon under the tilesheet.
+
:# В Tiled, нажмите на значок редактирования под спрайт-листом.
:# In the tab that opens, click ''Tileset > Tileset Properties''.
+
:# На открывшейся вкладке, нажмите ''Tileset > Tileset Properties''.
:# Click the 'Image' field, then the 'Edit' button to locate the tilesheet in the same folder.
+
:# Нажмите на поле 'Image', затем на 'Edit' для поиска листов в той же папке.
For a screenshot guide of steps 3-5, [https://imgur.com/a/rukygAr see these images] provided by Discord user foggywizard#7430.
+
Для руководства по скриншотам шагов 3-5 [https://imgur.com/a/rukygAr see these images] предоставлено пользователем Discord foggywizard#7430.
  
: After fixing it, the above example would look like this:
+
: После его исправления приведенный выше пример будет выглядеть следующим образом:
 
<pre style="margin-left: 2em;">
 
<pre style="margin-left: 2em;">
 
📁 Stardew Valley/
 
📁 Stardew Valley/
Строка 1083: Строка 1083:
 
</pre>
 
</pre>
  
==="mod reordered the original tilesheets"===
+
==="мод изменил порядок исходных спрайт-листов"===
; What does this mean?
+
; Что это значит?
: See [[#Tilesheet order|''tilesheet order'']] for more info.
+
: Смотри [[#Порядок спрайт-листов|''порядок спрайт-листов'']] для большей информации.
  
; How do I fix it?
+
; Как мне это исправить?
: Always keep the original tilesheets in the same order and prefix new tilesheets with <code>z_</code> so they're added at the end:
+
: Всегда сохраняйте исходные листы в том же порядке и добавляйте к новым листам префикс <code>z_</code>, чтобы они добавлялись в конец:
: [[File:Tiled tileset order C.png|thumb|none|Correct way to add a new tilesheet.]]
+
: [[File:Tiled tileset order C.png|thumb|none|Правильный способ добавления нового листа.]]
  
: To rename an affected tilesheet in Tiled:
+
: Чтобы переименовать лист в Tiled:
 
<gallery style="margin-left: 2em;">
 
<gallery style="margin-left: 2em;">
File:Tiled rename tileset A.png|In the tileset pane, click the tab for the tileset and then click the edit icon.
+
File:Tiled rename tileset A.png|На панели тайлов перейдите на вкладку для тайлов, а затем нажмите на значок "Изменить".
File:Tiled rename tileset B.png|Click ''Tileset > Tileset Properties'' from the top menu to show the properties pane.
+
File:Tiled rename tileset B.png|Нажмите ''Tileset > Tileset Properties'' из верхнего меню, чтобы отобразить панель свойств.
File:Tiled rename tileset C.png|Change the name in the ''Name'' field.
+
File:Tiled rename tileset C.png|Измените поле ''Name''.
 
</gallery>
 
</gallery>
  
==="mod has no tilesheet with ID '<name>'"===
+
==="мод не имеет спрайт-листов с ID '<name>'"===
; What does this mean?
+
; Что это значит?
: You replaced one of the vanilla maps, but your custom map doesn't have all of the original map's tilesheets (or you changed their names in Tiled). This will cause a crash if the game tries to access the missing tilesheet.
+
: Вы заменили одну из ванильных карт, но на вашей пользовательской карте нет всех листов исходной карты (или вы изменили их имена в Tiled). Это приведет к сбою, если игра попытается получить доступ к отсутствующему листу.
  
; How do I fix it?
+
; Как мне это исправить?
: Compare the original and custom maps in Tiled. For each tilesheet in the original map, make sure it's also in the custom map '''and''' has the same name (even if you're not using it).
+
: Сравните исходные и пользовательские карты в Tiled. Для каждого листа на исходной карте убедитесь, что он также находится на пользовательской карте '''и''' имеет то же имя (даже если вы его не используете).
  
: If you need to rename a tilesheet:
+
: Если вам нужно переименовать спрайт-лист:
:# In the tileset pane, click the tab for the tileset and then click the edit icon.
+
:# На панели тайлов перейдите на вкладку для тайлов, а затем нажмите на значок "Изменить".
:# Click ''Tileset > Tileset Properties'' from the top menu to show the properties pane.
+
:# Нажмите ''Tileset > Tileset Properties'' из верхнего меню, чтобы отобразить панель свойств.
:# Change the ''Name'' field to match the original map's tilesheet name.
+
:# Измените поле ''Name''.
  
  
 
===Смотри также===
 
===Смотри также===
* Discord user foggywizard#7430 [https://imgur.com/a/l1Ql16D annotated some screenshot guides for using Tiled]. These include an annotated overview, how to find where the coordinates are, and how to rename a tilesheet.
+
* Discord пользователь foggywizard#7430 [https://imgur.com/a/l1Ql16D аннотированы некоторые руководства по скриншотам для использования Tiled]. Включают аннотированный обзор, как найти координаты и как переименовать спрайт-листы.
  
 
[[Category:Модификации]]
 
[[Category:Модификации]]
 
[[en:Modding:Maps]]
 
[[en:Modding:Maps]]

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

Индекс

На этой странице объясняется, как редактировать карты. Это расширенное руководство для моддеров.

Вступление

Базовые компоненты

  • Карта это расположение местности (например, воды, скал и земли), объектов местности (например, кустарников), зданий, дорожек и триггеров для определенной области. Когда вы достигаете края области или входите в здание, и экран становится черным во время перехода, вы перемещаетесь между картами.
  • Каждая карта состоит из нескольких слоев, расположенных один над другим. Объекты на слое выше будут скрывать объекты на слоях ниже. Так расположены стандартные слои...
    Название слоя Типичное содержание
    Back Рельеф, вода и основные функции (например, постоянные пути).
    Buildings Заполнители для зданий (например, фермерского дома). Любые плитки, размещенные на этом слое, будут действовать как стена, если свойство плитки не имеет "Проходимой" буквы "Т".
    Paths Полы, дорожки, трава и мусор (например, камни, сорняки и пни из таблицы "дорожки"), которые игрок может удалить.
    Front Объекты, которые нарисованы поверх вещей позади них, как и большинство деревьев. Эти объекты будут нарисованы поверх игрока, если игрок находится к северу от них, но позади игрока, если игрок находится к югу от них.
    AlwaysFront Объекты, которые всегда рисуются поверх других слоев, а также игрока. Это обычно используется для эффектов переднего плана, таких как лиственный покров.
  • MapLayers.png

  • (С Использованием Плитки) Существует 2 различных типа слоев, а также 5 основных слоев, Слой объектов (значок в виде облака) и слой плитки (значок сетки). Слой плитки-это место, где вы вносите изменения в карту (размещаете и удаляете плитки), а слои объектов-это место, где вы добавляете и редактируете данные плитки. Ваши слои должны соответствовать тем, что указаны выше. Обратите внимание, что в зависимости от карты у них может отсутствовать слой "Paths" или "AlwaysFront".
  • Каждый слой состоит из множества тайлов, которые представляют собой квадраты размером 16×16 пикселей, расположенные в сетке для формирования видимой карты. Каждая плитка может иметь свойства (например, проходимая / заблокированная), специальную логику (например, действие, которое нужно выполнить, когда игрок наступит на них), и изображение, которое нужно показать. Изображение представлено индексом спрайта (или индексом плитки), который является его положением в связанной таблице спрайтов (см. Далее).
  • Каждая карта имеет одну или несколько таблиц спрайтов (также известных как таблицы листов, когда речь идет о модах), которые содержат доступные плитки и изображения, собранные вместе для формирования видимой карты.

Координаты тайлов

Каждый тайл имеет координаты (x, y), которые представляют его положение на карте, где (0, 0) - верхний левый тайл. x значение увеличивается вправо, и y увеличивается вниз. Например:

Modding - creating an XNB mod - tile coordinates.png

Форматы карты

В моддинге Stardew Valley используются два формата карт: .tmx (из редактора Tiled) и .tbin (из ныне устаревшего редактора карт tIDE). Функции, поддерживаемые обоими форматами, почти идентичны, но есть несколько отличий:

Особенность .tmx .tbin
Формат ✓ XML (в основном текст) ✘ бинарный
Редактировать тайлами ✓ поддерживается ✓ поддерживается с плагином
Редактировать напрямую ✓ можно открыть в текстовом редакторе ✘ не поддерживается
Переворачивание тайлов ✓ поддерживается ✘ не поддерживается
Поворот тайлов ✓ поддерживается ✘ не поддерживается
Управление версиями ✓ эффективное хранение, может различать изменения ✘ неэффективное хранение (необходимо копировать весь файл с каждой записью), не может различать изменения

.tmx рекомендуется в соответствии с вышеизложенным, но оба формата удобны в использовании, и вы можете конвертировать их между собой, нажав File > Export As.

Приступая к работе

Существует два основных способа редактирования карты.

Использование SMAPI

Создание мода SMAPI требует программирования, но он намного мощнее, и несколько модов SMAPI могут редактировать одну и ту же карту. Если вы хотите использовать этот подход:

  1. Создание SMAPI мода.
  2. Смотри инструкции ниже для внесения изменений в карту.

Обратите внимание, что это также не исключает использования тайлов. Вы можете создавать/редактировать карты в тайлах, затем загружать/редактировать их в SMAPI.

Использование Tiled

Tiled - популярный редактор карт, который можно использовать для редактирования карт Stardew Valley, без необходимости программирования. Вам нужно распаковать XNB карту, отредактировать карту и создать Content Patcher или SMAPI мод и загрузить в него карту. Если вы хотите использовать этот подход:

  1. Установите последнюю версию Tiled.
  2. После установки в левом верхнем углу перейдите в Edit > Preferences > Plugins и включите плагин tbin (tbin.dll для Windows, libtbin.so для Linux, или libtbin.dylib для Mac).
  3. Установите следующие параметры:
    Параметр Значение Описание
    View > Snapping > Snap to Grid ✓ Включен Необходимо для преобразования объектов обратно в формат игры.
    View > Highlight Current Layer ✓ Включен Выделяет слой на котором находится редактируемый тайл
  4. Смотри Модификации:Редактирование XNB файлов для помощи в распаковке и упаковке файлов карт.
  5. Смотри инструкции ниже для внесения изменений в карту.

(Если вы используете xnbcli для для распаковки оригинальных файлов карт, вам понадобится .tbin плагин, даже если вы планируете использовать .tmx поскольку xnbcli все еще производит .tbin файлы.)

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

Редактирование карт

Важное примечание: при создании пользовательских карт всегда начинайте с ванильной карты и редактируйте ее. Не пытайтесь создать новую карту в Tiled; в игре должны присутствовать определенные плитки, свойства карты и т.д.

Если вы используете Tiled:

  1. Распакуйте папку Content/Maps и создайте копию для редактирования ваших карт. Используйте эту копию папки для редактирования любых карт, прежде чем перемещать их в папку мода.
  2. Используйте тот же метод, чтобы распаковать карту, которую вы хотите отредактировать, если она не является ванильной, а затем поместите карту в папку редактирования.
  3. Откройте .tbin или .tmx файл в Tiled. Примечание: убедитесь, что файл находится в той же папке, что и распакованные таблицы тайлов!
  4. Внесите свои изменения.
  5. Сохраните файл. Не используйте Save as, так как это может повредить карту.
  6. Переместите .tbin или .tmx файл, и любые пользовательские таблицы тайлов, которые ему нужны, в папку вашего мода. Поместите их в папку assets.
  7. Загрузите свою карту через SMAPI или Content Patcher (или другой фреймворк модов).

Пользовательская карта

Вы можете добавить в игру новую карту и местоположение.

Если вы используете SMAPI:

public override void Entry(IModHelper helper)
{
   // игра очищает локации при загрузке сохранения, поэтому сделайте это после загрузки сохранения
   helper.Events.GameLoop.SaveLoaded += this.OnSaveLoaded;
}

private void OnSaveLoaded(object sender, SaveLoadedEventArgs args)
{
   // получиь внутренний ключ ресурса для файла карты
   string mapAssetKey = this.Helper.Content.GetActualAssetKey("assets/map.tmx", ContentSource.ModFolder);

   // добавить местоположение
   GameLocation location = new GameLocation(mapAssetKey, "YourLocationName") { IsOutdoors = false, IsFarm = false };
   Game1.locations.Add(location);
}
Примечание:
  1. Ваша карта должна быть построена по определенному шаблону; посмотрите на карты в папке Content/Maps для примера.
  2. После загрузки файла сохранения вы можете использовать эту команду для перехода к карте: debug warp YourLocationName X Y

Если вы используете Tiled:

Вы можете создать карту в Tiled, но вам нужен SMAPI, чтобы добавить ее в игру.

Настраиваемый лист тайлов

Вы можете добавлять на карту пользовательские спрайты, тайлы или изображения. Обязательно используйте префикс z_ перед ID чтобы избежать смещения индексов ванильных таблиц.

Если вы используете SMAPI:

public override void Entry(IModHelper helper)
{
   helper.Events.GameLoop.SaveLoaded += this.OnSaveLoaded;
}

private void OnSaveLoaded(object sender, SaveLoadedEventArgs args)
{
   // Это позволяет получить ключ ресурса для файла tilesheet.png из папки вашего мода. Вы также можете загрузить таблицу игровых листов, например
   // helper.Content.GetActualAssetKey("spring_town", ContentSource.GameContent).
   string tilesheetPath = this.Helper.Content.GetActualAssetKey("tilesheet.png", ContentSource.ModFolder);

   // Получить экземпляр игрового местоположения, которое вы хотите исправить. Для фермы вместо этого используйте Game1.getFarm ().
   GameLocation location = Game1.getLocationFromName("Town");

   // Добавить лист тайлов
   TileSheet tilesheet = new TileSheet(
      id: "z_your-custom-spritesheet", // уникальный ID для таблицы тайлов
      map: location.map,
      imageSource: tilesheetPath,
      sheetSize: new xTile.Dimensions.Size(32, 64), // размер тайла вашего изображения в таблице тайлов.
      tileSize: new xTile.Dimensions.Size(16, 16) // для карт всегда должно быть 16x16
   );
   location.map.AddTileSheet(tilesheet);
   location.map.LoadTileSheets(Game1.mapDisplayDevice);
}
Чтобы изменить тайлы с помощью новой таблицы тайлов, смотри #Тайлы.

Если вы используете Tiled:

  1. Создайте свою таблицу спрайтов и поместите ее в ту же папку, что и ваш .tbin или .tmx файл карты. Это должно быть изображение в формате PNG с изображениями, разделенными на плитки 16x16 (Для примера, смотри Модификации:Редактирование_XNB_файлов#Введение).
  2. Откройте файл карты в Tiled.
  3. Добавьте свой спрайт-лист:
    1. В Tilesets панеле, нажмите на Modding - creating an XNB mod - Tiled 'new tilesheet' button.png кнопку.
    2. Дайте ему описательное название (например, 'cute bugs') и выберите источник изображения.
    3. Убедитесь, что Embed in map установлена.
    4. Сохраните значения по умолчанию для других параметров и нажмите OK.
  4. Добавьте свои спрайты на карту:
    1. На панели Layers, нажмите на слой, который хотите редактировать.
    2. На панели Tilesets, нажмите на вкладку с вашим спрайт-листом.
    3. На панели Tilesets, нажмите на один тайл, чтобы выбрать его. Чтобы выбрать несколько, щелкните и перетащите курсор.
    4. Наведите курсор на карту, и вы увидите наложение выбранных вами тайлов.
    5. Нажмите на карту, чтобы разместить тайлы на выбранном слое.

Свойства карты

Каждая карта может иметь несколько свойств карты, которые определяют атрибуты и поведение, связанные с картой, такие как освещение, музыка, точки деформации и т.д. Каждое свойство имеет имя (которое определяет тип свойства), тип (в Stardew Valley, всегда 'строка'), и значение (которое настраивает свойство). Смотри свойства ниже.

Если вы используете SMAPI:

public override void Entry(IModHelper helper)
{
   helper.Events.GameLoop.SaveLoaded += this.OnSaveLoaded;
}

private void OnSaveLoaded(object sender, SaveLoadedEventArgs args)
{
   // получить значение 'Music'
   string currentMusic = Game1.currentLocation.map.Properties.TryGetValue("Music", out PropertyValue rawMusic)
      ? rawMusic.ToString()
      : null;

   // добавить или установить значение 'Music'
   Game1.currentLocation.map.Properties["Music"] = "MarlonsTheme";

   // удалить значение 'Music'
   Game1.currentLocation.map.Properties.Remove("Music");
}

Если вы используете Tiled:

  1. Нажмите Map на панели инструментов и выберете Map Properties.
  2. Посмотрите и отредактируйте свойства с помощью графического интерфейса.

Свойства тайла

Свойства тайла задаются отдельно для каждого тайла. Они могут изменять поведение игры (например, может ли игрок пройти по тайлу), или выполнить действие когда игрок наступает/нажимает на него. У каждого свойства есть имя, тип (в Stardew Valley всегда 'строка'), и значение.

Если вы используете SMAPI:

public override void Entry(IModHelper helper)
{
   helper.Events.GameLoop.SaveLoaded += this.OnSaveLoaded;
}

private void OnSaveLoaded(object sender, SaveLoadedEventArgs args)
{
    // например местоположение и координаты плитки
    GameLocation location = Game1.currentLocation;
    int tileX = 10;
    int tileY = 20;

    // получить свойство
    string value = location.doesTileHaveProperty(tileX, tileY, "Diggable", "Back");

    // добавить или установить свойство
    location.setTileProperty(tileX, tileY, "Back", "Diggable", "T");

    // удалить свойство тайла
    Layer layer = location.map.GetLayer("Back");
    Tile tile = layer.PickTile(new xTile.Dimensions.Location(tileX, tileY) * Game1.tileSize, Game1.viewport.Size);
    tile.Properties.Remove("Diggable");
    //tile.TileIndexProperties.Remove("Diggable"); // NOTE: removing a tile index property will affect all tiles of this type
}

Если вы используете Tiled:

В Tiled свойства тайла представлены двумя типами: object properties применяется только к выбранному тайлу, в то время как tile properties применитесь к каждому экземпляру этого тайла. В общем, вы всегда будете устанавливать object properties, так что мы рассмотрим только их.
  1. Выберите слой объекта на панели Layers.
  2. Выберете инструмент Modding - creating an XNB mod - Tiled 'select object' button.png select object на панели инструментов.
  3. Нажмите на объект, свойства которого вы хотите просмотреть. Объекты на карте обведены серой рамкой:
    Modding - creating an XNB mod - map object.png
  4. Свойства объекта будут показаны на панели Properties.
    Modding - creating an XNB mod - Tiled tile properties pane.png
Для редактирования свойств существующего объекта:
  • Измените значение: нажмите на поле и введите новое значение.
  • Измените наименование: выберите свойство и нажмите на кнопку и иконкой Modding - creating an XNB mod - Tiled 'edit' button.png.
  • Добавьте свойство: нажмите на кнопку с иконкой Modding - creating an XNB mod - Tiled 'add' button.png, введите наименование свойства, убедитесь в том, что тип свойства "string", и нажмите OK.
Чтобы добавить новый объект:
  1. Выберите слой объекта на панели Layers.
    Для каждого слоя тайлов должен быть один слой объектов. Если слой объекта отсутствует, создайте слой с тем же именем, что и слой тайлов.
  2. Выберете инструмент Modding - creating an XNB mod - Tiled 'insert rectangle' button.png insert rectangle на панели инструментов.
  3. Нажмите и перетащите прямоугольник на тайл, которую вы хотите отредактировать. Убедитесь в том, что он привязан к сетке тайла (смотри #Использование Tiled), и выбран только один тайл.
  4. Переименуйте TileData в Name
    1. О том, как редактировать его свойства, смотри в предыдущем разделе.

Тайлы

Вы можете редактировать тайлы для существующей карты.

Если вы используете SMAPI:

public override void Entry(IModHelper helper)
{
   helper.Events.GameLoop.SaveLoaded += this.OnSaveLoaded;
}

private void OnSaveLoaded(object sender, SaveLoadedEventArgs args)
{
    // пример местоположения и координаты тайла
    GameLocation location = Game1.currentLocation;
    int tileX = 10;
    int tileY = 20;

    // удалить тайл со слоя
    location.removeTile(tileX, tileY, "Back");

    // добавить тайл
    Layer layer = location.map.GetLayer("Back");
    TileSheet tilesheet = location.map.GetTileSheet("tilesheet name");
    layer.Tiles[tileX, tileY] = new StaticTile(layer, tilesheet, BlendMode.Alpha, tileIndex: 100); // Изменить индекс тайла

    // переключение поведения водного тайла
    location.waterTiles[tileX, tileY] = false; // true: вода, false: не вода
}

Если вы используете Tiled:

Смотри документацию по Tiled.

Тайлы анимации

Modding - creating an XNB mod - example animation.gif

Вы можете анимировать плитки для создания эффектов, таких как Гил в кресле-качалке (смотри пример справа).

Если вы используете SMAPI:

public override void Entry(IModHelper helper)
{
   helper.Events.GameLoop.SaveLoaded += this.OnSaveLoaded;
}

private void OnSaveLoaded(object sender, SaveLoadedEventArgs args)
{
   GameLocation location = Game1.currentLocation;

   // добавить анимированный тайл
   Layer layer = location.map.GetLayer("Buildings");
   TileSheet tilesheet = location.map.GetTilesheet("tilesheet name");
   layer.Tiles[tileX, tileY] = new AnimatedTile(
      layer,
      new StaticTile[] {
         new StaticTile(layer, tilesheet, BlendMode.Alpha, tileID),
         new StaticTile(layer, tilesheet, BlendMode.Alpha, tileID),
         new StaticTile(layer, tilesheet, BlendMode.Alpha, tileID),
         new StaticTile(layer, tilesheet, BlendMode.Alpha, tileID)
      },
      250 // interval in milliseconds
   );
}

Если вы используете Tiled:

  1. Нажмите кнопку изменить (значок гаечного ключа) для таблицы листов на панели Tilesets.
  2. Выберите тайл, который вы хотите анимировать в новом представлении.
  3. Нажмите Tileset > Tile Animation Editor на панели инструментов, чтобы отобразить это окно.
  4. В новом окне, перетащите плитки из таблицы в поле слева, чтобы создать кадр (одно изображение в последовательности).Если вам нужно удалить кадры, выберете их и нажмите Backspace/Delete(для Windows) или fn + Backspace(для Apple)
  5. Дважды щелкните, чтобы изменить продолжительность пребывания каждого кадра на экране (в миллисекундах). Убедитесь, что каждый кадр имеет одинаковое время; игра не может обрабатывать разное время кадров. Например, вот редактор анимации, показывающий одну из плиток раскачивания Гила:
    Modding - creating an XNB mod - Tiled example animation pane.gif
  6. Когда вы закончите, закройте панель.
  7. Анимированные тайлы на панели Tilesets теперь буут иметь символ в правом нижнем углу:
    Modding - creating an XNB mod - Tiled example animation tileset.png
    Анимация теперь является частью этого тайла. Каждый экземпляр этого тайла на карте теперь будет иметь одну и ту же анимацию.

Переворот/поворот тайла

Пример тайла, повернутого в четыре стороны, под кнопками переворота/поворота тайла.

Вы можете поворачивать и переворачивать тайлы без необходимости создавать повернутые/перевернутые версии спрайт-листов. Для этого необходимо установить SMAPI 3.4 или более поздней версии; базовая игра не распознает преобразования тайлов.

Если вы используете SMAPI:

public override void Entry(IModHelper helper)
{
   helper.Events.GameLoop.SaveLoaded += this.OnSaveLoaded;
}

private void OnSaveLoaded(object sender, SaveLoadedEventArgs args)
{
   // получить тайл
   GameLocation location = Game1.currentLocation;
   Layer layer = location.map.GetLayer("Buildings");
   Tile tile = layer.Tiles[tileX, tileY];
   
   // повернуть на 45°
   tile.Properties["@Rotation"] = 45;

   // перевернуть (0 = нормально, 1 = горизонтально, 2 = вертикально)
   tile.Properties["@Flip"] = 1;
}

Если вы используете Tiled:

Примечание: это работает только при редактировании .tmx файла. Преобразования тайлов не поддерживаются .tbin плагином.
  1. Выбрав инструмент штамп, нажмите на тайл в спрайт-листе, который вы хотите использовать.
  2. Нажмите кнопки перевернуть или повернуть (смотри изображение справа).
  3. Нажмите на карту, чтобы разместить перевернутый/повернутый тайл.

Свойства

Свойства карты

Свойства карты:¹

Свойство Описание
AmbientLight <byte r> <byte g> <byte b>
(действует в помещениях и местах, где не учитывается наружное освещение)
Устанавливает RGB цвет вычитается из белого (255,255,255), чтобы создать окружающий свет.
Например: AmbientLight 95 95 95 для нормального внутреннего дневного освещения.
BackwoodsEntry [<int x> <int y>]
(действует на ферме)
Позиция, в которую игрок попадает при входе на ферму из Глуши.
BrookSounds [<int x> <int y> <int type>]
(действует на открытом воздухе)
type}} может принимать следующие значения:
  • 0 (babblingBrook)(журчание ручья);
  • 1 (cracklingFire)(потрескивание огня);
  • 2 (engine)(двигатель);
  • 3 (cricket)(сверчок).
BusStopEntry [<int x> <int y>]
(действует на ферме)
Позиция, в которую игрок переходит при входе на ферму с автобусной остановки.
CanCaskHere T²
(действует в любом месте)
Позволяет бочкам работать в этом месте.
DayTiles [<string layerName> <int x> <int y> <int tilesheetIndex>]+
(действует в любом месте)
Устанавливает тайлы, которые будут появляться с 6 утра до 7 вечера. В любое время до 7 вечера тайл находится в нужном положении (<x>, <y>) на сопоставлении слоев карты <layerName>, изменяет свой индекс спрайт-листа на указанный <tilesheetIndex>, и добавляет свечение для имитации дневного света. Свечение будет добавлено только в том случае, если местоположение находится в помещении, а <tilesheetIndex> равен 256, 288, 405, 469 или 1224. Параметры могут быть повторены, чтобы повлиять на несколько тайлов.
Например: DayTiles Front 3 1 256 Front 3 2 288.
Doors [<int x> <int y> <string sheetID> <int tileID>]+
(действует в помещениях)
Добавляет функциональности межкомнатным дверям. Используется с свойством тайла Action Door. <x> <y> поля - это координаты тайла, <sheetID> это название листа, содержащего дверной спрайт, и <tileID> - индекс тайла в спрайт-листе.
Fall_Objects T²
Spring_Objects T²
Summer_Objects T²
Winter_Objects T²
Следует ли создавать сезонные объекты на создаваемых тайлах на основе данных из Data\Locations.xnb.
Например: Fall_Objects.
FarmCaveEntry [<int x> <int y>]
(действует на ферме)
Позиция, в которую игрок переходит при входе на ферму из пещеры на ферме.
FarmHouseEntry[<int x> <int y>]
(действует на ферме)
Изменяет положение Фермерского дома. Соответствует входной двери или положению, в котором игрок будет находиться при выходе из дома.
Feed <int x> <int y>
(действует в птичнике или хлеву)
Задает местоположение кормораздатчика в птичнике или хлеву.
Например: Feed 3 2.
forceLoadPathLayerLights T²
(действительно в местах, не связанных с фестивалями, на открытом воздухе)
Следует ли загружать огни со слоя Paths на карты, где их обычно не было бы.
Например: forceLoadPathLayerLights true.
ForceSpawnForageables T²
(действует в помещениях)
Позволяет появляться кормовым предметам в этом месте.
ForestEntry [<int x> <int y>]
(действует на ферме)
Положение, в котором находится игрок, когда он входит на ферму из Леса Синдерсэп.
GrandpaShrineLocation [<int x> <int y>]
(действует на ферме)
Положение дедушкиного святилища. Соответствует верхнему левому углу.
GreenhouseLocation [<int x> <int y>]
(действует на ферме)
Положение теплицы по умолчанию. Соответствует верхнему левому углу фундамента теплицы.
IgnoreLightingTiles T²
(действует в помещениях)
Следует ли игнорировать огни на Front и Buildings слоях.
Например: IgnoreLightingTiles true.
indoorWater T²
(действует в помещениях)
Включает водную логику (т.е. рыбалка и т.д.) в этом месте.
KitchenStandingLocation [<int x> <int y>]
(действует в фермерском доме)
Позиция, в которой будет стоять супруг игрока при использовании кухни.
Light [<int x> <int y> <int type>]+
(действует в любом месте)
type}} - вид источника света (например, 4 для двух свечей), и <x> <y> - координаты тайла. Поле <type> может принимать следующие значения:
  • 1 (lantern)(фонарь);
  • 2 (window)(окно);
  • 4 (sconce)(подсвечник);
  • 5 (cauldron)(котёл);
  • 6 (indoor window)(внутреннее окно);
  • 7 (projector)(прожектор).

Любое другое значение приведет к падению игры.
Например: Light 3 8 4 6 8 4 11 8 4 3 2 5 10 2 5 6 19 5 5 15 5 5 11 5 11 12 5 (Гильдия искателей приключений).

LocationContext Default
(действует в любом месте)
Устанавливает карту как часть материка для целей игровой логики, таких как погода.
LocationContext Island
(действует в любом месте)
Устанавливает карту как часть Имбирного острова для целей игровой логики, таких как погода.
MailboxLocation [<int x> <int y>]
(действует на ферме)
Положение почтового ящика игрока. Соответствует верхнему левому углу.
Music <string name>
(действует в любом месте)
Задает музыку, которая воспроизводится при входе игрока, где <name> - наименование файла музыки.
Например: Music MarlonsTheme.
Music <int start> <int end> <string name>
(действует в любом месте)
Задает музыку, которая воспроизводится при входе проигрывателя, где <name> - имя сигнала в аудиофайлах, музыка будет воспроизводиться только в том случае, если время находится между <int start> (включительно) и <int end>(исключительно).
например: Music 800 1200 MarlonsTheme.
NightTiles [<string layerName> <int x> <int y> <int tilesheetIndex>]+
(действует в любом месте)
Меняет плитку после 7 вечера. Снаружи работет вместе с DayTiles: устанавливает DayTiles тайлы для загрузки карты с 6 утра до 7 вечера, затем NightTiles для загрузки с 7 вечера до конца дня. Используется в основном он для ламп.
NPCWarp [<int fromX> <int fromY> <string toArea> <int toX> <int toY>]+
(действует в любом месте)
Эквивалентно Warp, но используется для NPC.
Outdoors T²
(действует в любом месте)
Определяет, находится ли место на открытом воздухе.
Например: Outdoors true.
ProduceArea <int x> <int y> <int width> <int height>
(действует в птичнике и хлеву)
Задает область, где животные могут размножаться в птичнике или хлеву.
Например: ProduceArea 6 4 8 7.
ScreenshotRegion <int left> <int top> <int right> <int bottom>
(действует в любом месте)
Ограничивает часть карты, отображаемую при создании скриншотов.
Например: ScreenshotRegion 0 27 69 61.
SeasonOverride [<string season>]
(действует в любом месте)
Берёт определенный сезон для большинства проверок игры. (Есть ли урожай в сезоне, какой спрайт-лист использовать, и т.д.)
ShippingBinLocation [<int x> <int y>]
(действует на ферме)
Положение ячейки доставки по умолчанию. Соответствует верхнему левому углу.
skipWeedGrowth T²
(действует в любом месте)
Предотвращает размножение и распространение сорняков в этом месте.
SpouseAreaLocation [<int x> <int y>]
(действует на ферме)
Положение открытой зоны для супругов. Соответствует верхнему левому углу.
Stumps [<int x> <int y> <unused>]+
(действует в Тайном лесу)
Ежедневно добавляет пни на карту Тайного леса. Третье поле для каждого пня, не используется.
Например: Stumps 24 6 3 29 7 3 26 10 3 46 6 3 34 26 3 41 26 3.
TreatAsOutdoors T²
(valid in indoor locations)
Это место рассматривается как открытое для целей спавна чего-либо, кроме света со слоя Paths и получения угля из камней.
Пример: TreatAsOutdoors true.
Trees [<int x> <int y> <int type>]+
(действует в любом месте)
Добавляет деревья на карту. Поля <x> <y> - координаты тайла, и <type> - тип дерева (1: дуб, 2: клён, 3: сосна, 6: пальма, 7: грибное дерево).
Например: Trees 17 18 2 20 31 2.
UniquePortrait [<str name>]+
(действует в любом месте)
Переключает портреты для NPC на уникальные варианты для местоположения. NPC Jane в локации Room переключится на портрет Portraits/Jane_Room.
Например: UniquePortrait Maru.
UniqueSprite [<str name>]+
(действует в любом месте)
Переключает спрайт-листы для NPC на уникальные варианты для местоположения. NPC Jane в локации Room will переключится на спрайт-лист Characters/Jane_Room.
Например: UniqueSprite Maru.
ViewportFollowPlayer T²
(действует в любом месте)
Заставляет окно игры центрироваться на игроке.
например: ViewportFollowPlayer.
Warp [<int fromX> <int fromY> <string toArea> <int toX> <int toY>]+
(действует в любом месте)
Устанавливает тайлы, которые перемещают игрока на другую карту (например, двери). Поля <fromX> <fromY> - координаты тайла перехода, и <toArea> <toX> <toY> это название внутриигрового местоположения, в которое нужно переместиться, и координаты тайла внутри него
Например: 6 20 Mountain 76 9.
WarpTotemEntry[<int x> <int y>]
(действует на ферме)
Позиция, в которую игрок перемещается при телепортации на ферму с помощью Тотема телепортации или Скипетра Возврата.
WindowLight [<int x> <int y> <int type>]+
(действует в любом месте)
Добавляет источники света, которые горят только днем, когда нет дождя (например, свет, проникающий через окно). Смотри Light для получения дополнительной информации.

Используются следующие свойства, но, по-видимому, они не оказывают никакого эффекта: Arch, Debris, Spouse, и Fish.

¹ Свойства карты в основном обрабатываются различными методами класса GameLocation, особенно классом resetLocalState.
² Значение T (сокращение от true), но любое непустое значение тоже будет работать.

Свойства тайла

Свойства тайла(за исключением специализированных свойств, таких как TouchAction WomensLocker):¹

Слой Свойство Описание
Back Bed T² Если игрок стоит на этой плитке, он считается лежащим в постели в целях восстановления выносливости (в мультиплеере) и логики потери сознания.
Back Buildable T² Позволяет размещать сельскохозяйственные постройки на этом тайле, если нет других препятствий.
Back Diggable T² Помечает тайл как пригодный для возделывания мотыгой и позволяет сажать сельскохозяйственные культуры. Также позволяет траве распространяться на этот тайл.
Back NoFishing T² Предотвращает забрасывание игроком лески на этот тайл при ловле рыбы.
Back NoFurniture T² Не позволяет игроку размещать мебель на этом тайле.
Back NoSpawn Grass Предотвращает появление мусора (например, сорняков или камней) на этом тайле.
Back NoSpawn Tree Предотвращает появление деревьев на этом тайле. Запрещает игроку сажать деревья на этом тайле, за исключением фермы. Если дерево уже находится на этом тайле, это предотвращает его рост.
Back NoSpawn All
NoSpawn True
Объединяет NoSpawn Grass и NoSpawn Tree.
Back NoSprinklers T² Предотвращает размещение спринклеров на этом тайле.
Back NPCBarrier T² Не позволяет NPC проходить по этому тайлу.
Back Passable T² Позволяет игрокам ходить или размещать объекты на этом тайле, даже если обычно они заблокированы строительным тайлом или другим свойством. Отличается от Buildings Passable T ниже.
Back Placeable T² Запрещает игрокам размещать объекты на этом тайле.
Back Type <str type> Задает тип тайла для различной игровой логики (например, звуки шагов или посадка культур), где <type> равен одному из следующих значений: Dirt, Stone, Grass, or Wood.
Back Water T² Помечает тайл как водный, для различной игровой логики (т.е. в него попадают предметы, из него можно наполнять лейку, в нём можно ловить рыбу, в него можно помещать ловушки, он поливает ближайшие рисовые культуры, блокирует большинство проверок свободного тайла, восстанавливать здоровье в нём, если в помещении, и рисовать анимированное наложение на нём, если на улице; если в шахтах, канализации или подводной лодке; или иным образом не в пустыне).
Back WaterSource T² Позволяет игроку наполнить лейку из этого тайла.
Buildings Passable T² При размещении на водном тайле игра больше не считает его свободным (например, если это мост). Отличается от Back Passable T выше.
Paths Order <I> Для размещения в индексе 29 и 30 таблицы путей. Установите порядок, в котором будут появляться каюты при создании многопользовательского сохранения

Свойство TouchAction заставляет что-то происходить, когда игрок наступает на тайл:

Слой Свойство Описание
Back TouchAction Bus Начинается поездка на автобусе и мини-ролик "Пустыня", работающий в сочетании с билетом на автобус.
Back TouchAction ChangeIntoSwimsuit Переодевает игрока в купальник и отключает бег.
Back TouchAction ChangeOutOfSwimsuit Переодевает игрока в обычную одежду и позволяет бегать.
Back TouchAction DesertBus Позволяет доехать на автобусе обратно до автобусной остановки.
Back TouchAction Emote <string npc> <int emoteID> Находит NPC, чье имя соответствует полю <npc>, и заставляет их показывать указанную эмоцию <emoteID> над их головой (4: пусто, 8: вопросительный знак, 12: сердитый, 16: восклицание, 20: сердце, 24: сон, 28: грусть, 32: счастье, 36: х, 40: пауза, 52: видеоигра, 56: музыкальная нота, 60: покраснение).
Back TouchAction FacingDirection <string npc> <int direction> Находит NPC, чье имя соответствует полю <npc>, и заставляет его смотреть в заданном направлении (0: вверх, 1: вправо, 2: вниз, 3: влево).
Back TouchAction legendarySword Дает меч галактики при удержании в руках радужного осколка.
Back TouchAction MagicWarp <string area> <int x> <int y> [string prerequisite] Телепортирует игрока на тайл с координатами <x> <y> указанной области <area> с волшебным звуком и эффектами. Если установлено поле [prerequisite], происходит только в том случае, если этот флаг установлен с помощью Game1.player.mailReceived.
Back TouchAction PoolEntrance Переключает игрока между режимом плавания и режимом ходьбы.
Back TouchAction Sleep Заканчивается день, если игрок подтвердит это.

Свойство Action вызывает ддействие при взаимодействии игрока с тайлом(например, нажатие):

Слой Свойство Описание
Buildings Action AdventureShop Показывает экран магазина Гильдии искателей приключений.
Buildings Action Arcade_Prairie Запускает Путешествие Короля Прерий.
Buildings Action Arcade_Minecart Запускает Джумино Карт.
Buildings Action BuyBackpack Показывает меню, которое позволяет игроку обновить свой рюкзак, если доступно обновление.
Buildings Action Billboard Показывает календарь.
Buildings Action Blacksmith Показывает магазин Клинта
Buildings Action BrokenBeachBridge Предлагает использовать дерево для ремонта моста.
Buildings Action BusTicket Предлагает отправиться в пустыню Калико, если автобус был отремонтирован. Работает в сочетании с TouchAction.
Buildings Action BuyQiCoins Показывает диалог, который позволяет игроку купить 100 монет в казино.
Buildings Action ColaMachine Предлагает игроку купить Джоджа-колу.
Buildings Action ClubCards
Action Blackjack
Показывает мини-игру блэкджек в казино.
Buildings Action ClubComputer
Action FarmerFile
Показывает диалог со статистикой игры (сделанные шаги, подаренные подарки и т.д.).
Buildings Action ClubSeller Показывает диалог, который позволяет игроку купить статую вечной удачи за миллион золотых.
Buildings Action ClubShop Показывает меню магазина казино.
Buildings Action ClubSlots Показывает мини-игру игровые автоматы в казино.
Buildings Action Dialogue <text> Показывает общее диалоговое окно с заданным текстом. Смотри Формат диалога.
Например: Action Dialogue Привет, @!
Buildings Action DivorceBook Показывает варианты развода для текущего статуса брака игрока (как если бы они нажали на книгу развода).
Buildings Action Door <npcName> [npcName] Устанавливает внутреннюю дверь, которую нельзя открыть, если у игрока нет двух или более сердец дружбы с любым из названных NPC. Помещается на нижнюю из двух дверных плиток. Смотри формат диалога.
Например: Action Door Abigail
Buildings Action ElliotBook TODO: Объясните, что это значит.
Buildings Action ElliotPiano TODO: Объясните, что это значит.
Buildings Action EnterSewer Уводит вас в канализацию, если вы получили ключ.
Buildings Action EvilShrineLeft Превращает ваших детей в голубей для радужного осколка.
Buildings Action EvilShrineCenter Стирает память о вас у ваших бывших супругов.
Buildings Action EvilShrineRight Переключает появление монстров на вашей ферме.
Buildings Action Garbage <ID> Дать игроку определенный предмет по <ID>. Можно нажимать только один раз в день. TODO: Объясните, что означает каждое <ID>.
Buildings Action Gunther Открывает меню музея, в котором вы можете пожертвовать артефакты или получить награды.
Buildings Action HMGTF Даёт "??HMTGF??", когда у игрока есть Чудо-огурец в руках.
Buildings Action IceCreamStand Если лето, показывает торговый экран киоска с мороженым. В противном случае игроку будет предложено вернуться летом.
Buildings Action JojaShop Показывает экран покупок Джоджа.
Buildings Action Jukebox Показывает меню музыкального автомата для выбора музыки.
Buildings Action kitchen Показывает меню готовки.
Buildings Action Letter <string text> Показывает буквенное меню на экране с заданным текстом, с синтаксисом, используемым Data\mail.xnb.
Например: Action Letter Hey there!^I had some extra wood lying around... I thought maybe you could use it. Take care! ^ -Robin %item object 388 50 %%
Buildings Action LockedDoorWarp [<int toX> <int toY> <string toArea> <int openTime> <int closeTime>] Указывает в какое время можно войти в дверь. Обратите внимание, вы должны использовать 24-часовой формат времени, т.е. 2000 для 8 вечера.
Например: 6 29 SeedShop 900 2100
Buildings Action LuauSoup Используется для фестиваля Луау, здесь вы добавляете продукт в суп.
Buildings Action MagicInk Добавляет волшебные чернила в ваш кошелек.
Buildings Action Mailbox Показывает следующее письмо из почтового ящика игрока (если таковое имеется).
Buildings Action Material Показывает сводную информацию о запасах древесины и камня игрока.
Buildings Action Message <string messageKey> Загружает сообщение с заданным ключом из Content\Strings\StringsFromMaps.xnb файл и отображает его в диалоговом окне.
Buildings Action MessageOnce <int eventID> <string message> Если игрок не видел событие с ID <eventID>, отмечает увиденное событие и отображает заданный текст сообщения в диалоговом окне. Не затрагивает формат диалога.
Buildings Action MessageSpeech <string messageKey> Идентично Action Message, но заменяет обычный контрольный курсор речевым курсором.
Buildings Action MineSign <string message> Показывает мини-диалоговое окно с заданным исходным текстом сообщения. Не затрагивает формат диалога.
Buildings Action MinecartTransport Показывает меню назначения карты (или сообщение, если оно не разблокировано).
Buildings Action MineElevator Показывает меню шахтного лифта (для перехода на уровень шахты), если игрок достиг уровня шахты 5+, иначе сообщение о том, что шахтный лифт не работает.
Buildings Action NextMineLevel Переводит игрока на следующий уровень шахты (или на 1 уровень, если они не находятся в шахте).
Buildings Action Notes <int noteID> Если игрок нашел указанную потерянную книгу, отобразит текст заметки о музее и пометит ее как прочитанную.
Например: Action Notes 17
Buildings Action NPCMessage <str name> "<str dialogueKey>" Если указанный NPC находится в пределах 14 тайлов от игрока, считывает диалог с данным ключом из строковых файлов и отображает диалоговое окно. Смотри формат диалога.
Например: Action NPCMessage Abigail "Strings\\StringsFromCSFiles:Event.cs.1022"
Buildings Action playSound <str cueName> Воспроизводит звук или музыку с заданным именем.
Buildings Action QiCoins Показывает диалог, который позволяет игроку купить 10 монет в казино, если у него их нет, в противном случае показывает, сколько монет есть.
Buildings Action SandDragon Используется для 3 части квеста загадочного "Мистера Ки".
Buildings Action Shop На картах фестиваля открывается фестивальный магазин. Не влияет на карты, не относящиеся к фестивалю.
Buildings Action TownMailbox <ID> TODO: Объясните, что это значит.
Buildings Action Warp <int x> <int y> <str area> Перемещает игрока в координаты тайла <x> <y> в локации <area>.
Например: Action Warp 76 9 Mountain
Buildings Action WarpCommunityCenter Перемещает игрока внутрь Общественного центра, если у него есть доступ (в противном случае отобразится сообщение "заблокирован").
Buildings Action WarpGreenhouse Перемещает игрока внутрь своей теплицы, если они ее разблокировали, в противном случае отображается сообщение о руинах теплицы.
Buildings Action WizardBook Если разблокировано, вы покупаете здания у мастера.
Buildings Action WizardHatch Если вы достаточно хорошо дружите с волшебником, вы переходите в его подвал, если нет, вам говорят, что вы не можете войти.
Buildings Action WizardShrine Показывает меню настройки персонажа, доступное в башне волшебника.

¹ Свойства тайла обрабатываются по всей кодовой базе с помощью GameLocation::doesTileHaveProperty. Действия и касания обрабатываются GameLocation::performAction и GameLocation::performTouchAction соответственно. ID эмоций перечислены как константы Character.
²T value (сокращение от true), но любое непустое значение тоже будет работать.

Слой Paths

Слой Paths содержит тайлы путей из спрайт-листа paths которые влияют на поведение карты:

Индексы тайлов, показанные в таблице.
Индекс тайла Описание Ограничение
0–7 Нет эффекта? TODO: проверьте, как его использует логика привязки.
8 Добавьте этот тайл в свойство карты Light с подсветкой типа 4 (бра). Только в помещении и на фестивалях.²
9–12 Создаёт дерево когда местоположение будет свободно. За пределами фермы шанс появиться равен 50%. (Смотрите также 31–32.)
Доступные деревья: дуб (9), клён (10), сосна (11), и пальма 1 (12).
Только на открытом воздухе.
13–18 Создаёт мусор при каждый день. За пределами фермы возрождайтесь весной.
Доступный мусор: сезонные сорняки (13–15), Камень (16–17), место для артефакта(18).
Только на открытом воздухе.
19 Создаёт большое бревно, когда ферма будет создана, в верхнем левом углу этого тайла. Только на ферме.
20 Создаёт Булыжник, когда ферма будет создана, в верхнем левом углу этого тайла. Только на ферме.
21 Создаёт большой пень, когда ферма будет создана (и каждый день на лесной ферме), в верхнем левом углу этого тайла. Только на ферме.
22 Создаёт траву, когда ферма будет создана, в верхнем левом углу этого тайла. Только на открытом воздухе.
23 Создаёт случайное дерево (дуб, клен или сосну) на стадии роста 2-3, когда создается локация. Только на открытом воздухе.
24–26 Создаёт обычный кустарник, когда локация будет создана. Кусты среднего роста ежевики и морошки.
Доступные кусты: большой (24), средний (25), маленький (26).
Только на открытом воздухе.
27 Когда локация будет создана, добавит этот тайл в свойство карты BrookSounds с звуком babblingBrook. Только на открытом воздухе.
28 Создаёт личинку here (шанс на день - 33%, если уже есть не более 50 личинок). Только в Логове жуков-мутантов.
29–30 Размещает домики в мультиплеере на основе слоя (29=поблизости или 30=отдельно) и свойство тайла Order, верхним левым углом на этой плитке. Только на ферме.
31–32 Создаёт дерево когда локация будет создана. За пределами фермы, 50% шанс каждый день. (Смотри также 9–12.)
Доступные деревья: Пальма 2 (31), Красное дерево (32).
Только на открытом воздухе.
33 Создаёт кустарник золотого грецкого ореха при создании локации. Только на открытом воздухе.

Примечания:

  1. В Логове жуков-мутантов, вероятность появления мусора снижается до 33% в день.
  2. Ограничение может быть отменено с помощью свойства карты forceLoadPathLayerLights.

Потенциальные проблемы

Порядок листов тайлов

Когда вы заменяете ванильную карту, не меняйте порядок или ID оригинальных спрайт-листов. Используйте в ID новых спрайт-листов префикс z_, чтобы избежать изменений первоначального порядка.

Почему это вызывает проблемы
Например, допустим, вы заменяете карту, на которой обычно есть эти спрайт-листы в Tiled:
Оригинальный порядок спрайт-листа.
При добавлении нового спрайт-листа, обратите внимание, что порядок меняется с [paths, untitled tile sheet] на [customSheet, paths, untitled tile sheet]:
Неправильный способ добавления нового спрай-листа (изменяет исходный порядок).
Если игра попытается получить доступ к тайлу из первого листа, она получит ее изcustomSheet вместо ожидаемого листа Paths. Это может вызвать что угодно, от визуальных (например, отображение неправильных тайлов) до критичных сбоев (особенно если новый лист меньше, чем ожидалось).
Чтобы избежать этого, всегда сохраняйте исходные таблицы листов в том же порядке и добавляйте к новым таблицам префикс z_, чтобы они добавлялись в конец:
Правильный способ добавления нового спрайт-листа.
Как исправить повреждённый спрайт-лист
Смотри "мод изменил порядок исходных спрайт-листов" ниже.

Локальная копия ванильных спрай-листов

При редактировании карты в тайловом формате вам может потребоваться скопировать ванильные спрайт-листы, например path.png или spring_town.png в папку карты для нахождения их в Tiled. Если спрайт-лист все еще там, когда вы загружаете игру, SMAPI будет использовать нго для вашей карты вместо ванильных листов, что может привести к непредвиденным результатам (например, изменения в модах перекраски не будут работать на вашей карте).

Чтобы избежать проблем, вы можете сделать...

  • Удалите ванильные листы из папки перед тестированием или выпуском мода.
  • Переименовать файл листа, чтобы он начинался с точки (like .spring_town.png) и ссылаться на это. Когда SMAPI загружает карту в игре, он автоматически игнорирует точку и ищет spring_town.png в локальных файлах или папке Content/Maps.

Проблемы, связанные с картой

Игра делает некоторые предположения о картах, которые могут нарушиться для модифицированных карт. Известные проблемы:

Затрагиваемые карта Проблема
Maps/Farm
Maps/Farm_Combat
Maps/Farm_Fishing
Maps/Farm_Foraging
Maps/Farm_Mining
  • На ферме слой Paths должен иметь по крайней мере одну плитку с индексом 22 (создание травы). Используется для инициализации кода травы при загрузке сохранения, даже если трава не создается.[1]
Maps/FarmHouse*
  • Два тайла кровати, по которым игрок может ходить, должны иметь два свойства: Bed T (используется для определения того, находится ли игрок в постели) и TouchAction Sleep.
  • Удаление или изменение обоев и полов приведет к сбою игры.
  • Свойства карты DayTiles и NightTiles очищаются при загрузке комнаты супругов, поэтому пользовательские значения для этих свойств не будут работать для женатых игроков.
Maps/SpouseRooms
  • Если вы добавляете или изменяете размер любого спрайт-листа, вы также должны отредактировать Maps/FarmHouse1_marriage и Maps/FarmHouse2_marriage чтобы произошли те же изменения (даже если вы не внесете никаких других изменений в фермерский дом). Это необходимо, потому что ссылки на спрайт-листы и их размеры хранятся как часть файла карты.
  1. Звук травы устанавливается в Grass::loadSprite, который называется от GameLocation::loadObjects если слой Paths имеет тайл с индексом 22. (Игра создаёт траву для каждого такого тайла, а затем удаляет их.)

'Save as' в Tiled

Когда вы используете 'save as' в Tiled, никогда не сохраняйте карту в другую папку. Это изменит все ссылки на спрайт-листы, чтобы они указывали на старую папку, поэтому она больше не будет работать в игре. Вместо этого скопируйте/переместите файлы карты в другую папку, если это необходимо.

Расположение спрайт-листов в Tiled

Если спрайт-листы карты отсутствуют, никогда не используйте поиск, чтобы использовать спрайт листы из другой папки. Это добавит сложный путь к листам, который не будет работать в игре. Вместо этого скопируйте листы в ту же папку, что и карта, и ссылайтесь на них оттуда.

Устранение неисправностей

Смотри также потенциальные проблемы выше для решения общих вопросов.

"Пути к листам должны быть относительными без перехода по каталогам (../)"

Что это значит?
Ваша карта использует листы, которые находится за пределами корневой папки. Это может произойти, если вы использовали 'save as' в Tiled для сохранения в другую папку, копируйте и вставляйте листы между картами в разных папках или вручную добавляйте листы из другой папки.
Например:
📁 Stardew Valley/
   📁 Content/
      📁 Maps/
         🗎 townInterior     <──┐
   📁 Mods/                    │
      📁 YourModName/          │ ../../../Content/Maps/townInterior
         📁 assets/            │
            🗎 your-map.tmx  ───┘
Это запрещено, так как это очень ненадёжно (например, игроки могут установить ваш мод в другую папку).
Как мне это исправить?
  1. Скопируйте листы, которые вы используете, в ту же папку, что и карта.
  2. Для неизмененных ванильных листов переименуйте их, чтобы они начинались с точки (например, .townInterior.png). Это говорит SMAPI игнорировать файл при загрузке карты в игре и загружать карту из папки Content.
  3. В Tiled, нажмите на значок редактирования под спрайт-листом.
  4. На открывшейся вкладке, нажмите Tileset > Tileset Properties.
  5. Нажмите на поле 'Image', затем на 'Edit' для поиска листов в той же папке.

Для руководства по скриншотам шагов 3-5 see these images предоставлено пользователем Discord foggywizard#7430.

После его исправления приведенный выше пример будет выглядеть следующим образом:
📁 Stardew Valley/
   📁 Mods/
      📁 YourModName/
         📁 assets/
            🗎 your-map.tmx       ───┐
            🗎 .townInterior.png  <──┘ .townInterior.png

"мод изменил порядок исходных спрайт-листов"

Что это значит?
Смотри порядок спрайт-листов для большей информации.
Как мне это исправить?
Всегда сохраняйте исходные листы в том же порядке и добавляйте к новым листам префикс z_, чтобы они добавлялись в конец:
Правильный способ добавления нового листа.
Чтобы переименовать лист в Tiled:

"мод не имеет спрайт-листов с ID '<name>'"

Что это значит?
Вы заменили одну из ванильных карт, но на вашей пользовательской карте нет всех листов исходной карты (или вы изменили их имена в Tiled). Это приведет к сбою, если игра попытается получить доступ к отсутствующему листу.
Как мне это исправить?
Сравните исходные и пользовательские карты в Tiled. Для каждого листа на исходной карте убедитесь, что он также находится на пользовательской карте и имеет то же имя (даже если вы его не используете).
Если вам нужно переименовать спрайт-лист:
  1. На панели тайлов перейдите на вкладку для тайлов, а затем нажмите на значок "Изменить".
  2. Нажмите Tileset > Tileset Properties из верхнего меню, чтобы отобразить панель свойств.
  3. Измените поле Name.


Смотри также