Бросок кубиков

:discourse2: Сводка Dice Roller добавляет в ваши посты на Discourse функциональный генератор кубиков для игр на вашем форуме!
:hammer_and_wrench: Ссылка на репозиторий https://github.com/discourse/discourse-dice
:open_book: Новичок в темах Discourse? Руководство для начинающих по использованию тем Discourse

Установить этот компонент темы

:information_source: Администраторы: После установки рассмотрите возможность отключения настройки discourse narrative bot disable public replies, так как этот компонент темы полностью заменяет поведение бота при бросании кубиков.

:game_die: Базовое использование

Компонент темы интерпретирует броски, оформленные как [wrap=dice].

[wrap=dice]d20[/wrap]
[wrap=dice]d100[/wrap]
[wrap=dice]2d6[/wrap]

Вы можете бросать несколько кубиков одного типа, применять аддитивные модификаторы и автоматически проверять результат относительно порога успеха:

[wrap=dice]2d6+3t12[/wrap]

image

:woman_scientist: Расширенные функции: Критические удары, Раздельные броски

Вы можете указать конкретные естественные значения, которые будут считаться «критическими ударами», используя опцию crit=. Проверка критических ударов выполняется до применения аддитивного модификатора.

[wrap=dice crit=1,100]1d100[/wrap]
[wrap=dice crit=1,20]d20+3[/wrap]

image

Если на вашем форуме определённые значения критических ударов считаются значимыми, администратор может добавить дополнительный CSS для их выделения. В этом примере критические удары со значением 1 окрашены в красный цвет.

Если вы разрешаете несколько бросков, проверяемых относительно одного порога, вы можете добавить модификатор i Индивидуальный в сочетании с t Пороги. В конце будет показано количество успешных бросков, превысивших порог.

[wrap=dice]5d100t60i[/wrap]
[wrap=dice]3d20-5t0i[/wrap]

:information_source: В настоящее время отображаются броски до применения модификатора. В будущем это может измениться в зависимости от отзывов.

:no_entry: Ограничения

Чтобы избежать злоупотреблений с большими телами постов, максимальное количество кубиков за один бросок можно настроить в настройках темы для администратора. По умолчанию это 80 кубиков.

Кубики с 0 или 1 гранью не допускаются. Бросать 0 кубиков также запрещено, а кубики с более чем ~67 миллионами граней не поддерживаются по соображениям производительности.

:gear: Технические детали и мошенничество

Броски рассчитываются на JavaScript с использованием генератора случайных чисел, инициализированного ID поста и меткой времени его создания, последовательно обрабатывая тело поста. Значения бросков не видны до создания поста.

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

Значения бросков не сохраняются автоматически в теле поста. Это создаёт проблемы для архивирования. Решения этой проблемы потребуют использования плагина.

Если вам нужно добавить дополнительные броски кубиков в пост, они должны быть добавлены в конце, чтобы сохранить результаты всех предыдущих бросков. Добавление новых бросков в начало поста приведёт к изменению результатов всех бросков. По этой причине наличие любых ошибочных бросков в посте сделает все последующие броски неработоспособными.

Предпросмотр композера покажет, корректна ли ваша спецификация кубиков :game_die: или содержит ошибку :warning:.

Хотя эти меры помогают предотвратить случайное мошенничество, настойчивый мошенник может попытаться предсказать момент отправки поста. Если вы планируете использовать это для чего-то ценного, попросите доверенного пользователя, который не может получить награду, создать пост, или используйте независимый источник, например https://random.org, который предлагает платные услуги для проверяемых розыгрышей и лотерей.

Не забывайте развлекаться!

Настройки

Имя Описание
max dice
Перевод По умолчанию
dice.result.success_count.one (%{count} Успех)
dice.result.success_count.other (%{count} Успеха)
dice.excessive.quantity.one Чрезмерное количество кубиков (макс. %{count})
dice.excessive.quantity.other Чрезмерное количество кубиков (макс. %{count})
dice.excessive.faces Количество граней кубика не может превышать 67 000 000
dice.missing.faces Недопустимая спецификация кубика: отсутствует количество граней
dice.invalid.generic Недопустимая спецификация кубика. Формат: 2d20+3
dice.invalid.quantity Количество кубиков не может быть равно 0
dice.invalid.faces Количество граней кубика не может быть равно 0 или 1
dice.invalid.modifier Модификатор не может быть равен 0
dice.invalid.threshold Порог не может быть равен 0
dice.invalid.crits Неверные числа в атрибуте crit. (Должно быть crit=4,5,6)
dice.invalid.halt_after_error Бросание остановлено из-за предыдущей ошибки. Исправьте ошибки, чтобы увидеть результаты.

:discourse2: Размещены у нас? Компоненты тем доступны для использования на наших тарифах Standard, Business и Enterprise.

33 лайка

Если кто-то заинтересован в реализации более универсального генератора кубиков в Discourse с использованием AI-персоны, я уже сделал это на одном из управляемых мной сообществ, и это работает превосходно. Я настроил AI-персону, разрешил ей использовать инструмент «Случайный выборщик», установил настройку «макс. контекстных постов» на 1 и дал ей следующие инструкции:

Я связал персону с пользователем (в данном случае @dice), чтобы её можно было вызвать в любом посте, написав что-то вроде @dice 3d6, и бот ответит результатом. Вы можете увидеть это в действии в этой теме моего сообщества (если вас интересует настольные игры, не стесняйтесь присоединиться к сообществу — оно ещё очень новое).

Конечно, это использует ИИ, поэтому требуется API-ключ LLM. Я использую GPT-4o-mini, поэтому стоимость очень низкая, особенно для того объёма, с которым я работаю здесь.

5 лайков

Для тех, кому это может быть интересно, я обновил оригинальный компонент для нового API. Я не хотел использовать LLM или бота для простого броска кубика — мне так понравился оригинальный компонент…

В любом случае, мне пришлось попросить Клода помочь, так что если кто-то заметит «ИИ-БЛАБЛАБЛА», да, вы правы, я признаюсь: я использовал его.

Для тех, кто всё ещё заинтересован, я размещён форк (оригинальный репозиторий был заархивирован).

С нетерпением жду отзывов и критики (или даже оскорблений — мне всё равно).

4 лайка