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

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


ru:rpd:mods

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
ru:rpd:mods [2017/11/11 16:42] – [Моды] mikeru:rpd:mods [2021/10/29 15:45] (текущий) mike
Строка 1: Строка 1:
 ===== Моды ===== ===== Моды =====
  
-[[ru:rpd:start|Remixed Pixel Dungeon]] - имеет встроенную поддержку модов ( с некоторыми [[ru:rpd:mods_limitations|ограничениями]] ).+====Как установить мод не встроенный в игру? ====
  
-Мод представляет собой подмену ресурсов игры из папки assets, помимо таких ресурсов как спрайты и звуки здесь можно найти файлы конфигурации в формате json и скрипты на языке lua.+Моды обычно упакованы в zip-архивы (иногда расширение файла меняется на чтоо вроде zipp, если это так, поменяйте ему расширение просто на zip)
  
-==== Особенности игры с использованием модов ====+Чтобы установить мод на Remixed Dungeon вручную нужно:
  
-  Каждый мод сохраняет прогресс игры независимо от других +   распаковать архив мода в ** Android/data/com.nyrds.pixeldungeon.ml/files/** 
-  Значки заработанные в модах не учитываются в общих достижениях+   готово.
  
-По ссылке можно посмотреть [[mods_list|список основных модов]]. 
  
-==== Инфо-ассорти по созданию модов ====+==== О создании модов ====
  
-  * [[https://vk.com/wall-84207769_24963]] +[[ru:rpd:start|Remixed Pixel Dungeon]] - имеет встроенную поддержку модов ( с некоторыми [[ru:rpd:mods_limitations|ограничениями]] ).
-  * [[https://vk.com/wall-84207769_25117]] +
-  * [[https://vk.com/wall-84207769_25151]]+
  
-==== Общие положения ====+Мод представляет собой подмену ресурсов игры из папки assets, помимо таких ресурсов как спрайты и звуки здесь можно найти файлы [[json_configs|конфигурации]] в формате json и [[mods_scripts|скрипты]] на языке lua.
  
-Приветствую вас, дорогие друзья.+При подмене графических файлов без подмены раскадровок нужно обязательно сохранять размер изображения.
  
-Как вы наверное уже смогли заметить, в новой версии PD.R появился замечательный уникальный функционал - менеджер модов. С его помощью игроки, разрабатывающие различные модификации (такие как рескин моделей персонажа или предметов, замена аудиофайлов и [[ru:rpd:mods_possibilities|другое]]...) смогут тестировать свои наработки в актуальной версии PD.R как говорится "не отходя от кассы". В свою очередь игроки, которые хотят просто попробовать уже готовые моды смогут легко ими управлять, включая тот или иной мод по необходимости и хранить на своём устройстве. В дальнейшем возможности менеджера будут расти, а я, в свою очередь, буду освещать эти нововведения.+Мод обязательно должен содержать файл [[version.json]] со следующим содержимым: {"version":n}, где n - номер елое число) версии мода.
  
-Начнём с базовой информации+Моды хранятся на файловой системе устройства по адресу(сюда же их можно положить самостоятельно):
  
-При установке приложение создаёт директорию по пути **\Android\data\com.nyrds.pixeldungeon.ml\files\**+**\Android\data\com.nyrds.pixeldungeon.ml\files\**
  
-Именно здесь будут храниться наши моды. Для того, что бы мод появился в приложении необходимо перенести папку с файлами мода по указанному выше пути. Это можно сделать подключив телефон к компьютеру или с помощью сторонней программы-файлменеджера (Я например использую ES проводник). После того, как папка с файлами размещена по указанному пути при следующем запуске приложения вы сможете выбрать ваш мод в списке модов (Название мода будет браться из названия папки) 
  
-Ещё один важный момент - файлы, которые будут подменяться менеджером - это файлы содержащиеся в папке **assets** приложения PD.R и для подмены они должны иметь ту же структуру, имя, спрайтам желательно сохранять размер. Для начала этого вполне достаточно.  
  
-Сейчас мы с вами попробуем создать пробный мод. +==== Особенности игры с использованием модов ====
  
-Для этого, тем у кого нет файлменеджера я рекомендую скачать ES проводник (не на правах рекламы, а по тому что в дальнейшем я буду использовать его для примеров) а так же файлы для теста которые я выложу сюда. И так, сейчас мы будем менять отображение тайлов и воды на первой локации. +  * Каждый мод сохраняет прогресс игры независимо от других 
 +  * Значки заработанные в модах не учитываются в общих достижениях
  
-Соответственно вам необходимо скачать файлы себе на телефон, создать папку в **\Android\data\com.nyrds.pixeldungeon.ml\files\**, назвать её как вам придётся по душе, перенести в неё эти файлы и после - назвать их в соответствии с оригинальными файлами из папки **assets**.+По ссылке можно посмотреть [[mods_list|список основных модов]].
  
-[[https://vk.com/wall-84207769_24963|Оригинал раздела от Дмитрия Денисова]] +==== Инфо-ассорти по созданию модов ====
- +
- +
-==== Подмена ресурсов ====+
  
 +  * [[https://vk.com/wall-84207769_24963]]
 +  * [[https://vk.com/wall-84207769_25117]]
 +  * [[https://vk.com/wall-84207769_25151]]
  
 ==== Раскадровка спрайтов ==== ==== Раскадровка спрайтов ====
  
-И снова здравствуйте, уважаемые игрокиКак многие уже поняли, последнее обновление PD.R принесло в игру ещё больше возможностей кастомизации, и теперь каждый может сделать моба со своей собственной раскадровкой и поменять описание у любого текста, главное знать как и где менять, собстно об этом ниже.+см. например [[https://github.com/NYRDS/remixed-dungeon/blob/78523d5d8ce9a7ff7efcb2f95d16200cd8004111/RemixedDungeon/src/main/assets/spritesDesc/Rat.json#L1|Раскадровка крысы]]
  
-И так, начну с примера и по порядкуЗахотелось мнек примерузаменить каменного голема у гномов на роботая нарисовал спрайтыбыл доволенно вот незадача - кадры их анимации не совпадалиибо в порыве куража я сделал их для робота аж 27. Но на помощь мне пришёл .jsonв котором я могу сам описать анимацию действий покадровозадавая необходимый мне fps для каждого действия и выбираяиз какого файла будет браться анимация и даже задавать размер кадра! И такрисунок нарисовантеперь нужно правильно назначить кадры для каждого действия. Многие наверное уже обратили вниманиечто отчёт кадров начинается не с единицыа с нуля. Делать анимацию лучше всего грамотноне рисуя одинаковые кадры по нескольку раза обращаясь к одному и тому же кадру. На примере робота - ходьба начинается с кадра 3и только потом возвращается к кадру 2, при этом - дважды. Это не является обязательным условиемно так - правильнее. Основные моменты:+  { 
 +   "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/pixel-dungeon-remix/tree/master/PixelDungeon/src/main/assets]]) + 
-  * Первая строчка отвечает за файл с текстурой, к которому будет обращаться json. В папке assets нет файла с именем DM50.png, его мы добавляем отдельно+  Название .json файла отвечает за то, какому мобу будет заменена текстура. Я тестировал на крысе (Rat.json) но всегда можно поменять на кого угодно, например на гнолла (Gnoll.json). Весь список можно посмотреть в папке [[https://github.com/NYRDS/remixed-dungeon/tree/master/RemixedDungeon/src/main/assets]]) 
-  *  Следующие две строчки - ширина и высота одного кадра соответственно. Тут нюансов нет, но я очень рекомендую использовать всем графический редактор в котором можно настраивать размер сетки, например GIMP. Это удобнее и позволяет экономить время+  * texture - файл с текстурой. 
-  *  Кадры действий покоя, движения, атаки и смерти. Тут всё достаточно просто. Fps - скорость проигрывания кадров (с ней можно интересно поэкспериментировать), looped отвечает за то, будет ли анимация зацикливаться, или нет. Его лучше не трогать. Ну и в квадратных скобках находятся порядковые номера проигрываемых кадров. Тут тоже ничего сложного.+  * width - ширина кадра соответственно. 
 +  * height - высота кадра соответственно. 
 +  * Анимации покоя, движения, атаки и смерти. fps - скорость проигрывания кадров (с ней можно интересно поэкспериментировать), looped отвечает за то, будет ли анимация зацикливаться, или нет. Его лучше не трогать. Ну и в квадратных скобках находятся порядковые номера проигрываемых кадров. Тут тоже ничего сложного.
  
 Самое главное - json файл надо кидать в папку **spritesDesc**, которую надо создать в папке с модом Самое главное - json файл надо кидать в папку **spritesDesc**, которую надо создать в папке с модом
- 
-Думаю что пока всё, чуть позже напишу про замену описания, а так же буду готов отвечать на ваши вопросы. Пробуйте себя, фантазируйте! Всем хорошего дня 
  
 ==== Подмена описаний ===== ==== Подмена описаний =====
  
-Моды также могут менять абсолютно любой текст в игре, будь то название предмета, описание тайтла или сообщение в лог. Весь перечень текстовых файлов, доступных для изменения доступен [[https://github.com/NYRDS/pixel-dungeon-remix/tree/master/PixelDungeon/src/main/res/values-ru|здесь]] (Обратите внимание, что в этой папке только файлы русской локализации. Чтобы менять описания на других языках, вам придётся перейти в вышестоящую директорию и выбрать папку другого языка) +Моды также могут менять абсолютно любой текст в игре, будь то название предмета, описание тайтла или сообщение в лог. Исходный файл с текстами можно найти [[https://github.com/NYRDS/remixed-dungeon/tree/master/RemixedDungeon/src/main/res/values-ru/strings_all.xml|здесь]] (Обратите внимание, что в этой папке только русская локализация. Чтобы менять описания на других языках, вам придётся перейти в вышестоящую директорию и выбрать папку другого языка)
- +
-В папке находится куча файлов. Вот их полный перечень: +
-  *   strings.xml - основной файл. Здесь в основном описываются вывод в лог +
-  *   strings_armor.xml - всё, что относится к доспехам +
-  *   strings_badges.xml - описания значков (достижений). Это лучше не трогать +
-  *   strings_bows.xml - всё, что касается луков +
-  *   strings_codex.xml - вот это интересно. можно менять и даже добавлять новые кодексы +
-  *   strings_donation.xml - текст, описывающий донат. Не нужно менять +
-  *   strings_food.xml - описания еды +
-  *   strings_hero.xml - всё о нашем персонаже +
-  *   strings_levels.xml - описание тайтлов. Необходимо +
-  *   strings_mobs.xml - описание врагов +
-  *   strings_mods.xml - здесь содержится контактная информация об авторе мода. Обязательно нужно добавить в мод +
-  *   strings_not_translate.xml - к этому не притрагиваться +
-  *   strings_npcs.xml - этот файл описывает НИПов. Можно менять текст квестов, их имена и фразы +
-  *   strings_plants.xml - описание растений (семечек) +
-  *   strings_potions.xml - всё (почти), что касается зелий +
-  *   strings_potions2.xml - всё, что касается смазывания предмета зельем +
-  *   strings_results.xml - сообщения о смерти +
-  *   strings_rings.xml - описание колец +
-  *   strings_scrools.xml - аналогично. Описание свитков +
-  *   strings_ui.xml - названия кнопок, элементов меню +
-  *   strings_wands.xml - описание волшебных палочек +
-  *   strings_welcome.xml - changelog. Не трогайте+
  
 В этих файлах всё интуитивно понятно. Давайте же разберём на примере: В этих файлах всё интуитивно понятно. Давайте же разберём на примере:
Строка 91: Строка 71:
 Если мы хотим заменить описание крысы на описание, к примеру, робота, то нам на помощь спешит json. Мы будем им менять строчки из xml файлов содержащих описание, благо это не сложно. Начнём мы с русских значений. Разработчикам модов было бы неплохо дополнительно менять и английское описание, т.к. это будет полезно для них в будущем. Если мы хотим заменить описание крысы на описание, к примеру, робота, то нам на помощь спешит json. Мы будем им менять строчки из xml файлов содержащих описание, благо это не сложно. Начнём мы с русских значений. Разработчикам модов было бы неплохо дополнительно менять и английское описание, т.к. это будет полезно для них в будущем.
  
-Продолжим. Так как мы тренируемся на крысе, то и менять описание будем тоже крысе. Для замены русского описания мы создадим файл и назовём его strings_ru а разрешение поставим .json (данные манипуляции можно сделать и в ES проводнике). Далее мы найдём строчки, которые мы хотим заменить. Описания мобов находятся в файле strings_mobs.xml  и там на 122 строчке находится описание нашей крысы. оно состоит из 4х строк:+Продолжим. Так как мы тренируемся на крысе, то и менять описание будем тоже крысе. Для замены русского описания мы создадим файл и назовём его strings_ruа расширение поставим .json (данные манипуляции можно сделать и в ES проводнике). Далее мы найдём строчки, которые мы хотим заменить. Описания мобов находятся в файле strings_mobs.xml  и там на 122 строчке находится описание нашей крысы. Оно состоит из 4х строк:
  
   * <string name="Rat_Name">сумчатая крыса</string>    * <string name="Rat_Name">сумчатая крыса</string> 
   * <string name="Rat_Gender">feminine</string>    * <string name="Rat_Gender">feminine</string> 
   * <string name="Rat_Name_Objective">крысу</string>    * <string name="Rat_Name_Objective">крысу</string> 
-  * <string name="Rat_Desc">Сумчатые крысы - агрессивные, но довольно слабые обитатели канализации. Тем не менеев больших количествах, они могут представлять опасность.</string>+  * <string name="Rat_Desc">Сумчатые крысы - агрессивные, но довольно слабые обитатели канализации. Тем не менее в больших количествах, они могут представлять опасность.</string>
  
 Их-то нам и нужно поменять. Для этого мы открываем наш файл strings_ru.json в режиме редактирования текста (данные манипуляции можно сделать и в ES проводнике) и пишем следующие строчки: Их-то нам и нужно поменять. Для этого мы открываем наш файл strings_ru.json в режиме редактирования текста (данные манипуляции можно сделать и в ES проводнике) и пишем следующие строчки:
Строка 104: Строка 84:
   * ["Rat_Desc","Устаревшая инженерная машина дворфов созданная для ремонта, но способная оказать сопротивление в случае опасности."]   * ["Rat_Desc","Устаревшая инженерная машина дворфов созданная для ремонта, но способная оказать сопротивление в случае опасности."]
  
-После сохранения файла мы помещаем его в корень папки с модом и проверяем, как он отрабатывается. По идее всех вышеописанных действий достаточно. Если мы хотим поменять текст ещё для чего-нибудь добавляем дополнительные строчки в этот же файл по аналогии с заменой описания моба. Например строки оружия+После сохранения файла мы помещаем его в корень папки с модом и проверяем, как он отрабатывается. По идее всех вышеописанных действий достаточно. Если мы хотим поменять текст ещё для чего-нибудь — добавляем дополнительные строчки в этот же файл по аналогии с заменой описания моба. Например — строки оружия
  
   *  ["SacrificialSword_Name","Меч-Кладенец"]   *  ["SacrificialSword_Name","Меч-Кладенец"]
Строка 110: Строка 90:
   *  ["SacrificialSword_Gender","masculine"]   *  ["SacrificialSword_Gender","masculine"]
  
-Описание для первой локации (strngs.xml, строка 189):+Описание для первой локации:
  
   * ["WndStory_Sewers","Госпаде, у меня получилось заменить текст для описания первой локации!!! Пойду куплю себе пирожок!"]   * ["WndStory_Sewers","Госпаде, у меня получилось заменить текст для описания первой локации!!! Пойду куплю себе пирожок!"]
Строка 118: Строка 98:
   - Для описания необходимо правильно указывать половую принадлежность того, кого мы описываем что бы в дальнейшем текст подставлялся правильно (крыса ударила, гнолл ударил, чудище ударило и т.п.)   - Для описания необходимо правильно указывать половую принадлежность того, кого мы описываем что бы в дальнейшем текст подставлялся правильно (крыса ударила, гнолл ударил, чудище ударило и т.п.)
  
-**⇑**Гайд от Дмитрия Денисова 
- 
- --- //[[[email protected]|Alan Gamaonov]] 2016/01/18 19:54// 
 ===== Карта подземелья ===== ===== Карта подземелья =====
  
 ==== Атрибуты уровня ==== ==== Атрибуты уровня ====
  
- "1":{"kind":"SewerLevel", "depth":1,        "size":[32,32], "tiles":"tiles4.png", "water":"water_guts.png", "music":"surface.mp3","feeling":"CHASM" }+ "1":{"kind":"SewerLevel", "depth":1, "size":[32,32], "tiles":"tiles4.png", "water":"water_guts.png", "music":"surface.mp3","feeling":"CHASM", "viewDistance":}
  
   * атрибут size игнорируется для PredesignedLevel и RandomLevel   * атрибут size игнорируется для PredesignedLevel и RandomLevel
-  * атрибут tiles, water, music, feeling - опциональны+  * атрибуты tiles, water, music, feeling, viewDistance - опциональны
   * варианты feeling - NONE, CHASM, WATER, GRASS   * варианты feeling - NONE, CHASM, WATER, GRASS
   * waterSx, waterSy - скорость анимации воды   * waterSx, waterSy - скорость анимации воды
Строка 138: Строка 115:
  
 ==== Расстановка мобов и предметов ==== ==== Расстановка мобов и предметов ====
-[[ru:rpd:mobs_and_items_list|Список мобов и предметов доступных в модах]] +  * [[ru:rpd:mods_items|Предметы]]  
 +  * [[ru:rpd:mods_mobs|Мобы]] 
 +  * [[ru:rpd:mods_objects|Объекты]] 
  
 ===== Примеры модов ===== ===== Примеры модов =====
   * [[https://github.com/NYRDS/The-dungeon-of-heroes-RPD-MOD]]   * [[https://github.com/NYRDS/The-dungeon-of-heroes-RPD-MOD]]
   * [[https://github.com/NYRDS/PD_mini-RPD-MOD]]   * [[https://github.com/NYRDS/PD_mini-RPD-MOD]]
 +
 +
 +=== Текстовые редакторы под Android ===
 +Чтобы редактировать json конфиги и lua скрипты
 +
 +  * [[https://play.google.com/store/apps/details?id=com.maskyn.fileeditor|Turbo Editor // Text Editor]]
 +  * [[https://play.google.com/store/apps/details?id=xyz.iridiumion.enlightened|Enlightened (Code Editor)]]
 +
 +=== Дополнительная информация ===
 +
 +  * [[https://vk.com/rpd_modding]] - vk группа с новостями по моддингу и модам.
 +  * Кто-то интересуется [[cracking|взломом Remixed Dungeon]] - не надо, моддинг куда круче и безопаснее!
 +
ru/rpd/mods.1510418538.txt.gz · Последнее изменение: 2017/11/11 16:42 — mike