====== Моды (Modding Mechanic) ====== {{ rpd:images:mods.png|Modding}} ==== Обзор Механики ==== Remixed Pixel Dungeon имеет встроенную поддержку модов, что позволяет игрокам и разработчикам расширять функциональность игры. Моды могут заменять ресурсы игры, добавлять новый контент и изменять существующую механику. ==== Как установить мод, не встроенный в игру? ==== Моды обычно упакованы в zip-архивы (иногда расширение файла меняется на что-то вроде rpd, если это так, измените расширение обратно на zip). Чтобы установить мод на Remixed Dungeon вручную, выполните следующие действия: **Версия Android >= 11** (требуется Remixed 32.1+): **Вариант 1** (если вы разрабатываете мод): * распакуйте архив мода в любую директорию в папке Downloads * в игре: Моды -> Установить локальный мод -> выберите директорию мода (см. [[https://www.youtube.com/shorts/hJq-7vVaf4o|видео]]) **Вариант 2** (если просто хотите установить готовый мод): * поместите архив мода в формате rpd на устройство * перейдите к нему в файловом менеджере (см. [[https://www.youtube.com/shorts/wyPVbAdbWXQ|видео]]) * нажмите, чтобы открыть * выберите приложение Remixed Dungeon * в приложении: подтвердите установку мода **Версия Android < 11**: * распакуйте архив мода в **Android/data/com.nyrds.pixeldungeon.ml/files/** * готово. ==== О создании модов ==== [[ru:rpd:start|Remixed Pixel Dungeon]] имеет встроенную поддержку модов (с некоторыми [[ru:rpd:mods_limitations|ограничениями]]). Мод представляет собой подмену ресурсов игры из папки assets. Помимо ресурсов, таких как спрайты и звуки, здесь можно найти: * файлы [[ru:rpd:json_configs|конфигурации]] в формате JSON - ''[[https://github.com/NYRDS/remixed-dungeon/tree/master/RemixedDungeon/src/main/assets|Assets directory]]'' * [[ru:rpd:mods_scripts|скрипты]] на языке Lua - ''[[https://github.com/NYRDS/remixed-dungeon/tree/master/RemixedDungeon/src/main/assets/scripts|Scripts directory]]'' При подмене графических файлов без подмены раскадровок нужно обязательно сохранять размер изображения. Мод обязательно должен содержать файл version.json со следующим содержимым: {"version":n}, где n - номер (целое число) версии мода. Моды хранятся на файловой системе устройства по адресу (сюда же их можно поместить самостоятельно): **\Android\data\com.nyrds.pixeldungeon.ml\files\** ==== Особенности игры с использованием модов ==== * Каждый мод сохраняет прогресс игры независимо от других * Значки, полученные в модах, не учитываются в общих достижениях По ссылке можно посмотреть [[ru:rpd:mods_list|список основных модов]]. ==== Информация по созданию модов ==== * [[https://vk.com/wall-84207769_24963]] * [[https://vk.com/wall-84207769_25117]] * [[https://vk.com/wall-84207769_25151]] ==== Раскадровка спрайтов ==== Пример раскадровки: ''[[https://github.com/NYRDS/remixed-dungeon/blob/78523d5d8ce9a7ff7efcb2f95d16200cd8004111/RemixedDungeon/src/main/assets/spritesDesc/Rat.json#L1|Rat.json]]'' { "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/spritesDesc|spritesDesc]]'' * texture - файл с текстурой * width - ширина кадра * height - высота кадра * Анимации покоя, движения, атки и смерти. fps - скорость проигрывания кадров, looped - определяет, будет ли анимация зацикливаться Самое главное - JSON файл нужно поместить в папку **spritesDesc**, которую надо создать в папке с модом. ==== Замена описаний ==== Моды также могут менять абсолютно любой текст в игре, будь то название предмета, описание тайтла или сообщение в лог. Исходные файлы с текстами можно найти в ''[[https://github.com/NYRDS/remixed-dungeon/tree/master/RemixedDungeon/src/main/res/values-ru|values-ru directory]]'' и ''[[https://github.com/NYRDS/remixed-dungeon/tree/master/RemixedDungeon/src/main/res/values|values directory]]'' (для английского языка). Пример замены описания крысы: Описания мобов находятся в файле strings_mobs.xml, и на 122-й строке находится описание нашей крысы: * сумчатая крыса * feminine * крысу * Сумчатые крысы - агрессивные, но довольно слабые обитатели канализации. Тем не менее в больших количествах, они могут представлять опасность. Для замены русского описания создайте файл с именем strings_ru.json в корне папки с модом: * ["Rat_Name","DM50"] * ["Rat_Gender","masculine"] * ["Rat_Name_Objective","DM50"] * ["Rat_Desc","Устаревшая инженерная машина дворфов, созданная для ремонта, но способная оказать сопротивление в случае опасности."] __Важные моменты:__ - Для замены текста каждой локализации необходим один файл, в который вставляются строчки в формате ["ссылка на строку xml файла", "текст, который необходимо заменить"] - Для описания необходимо правильно указывать половую принадлежность, чтобы в дальнейшем текст подставлялся правильно (крыса ударила, гнолл ударил, чудище ударило и т.п.) ==== Атрибуты уровней ==== Пример атрибутов уровня: "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 - скорость анимации воды ==== Типы уровней ==== * [[ru:rpd:random_level_mechanic|RandomLevel]] * [[ru:rpd:predesigned_level_mechanic|PredesignedLevel]] ==== Расстановка мобов и предметов ==== * [[ru:rpd:mods_items|Предметы]] * [[ru:rpd:mods_mobs|Мобы]] * [[ru:rpd:mods_objects|Объекты]] ===== Примеры модов ===== * ''[[https://github.com/NYRDS/The-dungeon-of-heroes-RPD-MOD|The-dungeon-of-heroes-RPD-MOD]]'' * ''[[https://github.com/NYRDS/PD_mini-RPD-MOD|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://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/watabou/pixeldungeon/ModManager.java|ModManager.java]]'' * Конфигурации спрайтов находятся в ''[[https://github.com/NYRDS/remixed-dungeon/tree/master/RemixedDungeon/src/main/assets/spritesDesc|spritesDesc directory]]'' * Файлы конфигурации модов: ''[[https://github.com/NYRDS/remixed-dungeon/tree/master/RemixedDungeon/src/main/assets|assets directory]]'' * Lua-скрипты: ''[[https://github.com/NYRDS/remixed-dungeon/tree/master/RemixedDungeon/src/main/assets/scripts|scripts directory]]'' * Файлы локализации: ''[[https://github.com/NYRDS/remixed-dungeon/tree/master/RemixedDungeon/src/main/res/values-ru|values-ru directory]]'' и ''[[https://github.com/NYRDS/remixed-dungeon/tree/master/RemixedDungeon/src/main/res/values|values directory]]'' ==== См. также ==== * [[ru:rpd:start|Начало]] * [[ru:rpd:mods_limitations|Ограничения моддинга]] * [[ru:rpd:mods_items|Предметы в модах]] * [[ru:rpd:mods_mobs|Мобы в модах]] * [[ru:rpd:mods_scripts|Скрипты модов]] * [[ru:rpd:json_configs|Конфигурационные файлы]] * [[ru:rpd:items|Предметы]] * [[ru:rpd:mobs|Мобы]] {{tag> rpd моддинг механики}}