Удобный Конструктор NPC для Fantasy Grounds на русском языке (в Obsidian) | DnD
Ура! Руки дошли написать гайд для одного шаблона из целой серии: "смотри что наделала нейросеть".
↓↓↓ФАЙЛ ШАБЛОНА ↓↓↓
md
Создание NPC.md46.99 Kb
ВНИМАНИЕ! Весь код написан нейросетью. Это чистой воды вайбкод, так что возможны ошибки и недочёты.
Как это работает?
Этот шаблон превращает Obsidian в полноценную мастерскую для создания D&D NPC: в нём есть рандомизатор статов, визуальный конструктор с расчётом AC, HP, спасбросков и навыков, а также отдельные генераторы атак и трейтов сразу в формате Fantasy Grounds.
Вместо того чтобы вручную высчитывать модификаторы, DC, средний урон и прописывать синтаксис вроде "Melee Weapon Attack: +5 to hit, reach 5 ft." — ты просто жмёшь пару кнопок и получаешь готовую строку, которую остаётся только вставить в FG.
Экспорт стат-блока в формате, понятном Fantasy Grounds, позволяет завести NPC в пару кликов, а кликабельный лист персонажа даёт мгновенный доступ к любому полю — удобно и для импорта, и для ведения игры, и для просмотра/редактирования информации о NPC прямо с телефона или ноутбука.
Как это выглядит:
Мастерская NPC
- Кнопка «🎲 РАНДОМ NPC» — рандомизирует статы, размер, тип, CR, HP, спасброски и т.д. Статы сразу записываются в свойства файла.
- Ниже — большой визуальный конструктор: выбор размера, типа, мировоззрения, CR, костей HP, скорости, статов, доспеха, спасбросков, навыков, чувств, языков, уязвимостей и т.д.
- В самом низу кнопка «⚡ ОБНОВИТЬ ЛИСТ NPC» — записывает всё, что вы выбрали в конструкторе.
После заполнения всех параметров и нажатия кнопки «⚡ ОБНОВИТЬ ЛИСТ NPC» — можно удалить блок с кодом мастерской, больше он вам не понадобится.
Если вы захотите изменить NPC после удаления мастерской, вы всегда сможете изменить параметры вручную в "свойствах" (в самом начале файла).
Конструктор атак
- Заполняем: имя оружия, Melee/Ranged, дистанцию, цель, кость урона, тип урона, при желании — спас и эффект.
- Кнопка «🎲 РАНДОМ» — рандомизирует атаку.
- Кнопка «➕ СОЗДАТЬ И КОПИРОВАТЬ» — формирует строку в формате Fantasy Grounds, копирует в буфер и добавляет в список ниже.
- У каждой атаки в списке есть кнопка Copy и крестик для удаления.
Конструктор трейтов
- Выбираем тип: Advantage / Keen Senses / Regeneration / Legendary Resistance / Magic Resistance / Multiattack / Custom.
- Заполняем поля, жмём «➕ ДОБАВИТЬ И КОПИРОВАТЬ».
- Строка в формате FG так же копируется в буфер.
Лист NPC
- Красиво отрисованный лист с кликабельными полями: клик по любому полю копирует его в буфер обмена (удобно для ручного переноса в FG).
- Внизу — заголовки разделов (Traits, Actions, Bonus Actions и т.д.), куда придется вручную вписывать текст трейтов/атак, полученных из конструкторов. Увы, это те данные, которые в дальнейшем придется переносить только вручную.
Импорт/Экспорт
- Кнопка «КОПИРОВАТЬ ТЕКСТ ДЛЯ FG» — формирует текстовый блок стат-блока в формате, который понимает Fantasy Grounds, и кладёт его в буфер обмена.
Импорт в Fantasy Grounds
- Запустите Fantasy Grounds и откройте свою кампанию.
- В левом/правом меню (в зависимости от правил-сета — обычно Library → NPCs) откройте окно NPC.
- Нажмите кнопку Import Text (иконка синей стрелочки / «Import»).
- В открывшееся окно вставьте скопированный текст (Ctrl+V).
- Внизу окна выберите Import Mode — любой (обычно Replace или Add).
- Нажмите Import.
- NPC появится в списке. Откройте его и проверьте поля.
Что придётся доделать руками
Импортёр FG берет только стат-блок (AC, HP, статы, спасброски, навыки, чувства, языки, CR, XP). Он не тянет:
- Трейты (Traits)
- Атаки (Actions)
- Бонусные действия
- Реакции
- Легендарные действия
- Заклинания
- Инвентарь
- Описание/лор
- Картинки
Всё это переносится вручную:
- Откройте в Obsidian 🗡️ Конструктор атаки, сгенерируйте атаки → копируйте по одной → в FG в NPC-листе жмите + в разделе Actions → вставляйте текст в поле описания.
- Аналогично для трейтов: 💫 Конструктор трейтов → в FG в раздел Traits.
- Картинки: в FG у NPC есть слоты Portrait и Token — перетащите туда файлы из папки vault (или прямо из проводника/асетов FG).
Как установить этот чудо-конструктор?
p.s. это не сложно, честно ;)
Для начала, если у вас нет Obsidian, его нужно установить:
- Скачайте Obsidian с официального сайта: https://obsidian.md (Windows / macOS / Linux).
- Установите и запустите.
- При первом запуске выберите «Create new vault» (создать новое хранилище).
- Vault — это просто папка на диске, где будут лежать ваши заметки.
- Назовите её, например, DND_Vault и укажите удобное место (например, D:\Obsidian\DND_Vault).
- Готово — вы в пустом хранилище.
Далее, после установки Obsidian:
Вам нужны два плагина сообщества: Templater и Dataview. Они оба ставятся одинаково.
2.1. Включаем сторонние плагины
- В Obsidian нажми шестерёнку (⚙️) слева внизу — это «Настройки».
- Слева выберите раздел «Сторонние плагины» (Community plugins).
- Нажмите «Включить сторонние плагины» (Turn on community plugins).
- Появится кнопка «Обзор» (Browse) — жмите её.
2.2. Устанавливаем Templater
- В поиске наберите Templater.
- Найдите плагин от SilentVoid13.
- Нажмите Install → затем Enable.
- Закройте окно обзора.
2.3. Устанавливаем Dataview
- Снова «Обзор» (Browse).
- В поиске — Dataview.
- Плагин от Michael Brenan.
- Install → Enable.
2.4. Настраиваем Dataview (важно!!!)
- Настройки → Dataview (в левом меню).
- Включите галочку «Enable JavaScript Queries».
- Включите галочку «Enable Inline JavaScript Queries».
- Закройте настройки.
⚠️ Без этих галочек все блоки dataviewjs в шаблоне будут просто пустыми.
2.5. Настраиваем Templater (для автоматического переименования)
- Настройки → Templater.
- В поле «Template folder location» укажите папку, где будут лежать шаблоны. Например, создайте папку Templates в корне хранилища и укажите её.
- Создать папку: правый клик по пустому месту в файловом дереве → New folder → назовите Templates.
- Закройте настройки.
Установка самого шаблона
- Откройте папку своего хранилища на диске (например, D:\Obsidian\DND_Vault). Внутри создайте папку Templates, если её ещё нет.
- Скопируйте туда файл Создание NPC.md (тот, что вы скачали выше).
- Вернитесь в Obsidian — файл появится в дереве слева.
Создание нового NPC
- Создайте новую заметку: Ctrl+N (или Cmd+N).
- Откройте Command Palette: Ctrl+P (Cmd+P).
- Наберите «Templater: Create new note from template» и выберите шаблон: Создание NPC.md.
- Появится окошко с запросом «Введите имя NPC» — впишите, например, Goblin Boss (лучше на английском!).
- Файл автоматически переименуется в Goblin Boss.md.
Если вам лень каждый раз создавать файл и применять к нему шаблон вручную, есть автоматический способ:
Шаг 1. Создайте папку под NPC
- В файловом дереве Obsidian нажмите правой кнопкой по пустому месту → New folder.
- Назовите её, например, NPC.
- Туда будут падать все новые NPC, и для них автоматически применится ваш шаблон.
Шаг 2. Убедитесь, что шаблон лежит в папке шаблонов
- У вас уже должна быть папка Templates (или любая другая, которую вы указали в настройках Templater).
- Внутри неё должен лежать файл Создание NPC.md.
- Если он лежит в другом месте — перенесите его в Templates.
Шаг 3. Настройте Folder Templates в Templater
- Откройте Настройки (⚙️) → раздел Templater в левом меню.
- Прокрутите до блока «Folder Templates».
- Нажмите кнопку «Add new folder template» (или «Add»).
- Появятся два поля:
- Folder — выберите папку NPC (ту, что создали в шаге 1).
- Template — выберите файл Templates/Создание NPC.md.
- Закройте настройки.
💡 Если у вас есть несколько типов NPC (например, NPC/Bosses, NPC/Mooks), можно добавить несколько пар «папка → шаблон». Templater применит шаблон из самой вложенной подходящей папки.
Шаг 4. Проверьте работу
- Откройте папку NPC в файловом дереве.
- Нажмите правой кнопкой → New note (или просто создайте заметку, находясь внутри этой папки).
- Templater сразу запустит шаблон:
- Появится окошко «Введите имя NPC» — впишите имя (лучше латиницей).
- Файл автоматически переименуется, frontmatter заполнится, а блоки dataviewjs отрисуются.
⚠️ Если окошко не появилось — значит, либо папка указана неверно, либо шаблон лежит не в папке шаблонов, либо Templater отключён. Проверьте шаги 2–3.
Шаг 5 (опционально). Триггер на создание файла вручную
Если по какой-то причине Folder Templates не срабатывает, можно использовать хук «On new file creation»:
- В настройках Templater прокрутите до блока «Trigger Templater on new file creation».
- Включите галочку «Trigger Templater on new file creation».
- Ниже появится список правил — добавьте новое:
- Folder: NPC
- Template: Templates/Создание NPC.md
- Сохраните настройки.
Разница с Folder Templates минимальна — этот вариант чуть более гибкий, но для базового сценария хватает и первого способа.
Частые проблемы и решения
- Если блоки dataviewjs пустые
Решение: Настройки → Dataview → Enable JavaScript Queries активируем
- Вместо мастерской сплошной код и никакого визуала
Решение: Перейдите в режим чтения Ctrl + E (или значок карандаша в верхнем правом углу). Так же может помочь пролистать файл колёсиком мыши до самого конца.
- В FG «кракозябры» вместо имени
Решение: Кириллица в "name". Пиши название NPC латиницей
- Импорт в FG падает с ошибкой
Решение: Скорее всего, в тексте есть кавычки-«ёлочки». Шаблон сам чистит их, но если правили текст вручную — замените «» на "" и '' на '
- Кнопки не реагируют — Dataview не перерисовал блок
Решение: Закрой/открой заметку или Ctrl+R (reload)
- <%* ... %> (вставка титула, т.е. название NPC) не работает
Решение: Создавай через Templater: Create new note from template
- processFrontMatter не работает
Решение: Обновите Obsidian до 1.4+
У меня есть еще несколько подобных шаблонов, облегчающих жизнь как игроков, так и мастера в DnD, играющих через Fantasy Grounds (и не только). Дайте знать, если вам интересна эта тема, и я продолжу писать гайды по другим своим наработкам в Obsidian.
Приятных вам игр!
Пещера Viryz'а
Выглядит довольно здраво. А тут нельзя для удобства импорта сделать автотранскрипцию названий? Для имени, имени атак и трейтов? Чтоб например при отображении в обсидиан оно показывалось на русском, а при копировании он его транскрибировал на анг?
Sep 19 14:13
Пещера Viryz'аReplying to Waisur
Oliver Waisur, Не, это я вижу. Я по тому и пишу, как идею. Мне, как незнающему человеку, кажется что код для транскрипции может быть не сложным. Но я очевидно не в курсе можно ли такое вообще реализовать. Чтоб после добавления той-же атаки, вместо введённого названия "Дубина" в тексте появилось "Dubina" 

Sep 19 14:56
WaisurReplying to Пещера Viryz'а
Пещера Viryz'а, За идеи на будущее спасибо) Как руки дойдут - продолжу пытать нейросеть с этим вопросом
Sep 19 15:00