Как упаковать свое приключение в Модуль для Foundry VTT
Я внезапно понял, что многие мастера желающие поделиться своими приключениями - могут просто не знать как это делать!
Если вы не знаете, как поделиться своим приключением сделанным для Fоundry VTT, ниже для вас будет пошаговая инструкция.
Организация файлов:
Старайтесь не использовать кириллицу и ЗАГЛАВНЫЕ буквы, особенно в файлах json. Это может создать проблемы после импорта и на системах отличных от windows.
Все ассеты (карты, музыка, изображения) должны либо иметь прямую ссылку на себя в интернете, либо лежать по пути:
worlds/Название_вашего_мира/
Если это не так, то после экспорта, у других мастеров, не будет части изображений/звуков. Пример этого
Подготовка приключения:
1. Все папки кладем в папку с названием мира. Это нужно чтобы, при добавлении в текущий мир было проще понять, что к чему принадлежит.
Затем создаем компендиум с приключением
Заполняем название описание:
Переходим в папку "Содержание" и перетаскиваем весь контент которым мы хотим поделиться:
Жмем на кнопку "Сборка приключения" и через несколько секунд компендиум готов.
Копируем папку из папки worlds
в папку modules
Файл world.json переименовываем в module.json
Если у вас все аккуратно систематизировано - то вы можете оставить только папки с Ассетами и папку Packs
Открываем Папку packs. Это папка в которой лежат созданные вами компендиумы. Скорее всего у вас там будет только один файл с вашим приключением.
Открываем этот файл и через автозамену меняем везде worlds на modules. Это необходимо, для того, чтобы в вашем модуле все ссылки на файлы корректно работали.
Не пытайтесь редактировать файл в WORD или другом текстовом редакторе. Он добавит огромное количества кода из-за которого Foundry не сможет прочитать файл.
Если вдруг вы используете Visual Studio Code, он может долго делать автозамену большого количество ссылок. Иногда в таком случае я использую обычный блокнот.
Редактирование module.json
Наш модуль почти готов. Осталось только внести правки. Ниже я оставлю код примера с указанием какой параметр за что отвечает. Вы можете просто скопировать его и внести необходимые для вас правки (не забудьте удалить комментарии // Из-за них файл может не читаться)
{ "title": "Затерянные Копи Фандельвера", // Название модуля
"id": "lost_phandalin", // Уникальный идентификатор модуля
"description": "<p>Приключение для героев 1-5 уровня...</p>", // Описание модуля
"compatibility": { "minimum": "10", // Минимальная версия совместимости
"verified": "10.290" // Версия, с которой подтверждена совместимость },
"version": "1.0.15", // Версия модуля, Если вы позже повысите эту цифру, то все смогут обновить его просто нажав кнопку обновления
"authors": [ { "name": "Kikimor - adaptation for FVTT", // Имя автора
"discord": "Kikimor#2618", // Дискорд автора
"url": "https://boosty.to/kikimor_rec", // Ссылка на сайт автора
"flags": {} // Флаги } ],
"packs": [ { "label": "Затерянные Копи Фандельвера", // Название пакета "type":
"Adventure", // Тип пакета
"name": "zateryannye-kopi-fandelvera", // Имя пакета
"path": "packs/zateryannye-kopi-fandelvera.db", // Путь к файлу пакета
"system": "dnd5e", // Система игры
"private": false, // Приватность пакета
"flags": {} // Флаги } ],
"relationships": { "systems": [ { "id":
"dnd5e", // Идентификатор системы
"type": "system", // Тип связи
"compatibility": { "verified": "2.0.1" // Версия, с которой подтверждена совместимость системы } } ],
"requires": [ //зависимости {
"id": "monks-active-tiles", // Идентификатор модуля
"type": "module", // Тип связи
"compatibility": {} // Совместимость }, {
"id": "monks-tokenbar", // Идентификатор модуля
"type": "module", // Тип связи
"compatibility": {}, // Совместимость
"requires": true // Обязательное наличие модуля }, {
"id": "lib-wrapper", // Идентификатор модуля
"type": "module", // Тип связи
"manifest": "https://github.com/ruipin/fvtt-lib-wrapper/releases/latest/d...", // Ссылка на файл манифеста
"compatibility": {}, // Совместимость
"requires": false // Необязательное наличие модуля } ] },
"manifest": "https://www.dropbox.com/s/q31me2rloxi2l4n/module.json?dl=1", // Ссылка на файл манифеста
"download": "https://www.dropbox.com/s/vn804f0n5xj0l2c/lost_phandalin.zip...", // ссылка на файл для загрузки. Поддерживется только ZIP
"url": "https://boosty.to/kikimor_rec/" // ссылка на модуль }
Загрузка:
Я использую dropbox, однако вы можете использовать любой файлообменник или сервер, которые позволяют создавать прямые ссылка на скачивание файла. В идеале ссылка на эти два файла не должна меняться при обновлении файлов.
Тестирование:
Если у вас всё еще есть сомнения в работоспособности модуля - вы можете попросить меня или кого-то на RU сервере Foundry помочь с проверкой. Чтобы убедиться, что все работает и нет критичных багов.
Распространение:
Разместите свою работу на RU Сервере Foundry в специальном разделе авторского контента
Отправьте это приключение мне, и я сделаю пост в специальном сообществе VK в котором я собираю приключения.
Разместите посты на Пикабу, или попросите это сделать меня - я помогу.
Делитесь историями и приключениями)) это сделать НРИ более доступными для всех.
Если у вас есть идеи, о том, как упростить релиз приключений - давайте это обсудим и поправим статью.