Funktionen
Einige mathematische und logische Funktionen erlauben zusätzliche Komplikationen:
- abs(a) – der Absolutbetrag (vorzeichenlose Wert) von a wird zurückgeliefert
- Beispiele:
- abs(-8) => 8
- abs(4) => 4
- Beispiele:
- abrunden(a) – der Wert a wird auf die nächste ganze Zahl abgerundet
- Beispiele:
- abrunden(3,2) => 3
- abrunden(5,7) => 5
- Beispiele:
- aufrunden(a) – der Wert a wird auf die nächste ganze Zahl aufgerundet
- Beispiele:
- aufrunden(3,2) => 4
- aufrunden(5,7) => 6
- Beispiele:
- grad(a; b; c; d; e) – der Erfolgsgrade des Werts a wird ermittelt. b ist dabei der mindestens zu erreichende Wert, c die Stufenweite, d der additive Modifikator für den Erfolgsgrad und e der maximal mögliche Erfolgsgrad. Die Parameter können von hinten an weggelassen werden.
- Beispiele:
- grad(7;10) => 0 (7 ist nicht größer als 10, also keine Erfolgsstufe)
- grad(7;3) => 2 (7 ist zwei mal größer als 3, da keine Stufenweite angegeben wurde, wird die Erfolgsstufe für den Vergleich vervielfacht (3, 6, 9 …))
- grad(7;3;2) => 2 (Erfolgsstufen unterscheiden sich im Abstand 2, 7 ist 4 Einheiten größer als 3, also 2 Erfolgsstufen erreicht)
- grad(7;3;2;2) => 4 (wie zuvor, allerdings werden 2 Erfolgsstufen hinzugefügt)
- grad(7;3;2;-2) => 0 (wie zuvor, allerdings werden 2 Erfolgsstufen abgezogen)
- grad(9;3;2;0;2) => 2 (3 Erfolgsstufen, allerdings sind maximal 2 möglich)
- Beispiele:
- runden(a) – der Wert a wird kaufmännisch gerundet
- Beispiele:
- runden(3,2) => 3
- runden(5,7) => 6
- Beispiele:
- max(a; b;…) – der größte Wert aus a, b,… wird zurückgeliefert
- Beispiele:
- max(3; 1; 12; 5) => 12
- Beispiele:
- xmax(x; a; b;…) – der x-größte Wert aus a, b,… wird ermittelt
- Beispiele:
- xmax(2; 3; 1; 12; 5) => 5
- Beispiele:
- min(a; b;…) – der kleinste Wert aus a, b,… wird zurückgeliefert
- Beispiele:
- min(3; 1; 12; 5) => 1
- Beispiele:
- xmin(x; a; b;…) – der x-kleinste Wert aus a, b,… wird ermittelt
- Beispiele:
- xmin(2; 3; 1; 12; 5) => 3
- Beispiele:
- erste(x; a; b;…) – die ersten x Werte aus a, b,… werden zurückgegeben
- Beispiele:
- erste(2; 3; 1; 12; 5) => 3; 1
- erste(3; sortieren(10xW6)) => … (die kleinsten 3 Werte von 10 Würfelergebnissen)
- Beispiele:
- letzte(x; a; b;…) – die letzten x Werte aus a, b,… werden zurückgegeben
- Beispiele:
- letzte(2; 3; 1; 12; 5) => 12; 5
- letzte(3; sortieren(10xW6)) => … (die höchsten 3 Werte von 10 Würfelergebnissen)
- Beispiele:
- zufall(min; max) – eine Zufallszahl zwischen min und max wird ermittelt
- Beispiele:
- zufall(3; 17) => … (eine zufällig generierte, ganze Zahl zwischen 3 und 17)
- Beispiele:
- sortieren(a; b;…) – sortiert eine Liste aufsteigend
- Beispiele:
- sortieren(3; 1; 12; 5) => 1; 3; 5; 12
- sortieren(10xW6) => … (eine aufsteigend sortierte Liste von 10 Würfelergebnissen)
- sortieren(10xW6; 5) => … (eine aufsteigend sortierte Liste von 10 Würfelergebnissen und 5)
- Beispiele:
- absortieren(a; b;…) – sortiert eine Liste absteigend
- Beispiele:
- absortieren(3; 1; 12; 5) => 12; 5; 3; 1
- absortieren(10xW6) => … (eine absteigend sortierte Liste von 10 Würfelergebnissen)
- absortieren(10xW6; 5) => … (eine absteigend sortierte Liste von 10 Würfelergebnissen und 5)
- Beispiele:
- mischen(a; b;…) – durchmischt eine Liste
- Beispiele:
- mischen(1; 2; 3; 10) => … (eine zufällig angeordnete Liste mit den Zahlen 1, 2, 3 und 10)
- mischen(5xW6) => … (geht, ist allerdings sehr unsinnig, da 5xW6 bereits zufällig angeordnete Ergebnisse liefert)
- Beispiele:
- ueber(a; b) – liefert die Differenz von a-b, wenn a größer ist als b, sonst 0
- Beispiele:
- ueber(10; 6) => 0 (6 ist kleiner als 10)
- ueber(10; 14) => 4 (14 ist 4 größer als 10)
- ueber(10; 2d6) => …
- Beispiele:
- unter(a; b) – liefert die Differenz von b-a, wenn a gleiner ist als b, sonst 0
- Beispiele:
- unter(10; 6) => 4 (6 ist 4 kleiner als 10)
- unter(10; 14) => 0 (14 ist größer als 10)
- unter(10; 2d6) => …
- Beispiele:
- mod(a; b) – berechnet den Rest bei einer ganzzahligen Division von a durch b
- Beispiele:
- mod(7; 3) => 1 (der Rest von 7 geteilt durch 3)
- mod(8; 2) => 0 (kein Rest)
- Beispiele:
- div(a; b) – ganzzahlige Division von a und b
- Beispiele:
- div(7; 3) => 2
- div(8; 2) => 4
- Beispiele:
- diff(a; b; …) – Spanne zwischen dem größten und kleinsten Wert der Liste
- Beispiele:
- diff(7; 3) => 4
- diff(1;2;4;8;16) => 15
- Beispiele:
- wenn(a; b; c) – wenn a wahr oder ungleich 0 ist, dann b, ansonsten c
- Beispiele:
- wenn(5>3; 1; 0) => 1 (5 ist größer als 3, also wird der erste Wert zurückgegeben)
- wenn(W6>5; 10; 0) => … (wenn das Würfelergebnis über 5 (also gleich 6) ist, wird eine 10, ansonsten 0 zurückgegeben)
- Beispiele:
- wurzel(a) – berechnet die Quadratwurzel von a (
)
- Beispiele:
- wurzel(9) => 3
- wurzel(7) => 2.6457513110645907
- Beispiele:
- mincollate(x; a; b;…) – ermittelt die maximale Anzahl an Gruppen, die man aus a, b,… bilden kann mit einer Augensumme von mindestens x
- Beispiele:
- mincollate(10; 2; 4; 6; 7; 9; 10) => 3 (10=10, 6+4=10, 9+2=11, Rest 7)
- mincollate(10; 8xW10) => …
- Beispiele:
- exactcollate(x; a; b;…) – ermittelt die maximale Anzahl an Gruppen, die man aus a, b,… bilden kann mit einer Augensumme von exakt x
- Beispiele:
- exactcollate(10; 2; 4; 6; 7; 9; 10) => 2 (10=10, 6+4=10, Rest 18)
- exactcollate(10; 8xW10) => …
- Beispiele:
- maxcollate(x; a; b;…) – ermittelt die maximale Anzahl an Gruppen, die man aus a, b,… bilden kann mit einer Augensumme von höchstens x
- Beispiele:
- Beispiele:
- oder(a; b;…) – wählt ein zufälliges Element aus a, b,… aus
- Beispiele:
- oder(Pest; Cholera) => … (Pest oder Cholera)
- oder(0; 1) => … (1 oder 0)
- Beispiele:
- mittelwert(a; b;…) – ermittelt den Mittelwert von a, b,…
- Beispiele:
- mittelwert(3; 4; 5) => 4
- Beispiele:
- median(a; b;…) – ermittelt den Median von a, b,…
- Beispiele:
- median(2; 5; 4) => 4
- Beispiele:
- summe(a; b;…) – berechnet die Summe a + b +…
- Beispiele:
- summe(17; 4) => 21
- summe(5xW6) => … (Summe von 5 Würfelergebnissen; dies kann auch einfacher mit 5W6 erreicht werden)
- Beispiele:
- quersumme(a; b;…) – berechnet die Quersumme von a, b,…
- Beispiele:
- quersumme(5; 6; 7) => 8
- quersumme(5xW10) => … (Quersumme von 5 Würfelergebnissen)
- Beispiele:
- liste(a; b;…) – erzeugt eine Liste aus den Werten a, b,…, die dann z. B. für Listenfunktionen wie sortieren() verwendet werden kann.
- Beispiele:
- liste(5; 6; 7) => 5, 6, 7
- liste(5; 6; 7; 2xW12) => … (erzeugt eine Liste aus den Zahlen 5, 6, 7 und zwei Würfelergebnissen)
- Beispiele:
- zaehlen(a;…) – zählt die Zahl der Elemente in der Liste
- Beispiel:
- zaehlen(1; 2; 3; 3) => 1: 1; 2: 1; 3: 2 (die Zahlen 1 und 2 sind jeweils einmal in der Liste enthalten, die 3 zweifach)
- zaehlen(10xW6) => … (liefert die Anzahl der Vorkommen aller Zahlen in 10 Würfelergebnissen)
- Beispiel:
- zaehlenwenn(a; b;…) – zählt die Anzahl der Werte von b,…, die gleich a sind
- Beispiele:
- zaehlenwenn(2; 1; 2; 3) => 1 (die Zahl 2 ist in der Liste einmal enthalten)
- zaehlenwenn(2; 10xW6) => … (liefert die Anzahl der Vorkommen von 2 in 10 Würfelergebnissen)
- Beispiele:
- kniffel(a; b; c; d; e) – wertet 5 Zahlen (a bis e) im Sinne von Kniffel aus und liefert die möglichen Ergebnisse
- Beispiele:
- kniffel(5xd6) => z. B.: Einsen: 2 Zweier: 2 Dreier: 0 Vierer: 0 Fünfer: 10 Sechsen: 0 Dreierpasch: 0 Viererpasch: 0 Full House: 0 Kleine Straße: 0 Große Straße: 0 Kniffel/Yahtzee: 0 Chance: 14
- Beispiele:
- zehntausend(a; b; c; d; e) – wertet 5 Zahlen (a bis e) gemäß der Regeln des Würfelspiels 1000 aus.
- Beispiele:
- zehntausend(5xd6) => 450. Details: Einsen: 100 Dreierpasch aus Dreien: 300 Fünfen: 50
- Beispiele:
- exp(a) – berechnet ea
- Beispiele:
- exp(7) => 1096.633158428458
- Beispiele:
- hoch(a; b) – berechnet ab
- Beispiele:
- hoch(2; 3) => 8
- Beispiele:
- lookup(a; b; c…) – Nachschlagefunktion, bei der der Wert a im nachfolgenden Array gesucht wird und dann der passende Wert ausgegeben wird. Falls keiner der Schlüsselwerte im Array exakt übereinstimmt, wird der optional angegebene letzte Wert oder false ausgegeben.
- Beispiele:
- lookup(3; 1; “a”; 2; “b”; 3; “c”; “d”) => “c”
- lookup(3; 1; “a”; 2; “b”; “d”) => “d”
- lookup(3; 1; “a”; 2; “b”) => false
- Beispiele:
- minlookup(a; b; c…) – Nachschlagefunktion, bei der der Wert a im nachfolgenden Array gesucht wird und dann der passende Wert ausgegeben wird. Es gilt der größte Schlüsselwert, der kleiner als a ist, ansonsten wird der optional angegebene letzte Wert oder false ausgegeben.
- Beispiele:
- minlookup(3; 2; “a”; 4; “b”; 6; “c”; “d”) => “a”
- minlookup(1; 2; “a”; 4; “b”; “d”) => “d”
- minlookup(1; 2; “a”; 4; “b”) => false
- Beispiele:
- maxlookup(a; b; c…) – Nachschlagefunktion, bei der der Wert a im nachfolgenden Array gesucht wird und dann der passende Wert ausgegeben wird. Es gilt der kleinste Schlüsselwert, der größer als a ist, ansonsten wird der optional angegebene letzte Wert oder false ausgegeben.
- Beispiele:
- maxlookup(3; 2; “a”; 4; “b”; 6; “c”; “d”) => “b”
- maxlookup(7; 2; “a”; 4; “b”; “d”) => “d”
- maxlookup(7; 2; “a”; 4; “b”) => false
- Beispiele:
Daneben kann der @RollButler auch noch einige Berechnungen durchführen, die weniger Zusammenhang mit Würfeln haben:
- bmi(a; b) – berechnet den Body-Mass-Index bei angegebenem Gewicht in kg und Körpergröße in cm
- md5(a) – berechnet die MD5-Prüfsumme von a
- sha1(a) – berechnet die SHA1-Prüfsumme von a
- hash(a; b) – berechnet die Prüfsumme von b basierend auf dem Algorithmus a (md2, md4, md5, aha1, sha256, sha384, sha512, ripemd128, ripemd160, ripemd256, ripemd320, whirlpool, tiger128,3, tiger160,3, tiger192,3, tiger128,4, tiger160,4, tiger192,4, snefru, gost, adler32, crc32, crc32b, haval128,3, haval160,3, haval192,3, haval224,3, haval256,3, haval128,4, haval160,4, haval192,4, haval224,4, haval256,4, haval128,5, haval160,5, haval192,5, haval224,5, haval256,5)
- rot13(a) – codiert den Text a im ROT 13 Verfahren
- adfgx(a; b; c; d …) – codiert einen Text (letzter Parameter) mit den Kennworten a, b, c … im ADFGX Verfahren (nur Buchstaben)
- adfgvx(a; b; c; d …) – codiert einen Text (letzter Parameter) mit den Kennworten a, b, c … im ADFGVX Verfahren (nur Buchstaben und Ziffern)
- tapcode(a; b …) – erzeugt den Klopfzeichencode für die Texte a, b …
- morse(a; b …) – erzeugt den Morsecode für die Texte a, b …
- caesar(a; b …) – erzeugt eine einfache Cäsar-Verschlüsselung (A = 1, B = 2 …) der Texte a, b …
- kill(a) – unterdrück die Ausgabe von a. Diese Funktion kann hilfreich sein, wenn in Zusammenhang mit der text() Funktion Ergebnisse präsentiert werden sollen.
- Beispiele:
- kill(3W6+20) => 0
- Beispiele:
- string(a; b; c …) – wandelt die Parameter a, b, c … ohne Trennzeichen in einen Text um
- Beispiele:
- string(3xW12) => “7103”
- Beispiele:
- glue(a; b; c …) – wandelt die Parameter b, c … in einen Text um und verkettet diese mit a
- Beispiele:
- glue(“,”;3xW12) => “7,10,3”
- Beispiele:
- split(a; b; c …) – teilt die Texte b, c … in eine Liste von Strings der maximalen Länge a
- Beispiele:
- split(5;”Dies ist ein Beispiel”) => “Dies “, “ist e”, “in Be”, “ispie”, “l”
- Beispiele:
- text(a; b; c …) – Textausgabe von a. Wenn weitere Parameter b, c… angegeben wurden, können diese mit den Platzhaltern $1, $2… im Text a ausgegeben werden.
- Beispiele:
- text(“Das Ergebnis ist $1”;3W6+20) => “Das Ergebnis ist 34”
- text(“Wurf 2 ist $2, Wurf 1 war $1”;W10;W20) => “Wurf 2ist 18, Wurf 1 war 2”
- Beispiele:
Gibt es eine Möglichkeit die höchsten/niedrigsten Werte aus einem Wurf mit mehreren Würfeln auszugeben?
Ich kenne es aus anderen Programmen, wo man z.B. 4W6H3 verwenden kann um 4 W6 zu werfen und die höchsten 3 zusammen zu zählen.
Hi,
in der Tat ist dies möglich, aber leider nicht ganz so trivial.
/roll last(3;sort(4xW6))
um sich nur die höchsten drei Werte anzeigen zu lassen oder
/roll sum(last(3;sort(4xW6)))
um deren Augensumme zu ermitteln.
Zugegeben, das ist etwas sperrig, aber ich schau mal, ob ich in einem der kommenden Updates diese ‘H’ Option mit einbaue.
So, jetzt ist die Option ‘H’ auch implementiert:
/roll 4W6H3
liefert nur die Augensumme der drei höchsten Werte bei vier Sechsseitern.
Und
/roll 4W6B3
macht das gleiche, nur mit den drei kleinsten Werten.
Hallo!
Wie schaffe ich es, dass die explodierenden Würfel summiert werden?
Hintergrund:
Aktuell versuche ich, für L5R eine Roll-and-keep-Mechanik ausprobieren; dort explodieren die Würfel allerdings in Summe (wenn ein Zehner als Siebener weitergewürfelt wird, ist der Würfel also 17 wert…) und sollten damit anders in die H-Option laufen als bislang als separate Zehner und Siebener…
Danke,
Dominic
Hi,
gibt es die Möglichkeit eine Zahl mit zwei Erfolgen/ Fehlschlägen zu belegen, und dann die Zahl der Erfolge/ Fehlschläge anzeigen zu lassen?
Hi,
das ist bedingt möglich über den Trigger. Beispiel 10D6F1E4T6 (oder kürzer: 10DFE4T), dabei werden Einsen als Fehlschlag, Werte ab 4 als Erfolg und Sechsen (zusätzlich) als Trigger gewertet. In der Ausgabe steht dann beispielsweise
Erfolge 6,
Fehlschläge 2,
effektive Erfolge +4,
Trigger 1
Für den gewünschten Effekt müssten nun (noch im Kopf) die Trigger noch zu den Erfolgen (und dem effektiven Erfolg) hinzugerechnet werden, also in diesem Beispiel: 7 Erfolge, effektive Erfolge +5.
Automatisch geht dies mit folgender Formel: e(10dfe4t6)+t($1)
e() liefert die Anzahl der Erfolge (und nicht die Augensumme) der in der Klammer angegebenen Würfelinstruktion.
t() liefert analog die Anzahl der Trigger.
$1 referenziert auf die erste ausgeführte Würfelinstruktion, t($1) liefert damit in diesem Beispiel die Zahl der Trigger der vorangegangenen Würfelei.
Ich nehme die Idee allerdings einmal auf und überlege, ob dafür auch eine geeignete Option sinnvoll wäre, aber kürzer wird es dadurch nicht …
Ich hoffe, das hilft.
Hej, ich sehe gerade, das es für Alien bereits eine Mechanik/ein Makro ähnlich der gibt, die ich derzeit für V5 suche – Vampire, 5. Edition. Hier werden W10 gegen 6 gewürfelt, und in den meisten Lagen werden sog. Hungerwürfel in den Pool eingestreut. Zwei Zehner sind besondere Erfolge und werden als 4 Erfolge gezählt, besondere Ergebnisse aus den Hungerwürfeln haben noch andere Effekte.
Klingt in der Grundlage sehr ähnlich wie die Sache mit den Stresswürfeln. Lässt sich das auch als Makro (zB _v5?) einrichten? Würde ungern einen zweiten Bot zum würfeln installieren müssen.
Hallo Andreas,
danke für den Hinweis. Ich freue mich immer, wenn ein Vorschlag für eine Erweiterung kommt. Ich habe mir den Vampire The Masquerade V5 Schnellstarter einmal gezogen und versuche nun – siehe PN – in die Regelmechanismen einzusteigen.
Schönen Gruß,
Michael
Hallo Michael,
ich habe mich auch gerade an einer Umsetzung für Vampire versucht und habe aktuell diese Lösung für mich herausgeknobelt:
/r 5xd(4xErfolg;1xKritisch;5x.)+8xd(4xErfolg;1xBiestKritisch;3x.;1xBeastFailure)
5xd(4xErfolg;1xKritisch;5x.) stellt die schwarzen Würfel dar und der zweite Teil den roten. Das ist noch nicht so optimal, aber hilft mir erstmal.
Viele Grüße
Selina
Hallo Selina,
danke, dass Du die die Mühe gemacht hast.
Für V5 hatte ich zwei Makros realisiert _v5() mit einem, bzw. zwei Parametern. Dahinter stecken die folgenden Formeln:
S(aD10S6T)+if(T($1)>1;2;0)
bzw.
S(aD10S6T)+S(bD10S6T)+if(T($1)+T($2)>1;2;0)
mit a als erstem, b als zweitem Parameter.
Deine Formel /r 5xd(4xErfolg;1xKritisch;5x.)+8xd(4xErfolg;1xBiestKritisch;3x.;1xBeastFailure) hat den Haken, dass mathematisch mit “Erfolg” keine Rechenoperation (“+”) durchgeführt werden kann – das ist halt keine Zahl.
Der zweite Würfel bei Dir hat darüber hinaus nur 9 Werte, also ein W9 – ist das so beabsichtigt?
Meine zweite Formel löst das Problem, indem Erfolge und Trigger genutzt werden.
a 10-Seiter, Werte 6 und größer sind Erfolge, die 10 sogar ein Trigger
b ebensolche 10-Seiter
Von beiden werden die Erfolge gezählt und addiert. Danach noch einmal die Trigger der beiden Würfe, damit die kritischen Erfolge halt doppelt zählen.
Den BeastFailure kann man mit einem Fehlschlag realisieren, dann wäre das
S(aD10S6T)+S(bD10S6TF)+if(T($1)+T($2)>1;2;0)
In dem Fall müssten dann aber a die regulären und b die Hunger-Würfel sein.
Im Endeffekt müsste das noch etwas komplexer werden um Messy critical und Bestial failure mit abbilden zu können.
Schönen Gruß,
Michael
Wäre es möglich für (unter Anderem) Savage Worlds einen Kartendeck mit oder ohne Joker zu implementieren?
Müsste nicht mal ein richtiges Deck (ohne Zurücklegen) sein, mir würde schon ein Makro für die Kartennamen reichen
Beispiel:
“/r deck(3)” entspräche “/r 3W{Herz 2; Herz 3; Herz 4;…..}”
Hay,
kann man die Würfel Ergebnisse auch jemals addieren?
also so das das Ergebnis von 2w12 jeder Würfel mit 2 addiert wird.
damit ich nicht schreiben muss 1w12+2+1w12+2
Hi,
die triviale Lösung ist natürlich 2w12+4, aber ich vermute, Du möchtest die einzelnen Würfelergebnisse um je 2 erhöht und ausgegeben haben. Das geht aktuell so wohl nicht, ist aber ein berechtigtes Feature, das ich einmal mit aufnehme.
Nachtrag: das neue Feature ist implementiert und geht demnächst in die Produktionsinstanz des RollButlers. Die Würfelinstruktion lautet dann z. B.
/r 2x(d12+2)
Hi _dsa(10;11;12;-4) liefert einen fehler
kann das intern in _dsa(6;7;8;0) uebersetzt werden?
gibt es eine option für die Star Wars D6 joker würfel?
in Star Wars D6 gibts nur D6.
es wird jedes mal die summe aller d6 gebildet
ein würfel in jedem wurf ist der joker.
wenn der joker ne 1 ist wird der joker und der höchste würfel abgezogen aka auf 0 gesetzt (bei 1d6 wird einfach nur der d6 entfernt aka auf 0 gesetzt)
wenn der joker ne 6 ist dann explodiert er aka wird neu gewürfelt und hinzugefügt bis keine 6 mehr gewürfelt wird
sprich 3d6 mit joker 6, 4, 3 = 13 +d6!!
gbts da ne Möglichkeit dsa umzusetzen?
Hi,
ich habe das nun auch als Makro hinterlegt:
/r _swd6(4)
Wobei die 4 hier im Beispiel für 4 Skill dice steht.
Das Ergebnis kann dann in Abhängigkeit vom Joker (Wild Die) wie folgt aussehen:
I rolled _swd6(4) for you which resulted in Wild die 9, Result native 14, Result regular 23.
Results: 2 3 4 5 6! (3).
… oder aber auch so:
I rolled _swd6(4) for you which resulted in Wild die 1, Result native 9, Result regular 10, Result extreme 4.
Results: 1 4 2 2 1.
Result extreme ist dann das von Dir beschriebene Verhalten bei einem Jokerwert von 1, also Summe aller Fertigkeitswürfel minus Joker (1) und minus dem höchsten Wert der Fertigkeitsürfel (hier:4). Da es aber für den Spielleiter auch andere Optionen gibt, werden auch diese berechnet als Result regular (Augensumme aller Würfel), Result native (Augensumme der Fertigkeitswürfel ohne Joker).
Hallo,
kann der RB auch die Vorteilsprobe von 5e mit Boni oder Mali abbilden?
Oder auch die (identische) Mechanik von Shadowdark?
LG
Lars
Hallo Lars,
wie in der PN schon geschrieben:
Ich hatte ja schon Makros für D&D implementiert, aber nicht mit der Bonus/Malus Regel. Das habe ich nun nachgeholt und damit ergeben sich nun folgende Optionen:
bei den (+2) Varianten kann auch zusätzlich der Zielwert mit angegeben werden, also z. B. _dnd+(+2;12) => max(2xd20)+2>=12
Ferner kann anstelle von “_dnd” auch “_5e” verwendet werden.
Hallo Michael,
ich hab das Werwolf-Makro entweder nicht verstanden oder es funzt nicht.
Habs mit /r wer(31;8) für 31w10 und Schwierigkeit 8 probiert. Kam aber nix bei raus.
LG
Lars
Hallo Lars,
der “Fehler” liegt am vergessenen Unterstrich vor dem “wer()”. Der korrekte Aufruf lautet
/r _wer(31;8)
und dann klappt es auch mit den Werwölfen.
Hallo,
ist es möglich, das ein Würfelkommentar automatisch kommentiert wird, wenn der Wurf 3 oder höher ist? Also ich werfe mit 1w6 eine 3 und dass mir der Bot automatisch sagt…”Du hast getroffen!”.
Grüße
Hallo Christian,
ja, das ist möglich. Die einfachste Variante ist einfach den passenden Vergleichsoperator und -wert mitzugeben, also z. B.
/roll d6>2
(oder kürzer: .rd>2)
Dann wird als Antwort „Erfolg“ oder „Fehlschlag“ mit ausgegeben.
Option 2 ist die Erfolgsschwelle in der Würfelinstruktion mit anzugeben: .rde3 (e3 bedeutet: Erfolge sind 3 und höher)
Option 3 ist die komplexeste:
.r text(„Du hast $1 getroffen!“; if(d<3;“nicht“;““))
Hallo,
ist es irgendwie möglich, dass der RollButler Erfolgsgrade ermittelt für Splittermond?
Man würfelt dort 2w10, addiert einen Wert dazu und vergleicht ihn mit der Schwierigkeit, wobei alle 3 Punkte über dem Wert ein Erfolgsgrad noch dazu kommt.
Würfelt man also 4 und 6, bei einem Wert von 14, hat man insgesamt 24. Was bei einer Schwierigkeit von 15 noch 3 Erfolgsgrade wären (18,21,24).
Kann man das automatisch abfragen?
Danke.
Hallo Martin,
ja, das geht mit der Funktion grad(). Das Kommando lautet dann wie folgt:
.r grad(2d10+14;15;3)
Der erste Parameter beinhaltet das Würfelergebnis (2d10+14), der zweite die Zielgröße für den ersten Erfolg (15) und danach die Schrittweite für weitere Erfolge (3).