Lanceur de dés

:discourse2: Résumé Dice Roller ajoute un lanceur de dés bien équipé à vos publications Discourse, pour vos besoins de jeux basés sur des forums !
:hammer_and_wrench: Lien vers le dépôt https://github.com/discourse/discourse-dice
:open_book: Nouveau sur les thèmes Discourse ? Guide débutant pour utiliser les thèmes Discourse

Installer ce composant de thème

:information_source: Administrateurs : Envisagez de désactiver le paramètre discourse narrative bot disable public replies après l’installation, car ce composant de thème remplace entièrement le comportement de lancer de dés du bot.

:game_die: Utilisation de base

Le composant de thème interprète les lancers formatés comme [wrap=dice].

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

Vous pouvez lancer plusieurs dés du même type, appliquer des modificateurs additifs et vérifier automatiquement le résultat contre un seuil de réussite :

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

image

:woman_scientist: Fonctionnalités avancées : Crits, Lancers divisés

Vous pouvez spécifier des lancers naturels spécifiques à traiter comme des “coups critiques” avec l’option crit=. Les coups critiques sont vérifiés avant le modificateur additif.

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

image

Si certaines valeurs de crit sont notables sur votre forum, un administrateur peut ajouter du CSS supplémentaire pour les mettre en évidence. Dans cet exemple, les crits qui lancent un 1 sont colorés en rouge.

Si vous autorisez plusieurs lancers à être vérifiés contre le même seuil, vous pouvez ajouter le modificateur i Individuel en conjonction avec t Seuils. Le nombre de dés réussis ayant dépassé le seuil sera récapitulé à la fin.

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

:information_source: Actuellement, les lancers avant modificateur sont affichés. Cela pourrait changer à l’avenir en fonction des retours.

:no_entry: Restrictions

Pour éviter les abus avec de grands corps de messages, un nombre maximum de dés par lancer est disponible dans les paramètres du thème pour que l’administrateur puisse l’ajuster. La valeur par défaut est de 80 dés.

Les dés à 0 faces et à 1 face ne sont pas autorisés. Lancer 0 dé n’est pas autorisé, et les dés avec plus d’environ 67 millions de faces ne sont pas autorisés pour des raisons de performance.

:gear: Détails techniques et triche

Les lancers sont calculés en JavaScript à l’aide d’un RNG amorcé par l’ID du message et son horodatage de création, en parcourant le corps du message dans l’ordre. Les valeurs de lancer ne sont pas visibles avant la création du message.

Plusieurs styles de mise en forme spéciaux sont appliqués aux lancers pour les distinguer du texte normal dans les messages. Cela n’empêche pas les gens de publier des images !

Les valeurs de lancer ne sont pas enregistrées automatiquement dans le corps du message. Cela pose un problème pour les besoins d’archivage. Les solutions à cela nécessiteront l’utilisation d’un plugin.

Si vous devez ajouter d’autres lancers de dés à votre message, ils doivent être ajoutés en bas pour préserver les résultats de tous les lancers précédents. Ajouter de nouveaux lancers de dés en haut d’un message randomisera les résultats de tous les lancers. Pour cette raison, la présence de lancers erronés dans un message empêchera tous les lancers suivants de fonctionner.
L’aperçu du compositeur vous indiquera si votre spécification de dé est :game_die: correcte ou :warning: erronée.

Bien que ces mesures puissent aider à prévenir la triche accidentelle, un tricheur déterminé peut essayer de prédire quand il doit soumettre son message. Si vous envisagez cela pour quelque chose de précieux, faites en sorte qu’un utilisateur de confiance, qui ne peut pas recevoir la récompense, rédige le message, ou utilisez une source indépendante comme https://random.org , qui propose des services payants pour des tirages et des loteries vérifiables.

Rappelez-vous de vous amuser !

Paramètres

Nom Description
max dice
Traduction Défaut
dice.result.success_count.one (%{count} Réussite)
dice.result.success_count.other (%{count} Réussites)
dice.excessive.quantity.one Quantité de dés excessive (max %{count})
dice.excessive.quantity.other Quantité de dés excessive (max %{count})
dice.excessive.faces Le nombre de faces du dé ne peut pas dépasser 67 000 000
dice.missing.faces Spécification de dé invalide : nombre de faces manquant
dice.invalid.generic Spécification de dé invalide. Format : 2d20+3
dice.invalid.quantity Le nombre de dés ne peut pas être 0
dice.invalid.faces Le nombre de faces du dé ne peut pas être 0 ou 1
dice.invalid.modifier Le modificateur ne peut pas être 0
dice.invalid.threshold Le seuil ne peut pas être 0
dice.invalid.crits Mauvais nombres dans l’attribut crits. (Doit être crits=4,5,6)
dice.invalid.halt_after_error Le lancer s’est arrêté en raison d’une erreur antérieure. Corrigez les erreurs pour voir les résultats.

:discourse2: Hébergé par nous ? Les composants de thème sont disponibles pour une utilisation sur nos plans Standard, Business et Entreprise.

33 « J'aime »

Si cela intéresse quelqu’un d’implémenter un lanceur de dés plus polyvalent dans Discourse en utilisant une persona IA, je l’ai fait sur une communauté que je gère et cela fonctionne excellemment. J’ai configuré une persona IA et je lui ai permis d’utiliser l’outil Random Picker, j’ai défini le paramètre ‘max context posts’ à 1, et je lui ai donné ces instructions :

J’ai connecté la persona à un utilisateur (dans ce cas @dice), de sorte qu’elle puisse être invoquée dans n’importe quel message en disant quelque chose comme @dice 3d6, et le bot répondra avec le résultat. Vous pouvez le voir en action dans ce sujet de ma communauté (si vous êtes intéressé par les jeux de rôle sur table, n’hésitez pas à rejoindre la communauté - elle est encore très nouvelle).

Bien sûr, cela utilise l’IA, donc cela nécessite une clé API LLM. J’utilise GPT-4o-mini, donc le coût est très faible, surtout pour le volume que je vise ici.

5 « J'aime »

Pour ceux que cela pourrait intéresser, j’ai mis à jour le composant original pour la nouvelle API. Je ne voulais pas utiliser un LLM pour lancer un simple dé, ni le bot, j’aimais tellement le composant original…

Quoi qu’il en soit, j’ai dû demander à Claude de m’aider, donc si quelqu’un repère de l’IA BLABLABLA, oui, vous avez raison, je l’avoue. Je l’ai utilisée.

Pour ceux qui sont toujours intéressés, j’héberge le fork (le git original a été archivé.)

J’attends vos retours et critiques (voire des insultes, je m’en moque).

4 « J'aime »