Инструменты пользователя

Инструменты сайта


ru:rpd:mods

Моды

Как установить мод не встроенный в игру?

Моды обычно упакованы в zip-архивы (иногда расширение файла меняется на что-то вроде zipp, если это так, поменяйте ему расширение просто на zip)

Чтобы установить мод на Remixed Dungeon вручную нужно:

Версия Android >= 11 (требуется Remixed 32.1+)

Вариант 1 (Если вы разрабатываете мод):

  • распакуйте архив мода в любую директорию в папке Downloads
  • в игре: Моды → Установить локальный мод → выберите директорию мода (см. видео)

Вариант 2 (Если просто хотите установить готовый мод):

  • поместите архив мода в формате rpd на устройство
  • перейдите к нему в файловом менеджере (см. видео)
  • нажмите, чтобы открыть
  • выберите приложение Remixed Dungeon
  • в приложении: подтвердите установку мода

Версия Android < 11

  • распаковать архив мода в Android/data/com.nyrds.pixeldungeon.ml/files/
  • готово.

О создании модов

Remixed Pixel Dungeon - имеет встроенную поддержку модов ( с некоторыми ограничениями ).

Мод представляет собой подмену ресурсов игры из папки assets, помимо таких ресурсов как спрайты и звуки здесь можно найти файлы конфигурации в формате json и скрипты на языке lua.

При подмене графических файлов без подмены раскадровок нужно обязательно сохранять размер изображения.

Мод обязательно должен содержать файл version.json со следующим содержимым: {«version»:n}, где n - номер (целое число) версии мода.

Моды хранятся на файловой системе устройства по адресу(сюда же их можно положить самостоятельно):

\Android\data\com.nyrds.pixeldungeon.ml\files\

Особенности игры с использованием модов

  • Каждый мод сохраняет прогресс игры независимо от других
  • Значки заработанные в модах не учитываются в общих достижениях

По ссылке можно посмотреть список основных модов.

Инфо-ассорти по созданию модов

Раскадровка спрайтов

см. например Раскадровка крысы

{
 "texture" : "rat.png",
 "width"  : 16,
 "height" : 15,
 "idle"   : { "fps" : 2,  "looped" : true,     "frames" : [0,0,0,1] },
 "run"    : { "fps" : 14, "looped" : true,     "frames" : [6,7,8,9,10] },
 "attack" : { "fps" : 11, "looped" : false,    "frames" : [2,3,4,5,0] },
 "die"    : { "fps" : 11, "looped" : false,    "frames" : [11,12,13,14] }
}
  • Название .json файла отвечает за то, какому мобу будет заменена текстура. Я тестировал на крысе (Rat.json) но всегда можно поменять на кого угодно, например на гнолла (Gnoll.json). Весь список можно посмотреть в папке https://github.com/NYRDS/remixed-dungeon/tree/master/RemixedDungeon/src/main/assets)
  • texture - файл с текстурой.
  • width - ширина кадра соответственно.
  • height - высота кадра соответственно.
  • Анимации покоя, движения, атаки и смерти. fps - скорость проигрывания кадров (с ней можно интересно поэкспериментировать), looped отвечает за то, будет ли анимация зацикливаться, или нет. Его лучше не трогать. Ну и в квадратных скобках находятся порядковые номера проигрываемых кадров. Тут тоже ничего сложного.

Самое главное - json файл надо кидать в папку spritesDesc, которую надо создать в папке с модом

Подмена описаний

Моды также могут менять абсолютно любой текст в игре, будь то название предмета, описание тайтла или сообщение в лог. Исходный файл с текстами можно найти здесь (Обратите внимание, что в этой папке только русская локализация. Чтобы менять описания на других языках, вам придётся перейти в вышестоящую директорию и выбрать папку другого языка)

В этих файлах всё интуитивно понятно. Давайте же разберём на примере:

Если мы хотим заменить описание крысы на описание, к примеру, робота, то нам на помощь спешит json. Мы будем им менять строчки из xml файлов содержащих описание, благо это не сложно. Начнём мы с русских значений. Разработчикам модов было бы неплохо дополнительно менять и английское описание, т.к. это будет полезно для них в будущем.

Продолжим. Так как мы тренируемся на крысе, то и менять описание будем тоже крысе. Для замены русского описания мы создадим файл и назовём его strings_ru, а расширение поставим .json (данные манипуляции можно сделать и в ES проводнике). Далее мы найдём строчки, которые мы хотим заменить. Описания мобов находятся в файле strings_mobs.xml и там на 122 строчке находится описание нашей крысы. Оно состоит из 4х строк:

  • <string name=«Rat_Name»>сумчатая крыса</string>
  • <string name=«Rat_Gender»>feminine</string>
  • <string name=«Rat_Name_Objective»>крысу</string>
  • <string name=«Rat_Desc»>Сумчатые крысы - агрессивные, но довольно слабые обитатели канализации. Тем не менее в больших количествах, они могут представлять опасность.</string>

Их-то нам и нужно поменять. Для этого мы открываем наш файл strings_ru.json в режиме редактирования текста (данные манипуляции можно сделать и в ES проводнике) и пишем следующие строчки:

  • [«Rat_Name»,«DM50»]
  • [«Rat_Gender»,«masculine»]
  • [«Rat_Name_Objective»,«DM50»]
  • [«Rat_Desc»,«Устаревшая инженерная машина дворфов созданная для ремонта, но способная оказать сопротивление в случае опасности.»]

После сохранения файла мы помещаем его в корень папки с модом и проверяем, как он отрабатывается. По идее всех вышеописанных действий достаточно. Если мы хотим поменять текст ещё для чего-нибудь — добавляем дополнительные строчки в этот же файл по аналогии с заменой описания моба. Например — строки оружия

  • [«SacrificialSword_Name»,«Меч-Кладенец»]
  • [«SacrificialSword_Info»,«Былинный богатырский меч, обладающей магической способностью подчинять волю супостата]
  • [«SacrificialSword_Gender»,»masculine«]

Описание для первой локации:

  • [«WndStory_Sewers»,»Госпаде, у меня получилось заменить текст для описания первой локации!!! Пойду куплю себе пирожок!«]

Важные моменты:

  1. Для замены текста каждой локализации необходим один файл, в который мы уже и вставляем строчки содержащие [«ссылку на строчку xml файла»],[«текст, который необходимо заменить»]
  2. Для описания необходимо правильно указывать половую принадлежность того, кого мы описываем что бы в дальнейшем текст подставлялся правильно (крыса ударила, гнолл ударил, чудище ударило и т.п.)

Карта подземелья

Атрибуты уровня

«1»:{«kind»:«SewerLevel», «depth»:1, «size»:[32,32], «tiles»:«tiles4.png», «water»:«water_guts.png», «music»:«surface.mp3»,»feeling«:«CHASM», «viewDistance»:8 }

  • атрибут size игнорируется для PredesignedLevel и RandomLevel
  • атрибуты tiles, water, music, feeling, viewDistance - опциональны
  • варианты feeling - NONE, CHASM, WATER, GRASS
  • waterSx, waterSy - скорость анимации воды

Карта уровня

Типы уровней

Расстановка мобов и предметов

Примеры модов

Текстовые редакторы под Android

Чтобы редактировать json конфиги и lua скрипты

Дополнительная информация

ru/rpd/mods.txt · Последнее изменение: 2024/09/19 01:27 — mikhael_danilov