Cargador de dados

:discourse2: Resumen Dice Roller añade un generador de dados muy completo a tus publicaciones en Discourse, ¡perfecto para tus necesidades de juegos basados en foros!
:hammer_and_wrench: Enlace al repositorio https://github.com/discourse/discourse-dice
:open_book: ¿Nuevo en los temas de Discourse? Guía para principiantes sobre el uso de temas en Discourse

Instalar este componente del tema

:information_source: Administradores: Considere desactivar la configuración discourse narrative bot disable public replies después de la instalación, ya que este componente del tema reemplaza por completo el comportamiento de lanzamiento de dados del bot.

:game_die: Uso básico

El componente del tema interpreta los lanzamientos formateados como [wrap=dice].

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

Puedes lanzar múltiples dados del mismo tipo, aplicar modificadores aditivos y verificar automáticamente el resultado contra un umbral de éxito:

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

image

:woman_scientist: Funciones avanzadas: Críticos, lanzamientos divididos

Puedes especificar lanzamientos naturales específicos que se consideren “golpes críticos” con la opción crit=. Los golpes críticos se verifican antes de aplicar el modificador aditivo.

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

image

Si ciertos valores críticos son destacados en tu foro, un administrador puede agregar CSS adicional para enfatizarlos. En este ejemplo, los críticos que lanzan un 1 se colorean en rojo.

Si permites que múltiples lanzamientos se verifiquen contra el mismo umbral, puedes agregar el modificador i Individual junto con t Umbrales. El número de dados exitosos que superaron el umbral se resumirá al final.

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

:information_source: Actualmente, se muestran los lanzamientos previos al modificador. Esto podría cambiar en el futuro dependiendo de la retroalimentación.

:no_entry: Restricciones

Para evitar abusos con cuerpos de publicaciones grandes, el número máximo de dados por lanzamiento está disponible en la configuración del tema para que el administrador lo ajuste. El valor predeterminado es de 80 dados.

Los dados de 0 caras y de 1 cara no están permitidos. Lanzar 0 dados no está permitido, y los dados con más de ~67 millones de caras no están permitidos por razones de rendimiento.

:gear: Detalles técnicos y trampas

Los lanzamientos se calculan en JavaScript utilizando un generador de números aleatorios (RNG) semillado por el ID de la publicación y la marca de tiempo de creación, recorriendo el cuerpo de la publicación en orden. Los valores de los lanzamientos no son visibles antes de que se cree la publicación.

Se aplican varios estilos de formato especiales a los lanzamientos para distinguirlos del texto normal en las publicaciones. ¡Esto no impide que las personas publiquen imágenes!

Los valores de los lanzamientos no se guardan automáticamente en el cuerpo de la publicación. Esto presenta un problema para las necesidades de archivo. Las soluciones a esto requerirán el uso de un plugin.

Si necesitas agregar más lanzamientos de dados a tu publicación, deben agregarse al final para preservar los resultados de todos los lanzamientos anteriores. Agregar nuevos lanzamientos de dados al principio de una publicación aleatorizará los resultados de todos los lanzamientos. Por esta razón, tener cualquier lanzamiento erróneo en una publicación impedirá que todos los lanzamientos posteriores funcionen. La vista previa del compositor te indicará si tu especificación de dados es :game_die: correcta o :warning: errónea.

Aunque estas medidas pueden ayudar a prevenir el engaño accidental, un tramposo determinado podría intentar predecir cuándo debe enviar su publicación. Si estás considerando esto para algo valioso, pide a un usuario de confianza que no pueda recibir la recompensa que redacte la publicación, o utiliza una fuente independiente como https://random.org, que ofrece servicios de pago para sorteos y rifas auditables.

¡Recuerda divertirte!

Configuración

Nombre Descripción
max dice
Traducción Predeterminado
dice.result.success_count.one (%{count} Éxito)
dice.result.success_count.other (%{count} Éxitos)
dice.excessive.quantity.one Cantidad excesiva de dados (máx. %{count})
dice.excessive.quantity.other Cantidad excesiva de dados (máx. %{count})
dice.excessive.faces El número de caras del dado no puede exceder 67.000.000
dice.missing.faces Especificación de dado inválida: falta el número de caras
dice.invalid.generic Especificación de dado inválida. Formato: 2d20+3
dice.invalid.quantity El número de dados no puede ser 0
dice.invalid.faces El número de caras del dado no puede ser 0 ni 1
dice.invalid.modifier El modificador no puede ser 0
dice.invalid.threshold El umbral no puede ser 0
dice.invalid.crits Números incorrectos en el atributo crits. (Debería ser crits=4,5,6)
dice.invalid.halt_after_error El lanzamiento se detuvo debido a un error anterior. Corrige los errores para ver los resultados.

:discourse2: ¿Te alojamos nosotros? Los componentes del tema están disponibles para su uso en nuestros planes Estándar, Empresarial y Corporativo.

33 Me gusta

Si a alguien le interesa implementar un lanzador de dados más versátil en Discourse utilizando una persona de IA, hice esto en una comunidad que administro y funciona excelentemente. Configuré una persona de IA y le permití usar la herramienta Random Picker, establecí la configuración ‘max context posts’ en 1 y le di estas instrucciones:

Conecté la persona con un usuario (en este caso @dice), para que pueda ser invocado en cualquier publicación diciendo algo como @dice 3d6, y el bot responderá con el resultado. Puedes verlo en acción en este tema de mi comunidad (si te interesa los juegos de mesa, siéntete libre de unirte a la comunidad, todavía es muy nueva).

Por supuesto, esto usa IA, por lo que requiere una clave API de LLM. Estoy usando GPT-4o-mini, por lo que el costo es muy bajo, especialmente para el volumen que estoy considerando aquí.

5 Me gusta

Para aquellos a quienes les pueda interesar, he actualizado el componente original para la nueva API. No quería usar un LLM para tirar un dado simple, ni el bot, me gustó mucho el componente original…

De todos modos, tuve que pedirle ayuda a Claude, así que si alguien detecta IA BLABLABLA, sí, tiene razón, lo confieso. La usé.

Para aquellos que todavía estén interesados, estoy alojando el fork (el git original fue archivado).

Espero comentarios y críticas (o incluso insultos, no me importa).

4 Me gusta