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

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


ru:rpd:mods

Это старая версия документа!


Моды

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

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

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

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

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

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

Общие положения

Приветствую вас, дорогие друзья.

Как вы наверное уже смогли заметить, в новой версии PD.R появился замечательный уникальный функционал - менеджер модов. С его помощью игроки, разрабатывающие различные модификации (такие как рескин моделей персонажа или предметов, замена аудиофайлов и другое…) смогут тестировать свои наработки в актуальной версии PD.R как говорится «не отходя от кассы». В свою очередь игроки, которые хотят просто попробовать уже готовые моды смогут легко ими управлять, включая тот или иной мод по необходимости и хранить на своём устройстве. В дальнейшем возможности менеджера будут расти, а я, в свою очередь, буду освещать эти нововведения.

Начнём с базовой информации.

При установке приложение создаёт директорию по пути \Android\data\com.nyrds.pixeldungeon.ml\files\.

Именно здесь будут храниться наши моды. Для того, что бы мод появился в приложении необходимо перенести папку с файлами мода по указанному выше пути. Это можно сделать подключив телефон к компьютеру или с помощью сторонней программы-файлменеджера (Я например использую ES проводник). После того, как папка с файлами размещена по указанному пути при следующем запуске приложения вы сможете выбрать ваш мод в списке модов (Название мода будет браться из названия папки)

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

Сейчас мы с вами попробуем создать пробный мод.

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

Соответственно вам необходимо скачать файлы себе на телефон, создать папку в \Android\data\com.nyrds.pixeldungeon.ml\files\, назвать её как вам придётся по душе, перенести в неё эти файлы и после - назвать их в соответствии с оригинальными файлами из папки assets.

Оригинал раздела от Дмитрия Денисова

Подмена ресурсов

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

И снова здравствуйте, уважаемые игроки. Как многие уже поняли, последнее обновление PD.R принесло в игру ещё больше возможностей кастомизации, и теперь каждый может сделать моба со своей собственной раскадровкой и поменять описание у любого текста, главное знать как и где менять, собстно об этом ниже.

И так, начну с примера и по порядку. Захотелось мне, к примеру, заменить каменного голема у гномов на робота, я нарисовал спрайты, был доволен, но вот незадача - кадры их анимации не совпадали, ибо в порыве куража я сделал их для робота аж 27. Но на помощь мне пришёл .json, в котором я могу сам описать анимацию действий покадрово, задавая необходимый мне fps для каждого действия и выбирая, из какого файла будет браться анимация и даже задавать размер кадра! И так, рисунок нарисован, теперь нужно правильно назначить кадры для каждого действия. Многие наверное уже обратили внимание, что отчёт кадров начинается не с единицы, а с нуля. Делать анимацию лучше всего грамотно, не рисуя одинаковые кадры по нескольку раз, а обращаясь к одному и тому же кадру. На примере робота - ходьба начинается с кадра 3, и только потом возвращается к кадру 2, при этом - дважды. Это не является обязательным условием, но так - правильнее. Основные моменты:

  • Элемент нумерованного списка название .json файла отвечает за то, какому мобу будет заменена текстура. Я тестировал на крысе (rat.json) но всегда можно поменять на кого угодно, например на гнолла (gnoll.json). Весь список можно посмотреть в папке https://github.com/NYRDS/pixel-dungeon-remix/tree/master/PixelDungeon/src/main/assets)
  • Первая строчка отвечает за файл с текстурой, к которому будет обращаться json. В папке assets нет файла с именем DM50.png, его мы добавляем отдельно.
  • Следующие две строчки - ширина и высота одного кадра соответственно. Тут нюансов нет, но я очень рекомендую использовать всем графический редактор в котором можно настраивать размер сетки, например GIMP. Это удобнее и позволяет экономить время.
  • Кадры действий покоя, движения, атаки и смерти. Тут всё достаточно просто. Fps - скорость проигрывания кадров (с ней можно интересно поэкспериментировать), looped отвечает за то, будет ли анимация зацикливаться, или нет. Его лучше не трогать. Ну и в квадратных скобках находятся порядковые номера проигрываемых кадров. Тут тоже ничего сложного.

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

Думаю что пока всё, чуть позже напишу про замену описания, а так же буду готов отвечать на ваши вопросы. Пробуйте себя, фантазируйте! Всем хорошего дня

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

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

В папке находится куча файлов. Вот их полный перечень:

  • 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. Не трогайте

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

Если мы хотим заменить описание крысы на описание, к примеру, робота, то нам на помощь спешит 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«]

Описание для первой локации (strngs.xml, строка 189):

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

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

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

Гайд от Дмитрия Денисова

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» }

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

Карта уровня

Типы уровней

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

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

ru/rpd/mods.1510418538.txt.gz · Последнее изменение: 2017/11/11 16:42 — mike