Table of content
DiceParser: Čo to je?
DiceParser je softvérová komponenta určená na hádzanie kociek prostredníctvom jednoduchých príkazov. Táto softvérová komponenta je dostupná na rôznych platformách.
Napríklad: discord bot, súčasť Rolisteam, na twitteri atď.
O príkladoch v tejto dokumentácii
Pre jasnosť, všetky príklady v tejto dokumentácii neukazujú štartovací prefix. Nezabudnite prosím pridať príslušný prefix podľa toho, kde spúšťate príkaz kocky: Rolisteam, discord, IRC… Ak neviete, skúste !. Prefix umožňuje systému identifikovať váš príkaz.
Ako hodiť kockou
Je to naozaj jednoduché. Musíte zavolať:
!1d6
Prvé číslo je počet kociek, ktoré chcete hodiť. Druhé číslo má byť počet stien.
Príklady
!1d6
Hodiť jednou šesťstennou kockou.
!1d10
Hodiť jednou desaťstennou kockou.
!5d10
Hodiť piatimi desaťstennými kockami.
!777d6
Hodiť 777 šesťstennými kockami.
Vďaka viacerým operáciám a možnostiam môžete trochu doladiť váš príkaz hodu: pozrite si Zoznam operátorov.
Hádzanie kociek v rozsahu
!4d[-1..1]
Hod 4 kockami s hodnotou medzi -1 a 1. (systém Fudge/Fate)
!3d[0..9]
Hod 3 kockami s 10 stenami začínajúcimi od 0.
!3d[-20..-9]
Hod 3 kockami, hodnoty sú medzi -20 a -9.
Inštrukcie
Sčítanie (alebo akékoľvek aritmetické operácie) výsledkov z dvoch (alebo viacerých) druhov kociek je jednoduché:
!1d10+1d8
Na zobrazenie všetkých výsledkov bez vykonania akýchkoľvek operácií s týmito výsledkami. Použite ; na označenie viacerých inštrukcií.
!1d10;1d6 # 2 instructions
alebo
!5d6;1d10;4d100;3d20 # 4 instructions
Týmto spôsobom budete môcť vykonať nejaký výpočet, ak výsledok prvej inštrukcie spĺňa podmienku atď. Napríklad, ak chcete hodiť útok, druhá inštrukcia bude poškodenie. V tretej inštrukcii môžete porovnať výsledok útoku a overiť, či je útok platný. Môžete zobraziť:
Zlúčiť
Je možné zlúčiť každú inštrukciu do jednej veľkej. Operátor merge je na to určený. Je užitočný, keď potrebujete spravovať všetky výsledky kociek ako jeden výsledok.
Napríklad, ak potrebujete ponechať vyššiu kocku medzi d6 a d8.
!d6;d8mk1
Viac podrobností o operátore k v Zozname operátorov.
Výpočet medzi inštrukciami
Vďaka systému premenných je možné odkázať na výsledok konkrétnej inštrukcie.
- Na odkaz na prvú inštrukciu:
$1 - Na odkaz na druhú inštrukciu:
$2 - Na odkaz na tretiu inštrukciu:
$3atď… počet inštrukcií nie je obmedzený.
!8d10;$1c[>6];$1c1;$2-$3
- Prvá inštrukcia hodí 8 (10-stranných) kociek
- Druhá inštrukcia spočíta, koľko kociek je vyšších ako 6.
- Tretia inštrukcia spočíta, koľko kociek je rovných 1.
- Štvrtá inštrukcia odčíta výsledok tretej inštrukcie od výsledku druhej.
Zoznam operátorov
- k: Ponechať
- K: Explodovať a ponechať
- kl: Ponechať nižšie
- s: Zoradiť
- c: Počítať
- r: Znovu hodiť
- R: Znovu hodiť dokedy
- e: Explodovať
- a: Znovu hodiť a pridať
- @: Skok dozadu
- p: Zafarbiť kocky
- m: Zlúčiť
- i: ak
- ;: Ďalšia inštrukcia
- g: Zoskupiť
- b: viazať
- #: Komentár
Ponechať
!kX
Táto možnosť zoradí výsledný zoznam kociek a vyberie X vyšších kociek.
Explodovať a Ponechať
!KX
Kocky explodujú, ak ich hodnota je na maximum kocky, táto možnosť zoradí výsledný zoznam kociek a potom vyberie X vyšších kociek.
Príklady
!6d10K4
Hodíte 6 desaťstennými kockami, každá 10 exploduje. Hodnota explodovaných kociek je teda väčšia ako 10. Výsledok: 40 podrobnosti: 23 [10,10,3],9,5,3,1,1
Iný spôsob zápisu tohto príkazu je:
!6d10e10k4
Tento spôsob vám umožňuje zmeniť prah explózie.
Na výpočet počtu, ktorý chcete ponechať, operátor k spravuje premenné. Nemôžete priamo vložiť výpočet za k, ale môžete odkázať na predchádzajúci výpočet.
# Good
!5-3;10d10k$1
# BAD
!10d10k5-3
# BAD
!10d10k(5-3)
Ponechať nižšie kocky
klX
Táto možnosť zoradí výsledný zoznam kociek a potom vyberie X najnižších kociek.
Zoradiť
!3D10s
Zoznam kociek je zoradený zostupne.
!10d6sl
Hodí 6 šesťstenných kociek a potom sú zoradené vzostupne
Počítať
!3D10c[Validator]
Spočítajte, koľko kociek spĺňa podmienku a zobrazí číslo (Pozri Validátor pre viac podrobností o syntaxe)
Znovu hodiť
!3D10r[Validator]
Znovu hodí kockou, ak predchádzajúca hodnota zodpovedá validátoru (Pozri Validátor pre viac podrobností o syntaxe).
Znovu hodiť dokedy
!3D10R[Validator]
Funguje ako "Znovu hodiť", ale pokračuje v hádzaní kockami, kým podmienka nie je nepravdivá.
Explodovať
!3D10e[Validator]
Explodovať, kým hodnota zodpovedá Validátoru (Pozri Validátor pre viac podrobností o syntaxe).
!3D10e(3)[Validator]
Uzol explózie môže mať limit, koľkokrát kocka exploduje.
!3D10e(1d10)[Validator]
Limit je výraz.
Príklady
!3D10e10
Kým je hodnota kocky rovná 10, kocka sa hádže znova a jej výsledok sa pripočíta k predchádzajúcej hodnote kocky.
Výsledok: 49 podrobnosti: 8, 12 [10,2], 29 [10,10,9]
!3D10e[>8]
Kým je hodnota kocky väčšia ako 8, kocka sa hádže znova a jej výsledok sa pripočíta k predchádzajúcej hodnote kocky.
Výsledok: 35 podrobnosti: 3, 27 [9,10,8], 5
Pridať
!3D10a[Validator]
Znovu hodí kockou, ak jej hodnota zodpovedá Validátoru a pripočíta novú hodnotu k predchádzajúcej. Urobí to len raz.
Výskyt
!10d10o
Spočítajte a zoraďte výskyty každej hodnoty. Výsledok: 3x1,1x2,3x4,2x9,1x10 - [1,1,1,2,4,4,4,9,9,10]
!10d10o2,7
Spočítajte a zoraďte výskyt, keď sa vyskytne aspoň 2-krát, hodnota je 7 alebo viac. Výsledok: 2x8 - [1,2,3,5,6,7,8,8,9,10]
!10d10o2[<6]
Spočítajte a zoraďte výskyt, keď sa vyskytne aspoň 2-krát, hodnota musí zodpovedať validátoru (tu menej ako 6). Výsledok: 2x3,2x5 - [3,3,5,5,6,6,6,7,7,8]
Chyby
!10d10o[<6]
Tento príkaz spúšťa upozornenie. Keďže operátor výskytu môže mať 0 alebo 2 parametre. Ale iba jeden validátor zatiaľ nie je podporovaný.
Skok dozadu
Tento operátor je určený na aplikovanie nasledujúceho operátora na predposledný výsledok. Napríklad:
!8D10c[>=7]+@c[=10]
c[=10] v tomto príkaze počíta počet 10 vo výsledku 8D10, ak odstránite @, pokúsi sa spočítať počet 10 vo výsledku c[>=7]. Výsledok c[>=7] je skalárne číslo (1 alebo 2 ... (maximálna hodnota 8)); nie je to zoznam kociek.
Zafarbiť
!8D10p[1:blue]
Zafarbiť prvú kocku v zozname na modro
!8d10p[2:blue]
Zafarbiť dve prvé kocky v zozname na modro.
https://gist.github.com/obiwankennedy/62101383d411e55d205e44df78aa5299
Množstvo farieb závisí od klientskej aplikácie DiceParser.
- V Rolisteam môžete nastaviť ľubovoľný názov farby Qt alebo nastaviť hexkód vašej farby: #ff28AC.
- Aplikácia cli podporuje niekoľko farieb: čierna, biela, modrá, červená, čierna, zelená, žltá.
Filter
Operátor filtra vám umožňuje ignorovať niektoré výsledky kociek podľa validátora.
!4d6f[!=6]
Výsledok:
celkom: 11 - podrobnosti[5 2 6 4]
6 je ignorovaná.
Zlúčiť
Operátor zlúčenia sa používa na zhromažďovanie viacerých hodov kockami rôznych typov do jedného výsledku kocky a potom môžete aplikovať akýkoľvek operátor.
!1d6;1d8mk1
Tento príkaz zlúči výsledok z d6 a d8. Potom aplikuje operátor k na oba výsledky, aby ponechal najlepší. Buďte opatrní, tento operátor zlúčuje zoznam inštrukcií. Odkaz na inštrukciu (napríklad $1 atď.) nebude fungovať po operátore zlúčenia.
Rozložiť
Explodované kocky sa zmenia na nové kocky. Operátor je spustený pomocou y.
!4d6e6y6k3
Prvý výsledok: 10 [6, 4], 3, 3, 2
Výsledok po rozložení: 6, 4, 3, 2
Konečný výsledok: 6+4+3 = 13
Všetky rovnaké
Tento operátor je dočasný. Je určený na riešenie problémov so systémom Tunnels and Trolls. Preto je operátor markera t. Kocky explodujú, keď všetky kocky majú rovnakú hodnotu.
!2d6t
> # Explode twice because 2,1
Result: 12 - details:[2d6t (5 [2,1,2] 7 [2,1,4])]
> # Nothing happened
Result: 10 - details:[2d6t (4 6)]
Jedinečné
Explodované kocky sa zmenia na nové kocky.
!4d6e6u
Výsledok: 6 4 3 3 2 Konečný výsledok: 6+4+3 = 13
Zoznam hodnôt
Vytvorte si vlastný zoznam hodnôt a aplikujte ľubovoľný operátor kocky.
![10,25,43,8]k1
Získajte vyššie skóre z viacerých inštrukcií:
!1d10;2d6+9;1d20;[$1,$2,$3,$4]k1
Každá hodnota sa transformuje na kocku.
Viazať
Viazanie funguje presne ako zlúčenie, ale zachováva pole inštrukcií nedotknuté.
!2d8;2d12b;$2k2;$2k2kl1;"your total is $3 with lowest: $4"
Hodíte dvomi 8-strannými a dvomi 12-strannými kockami a potom viažete ich výsledky. Z tohto konečného výsledku ponecháme 2 vyššie kocky a potom izolujeme najnižšiu z dvoch najvyšších. Na záver zobrazíme výsledok vo vete.
Ak
Operátor if vám umožňuje vykonať jednu vec, ak sú niektoré podmienky pravdivé. Operátor if má 2 povinné parametre:
- Podmienka (pozri validátor)
- inštrukcia, ktorú treba vykonať, ak je pravdivá.
Existujú tiež 2 voliteľné parametre
- metóda porovnávania
- inštrukcia, ktorú treba vykonať, ak je nepravdivá.
i*[]{}{}
- *: metóda porovnávania
- []: validátor
Metóda porovnávania
Existujú 4 rôzne metódy.
- Na každú: podmienka je testovaná na každej kocke z predchádzajúcej časti príkazu. [Predvolená metóda]
- Na každú hodnotu
?: podmienka je testovaná na každej konečnej hodnote kocky z predchádzajúcej časti príkazu. - Všetky
*: Všetky kocky musia spĺňať podmienku, aby sa spustila pravdivá inštrukcia. Ak všetky kocky nespĺňajú podmienku, spustí sa nepravdivá inštrukcia. - Aspoň jedna
.: aspoň jedna kocka musí spĺňať podmienku, aby sa spustila pravdivá inštrukcia. Ak žiadna kocka nespĺňa podmienku, spustí sa nepravdivá inštrukcia. - Na skalár
:: podmienka sa vyhodnocuje na skalárnom výsledku hodu kockou.
Príklady:
!1d6i[<4]{3}
Ak je hodnota kocky menšia ako 4, hodnota kocky je 3. (Takže 1, 2, 3 sa stanú 3).
!4d6e6i[=4]{-4}
Ak má kocka hodnotu 4, odstráni ju. [Systém Kuro]
!4d6i.[=6]{+1d6}
Ak je aspoň jedna kocka rovná 6, hoďte ďalšou d6 a pridajte ju k výsledku.
!4d6i*[=6]{+1d6}
Ak sú všetky kocky rovné 6, hoďte ďalšou d6 a pridajte ju k výsledku.
!2d10i:[>15]{"Success"}{"Fail"}
Ak je súčet dvoch kociek väčší ako 15, zobrazí "Úspech", inak zobrazí "Neúspech".
!2d10i:[>15]{"Success %1 "}{"Fail %1"}
Rovnaké ako vyššie, ale konečný výsledok sa zobrazuje vedľa Úspechu alebo Neúspechu.
!2d10i:[>15]{"Success %1 [%2]"}{"Fail %1 [%2]"}
Rovnaké ako vyššie, ale výsledok každej kocky sa zobrazuje v hranatých zátvorkách.
Zoskupiť
Zoskupte kocky a potom spočítajte počet skupín (systém 7th sea).
Komplexný výstup
Operátor skupiny môže mať parameter na aktiváciu komplexného výstupu. Tento výstup zobrazí každú skupinu a všetky hodnoty, ktoré zostali bokom, ak nejaké sú. Na aktiváciu tohto výstupu je potrebné pridať s hneď za g. Pozrite si príklad nižšie:
Príklad
!3d20g10
Toto hodí 3 kockami a potom sa pokúsi zoskupiť ich do skupín s hodnotou 10. Ak dostanete 9 9 2, môžete vytvoriť iba jednu skupinu, ktorej hodnota je väčšia alebo rovná desiatim ({9,2}, druhá 9 je "premárnaná").
Operátor g môže zmeniť poradie kociek na vytvorenie skupín. Pri hádzaní 4d20g10, ak dostanete 7 4 3 6, výsledok bude 2 ({7,3} a {6,4}).
!5d10gs10
Potom bude konečný výstup:
2 ({7,3}, {6,4} - [2])
{7,3} a {6,4} sú skupiny a [2] zostáva bokom.
Switch case (S)
Operátor switch case vám umožňuje transformovať číselnú hodnotu na text. Jeho cieľom je uľahčiť to v porovnaní s použitím viacerých if. Ako môžete očakávať, jeho syntaxa je blízka if.
!1d100S[<50]{"Low"}[>=50]{"Low"}
Môžete tiež pridať predvolenú možnosť
!1d4S[=1]{"Low"}[=2]{"small"}[=3]{"medium"}{"big"}
Exkluzívny režim: Tento režim je povolený, keď za S nasleduje ^.
!1d100S^[<25]{"Low"}[<50]{"small"}[<75]{"medium"}[>=75]{"big"}
Komentár
!2D6 # Sword attack
Zobrazí "Útok mečom" a výsledok dvoch kociek. DiceParser ignoruje všetko za #. Celá časť je považovaná za jeden komentár. Takže DiceParser môže odpovedať na otázku:
!1L[yes,no] # Am I evil ?
Som zlý? áno
Transformovať
Transformujte kocky podľa podmienky na inú hodnotu.
!5d10T[>5]{15}
Hodíte 5 desaťstennými kockami a potom nahradíte všetky hodnoty väčšie ako 5 hodnotou 15 a ostatné hodnotou 0.
(6,9,7,5,2) => (15,15,15,5,2)
Tento operátor akceptuje viacero podmienok: T[=5]{15}[=6]{16}
(6,9,7,5,2) => (16,9,7,15,2)
Môžete tiež pridať záverečný výraz na zmenu hodnoty všetkých kociek, ktoré nespĺňajú podmienku: T[>5]{15}{0}
(6,9,7,5,2) => (15,15,15,0,0)
Funkcie
DiceParser poskytuje funkcie na prácu s inštrukciami. Niektoré funkcie prídu čoskoro (napr.: max, min). Umožní spravovať viacero príkazov naraz.
Opakovať
!repeat(1d10,5)
Výstup:
2 - Details [2]
8 - Details [8]
3 - Details [3]
1 - Details [1]
10 - Details [10]
Pozor! Buďte opatrní, repeat nefunguje dobre s príkazmi s viacerými inštrukciami
Podlaha (zaokrúhľovanie nadol)
- 15/7 = 2.14286
- Floor(15/7) = 2
Príkaz:
15/7;**floor($1)**;ceil($1);round($1)
result: 2.14286,**2**,3,2
Strop (zaokrúhľovanie nahor)
- 15/7 = 2.14286
- Ceil(15/7) = 3
Príkaz:
15/7;floor($1);**ceil($1)**;round($1)
result: 2.14286,2, **3** ,2
Zaokrúhliť
- 15/7 = 2.14286
- Round(15/7) = 2
Príkaz:
15/7;floor($1);ceil($1);**round($1)**
result: 2.14286,2,3, **2**
Výstup
DiceParser poskytuje funkcie na ovládanie výstupu príkazu. Posledná inštrukcia musí byť reťazcová inštrukcia. Reťazcová inštrukcia začína " a končí ".
Hod:
"result"
Výstup: result
Môžete nastaviť reťazcovú inštrukciu vo vnútri operátora if:
1d6i:[>3]{"Success"}{"Fail"}
Výstup: Úspech alebo Neúspech
Ponúka rýchlu odpoveď, ale niekedy potrebujete vidieť hodené hodnoty. DiceParser môže nahradiť niektoré špeciálne tagy, aby ste videli hodnoty, výsledok výpočtu a čokoľvek iné.
Skratky
Existujú 3 skratkové tagy.
%1: posledný skalárny výsledok z každej inštrukcie.%2: všetky výsledky kociek.%3: posledný skalárny výsledok z poslednej inštrukcie.
Predvolený výstup je %1 details[%2]. Zobrazuje teda posledný skalárny výsledok každej inštrukcie a výsledok kocky.
%1 a %3 sú ekvivalentné, keď je iba jedna inštrukcia (žiadny ;).
Sú naozaj užitočné, ale ak máte mnoho inštrukcií, môže to byť trochu neprehľadné.
Konečný výsledok
Je tiež možné nastaviť odkaz na konečnú hodnotu konkrétnej inštrukcie (výsledok by mal byť číslo alebo reťazec)
- Na odkaz na prvú inštrukciu:
$1 - Na odkaz na druhú inštrukciu:
$2 - Na odkaz na tretiu inštrukciu:
$3
Neexistuje žiadny limit na počet inštrukcií.
Reťazec ako konečný výsledok
Môžete odkázať na čiastkový výsledok reťazcového výsledku pridaním [x] za odkaz na inštrukciu. Pozrime sa na príklad, bude to ľahšie pochopiteľné.
!2Lu[cats,dogs,rats,rabbits,bats,squirrels]
Predvolený výsledok vyzerá takto:
cats,bats
Teraz chceme vytvoriť vetu s týmto textom:
!2Lu[cats,dogs,rats,rabbits,bats,squirrels];"You love $1 and you are afraid of $1"
Keďže $1 odkazuje na "cats,bats", zobrazí:
You love cats,bats and you are afraid of cats,bats
Takže to nie je naozaj užitočné. Aby sme to trochu vylepšili, musíme pridať niektoré subindexe.
!2Lu[cats,dogs,rats,rabbits,bats,squirrels];"You love $1[0] and you are afraid of $1[1]"
Potom máme správny výstup.
Milujete mačky a bojíte sa netopierov
Pozrime sa na niekoľko príkladov:
!8d10;$1c[>6];$1c1;$2-$3
Predvolený výstup zobrazuje: 45,4,0,4 details[4,3,10,7,2,2,7,10]
!8d10;$1c[>6];$1c1;$2-$3i:[>0]{"%3 Success[%2]"}{i:[<0]{"Critical fail %3 [%2]"}{"Fail %3 [%2]"}}
Tu sú niektoré príklady výstupu:
4 Úspech[4,3,10,7,2,2,7,10]Neúspech 0 [10,3,1,1,2,2,7,5](2 úspešné - 2 neúspešné = 0)Kritický neúspech -2 [1,3,1,1,2,2,7,5](1 úspech - 3 neúspechy = -2)
V tomto príklade nastáva kritický neúspech, keď je viac neúspechov ako úspechov. V nasledujúcom príklade nastáva kritický neúspech, keď nebol žiadny úspech a aspoň jeden neúspech.
!8d10;$1c[>6];$1c1;$2-$3;$4i:[=0]{"Fail $4 [%2]"}{$4i:[>0]{"$2 Success[%2]"}{$2i:[=0]{"Critical Fail $4 [%2]"}{"Fail $4 [%2]"}}}
Ďalší príklad, ako kombinovať reťazec a výsledok kocky.
!1d6+1;1L[gold coins,spell scrolls,weapons];"You found $1 $2"
Našli ste 5 zlatých mincí
Výsledok kocky
DiceParser poskytuje tagy na zobrazenie výsledku kocky (a každej hodetej hodnoty z konkrétnej inštrukcie).
Na zobrazenie hodnôt kocky z konkrétnej inštrukcie jednoducho pridajte @ za číslom inštrukcie (napr.: @1)
!2d6;3d8;"Result $2 - d8:[@2] - d6:[@1]"
Výstup:
Result 15 - d8:[7,4,4] - d6:[3,6]`
Nový riadok
Možno budete potrebovať zobraziť výsledok na viacerých riadkoch. Je to naozaj jednoduché:
!1d100;1d10;"Attack: $1\nDamage: $2"
Tento príkaz zobrazí:
Attack: 31
Poškodenie: 7
Aritmetika
Rolisteam Dice Parser dokáže vypočítať primárne aritmetické operácie ako: +, -, /, * a tiež spravuje prioritu týchto operátorov a dokáže spravovať aj zátvorky.
!8+8+8
Result: 24
!24-4
Result: 20
!(3+4)*2
Result: 14
!7/2
Result: 3.5
!15|6
Result: 2
!15/6
Result: 2.5
Hodíte 2 kockami a pripočítate 3 k súčtu týchto kociek. Potom sa výsledok použije na hádzanie kockami: !(3+2D6)D10
Aritmetika a kocky
Na kocky je možné používať aritmetické operácie. Upozorňujeme, že predvolená operácia na prevod zoznamu kociek na skalár je súčet. Ak teda hodíte 3d6, výsledkom bude zoznam s 3 hodnotami {2, 5, 1}. Teraz trochu zmeníme príkaz 3d6+4: Vyriešy sa takto: {2, 5, 1} = 8; 8+4 = 12. Konečný výsledok je 12.
!3d6+4⇾ Hodiť 3 kocky; súčet výsledku; a pridať 4:!10D10-2⇾ Hodiť 10 kociek; súčet výsledku; a potom odčítať 2!87-1D20⇾ Odčítať výsledok 1 kocky od 87!(6-4)D10⇾ Odčítať 4 od 6 a potom hodiť dvoma kockami.!1D10/2⇾ Vydeliť výsledok 1 kocky číslom 2.!(2+2)**2⇾ Výsledok: 16!1d10**2⇾ Hodiť 1d10 a potom vynásobiť výsledok samým sebou.!15|2⇾ Celočíselné delenie 15 číslom 2. Výsledok: 7!15/2⇾ Delenie 15 číslom 2. Výsledok: 7.5
Validátor
Existuje päť druhov validátorov:
- Skalár
- Rozsah
- Boolovský výraz
- Podmienková operácia
- Zložený
Každý operátor, ktorý vyžaduje validátor (ako napríklad a,r,e,c), môže používať tieto tri druhy.Každý operátor, ktorý vyžaduje validátor (napríklad a,r,e,c), môže používať tieto tri druhy.
Skalár
Skalárna hodnota nastavuje validátor na rovnosť medzi hodnotou kocky a validátoromSkalárna hodnota nastaví validátor na rovnosť medzi hodnotou kocky a validátorom
!4d10e10
Tento príkaz znamená: hodiť 4 kockami a explodujú pri výsledku 10.
Rozsah
Rozsah je definovaný ako dve hranice. Musíte použiť hranaté závorky a dve hranice sú oddelené ...Rozsah je definovaný dvoma hranicami. Musíte použiť hranaté zátvorky a obe hranice sú oddelené znakmi ...
!4d10c[8..10]
!1d[-1..8]
Boolovská podmienka
Príkaz spočíta, koľko kociek má hodnoty medzi >=8 a <=10.
!4d10c[>7]
Príkaz spočíta, koľko kociek má hodnotu vyššiu ako 7.
Porovnávací operátor
Analyzátor kociek Rolisteam umožňuje používať niekoľko logických operátorov:
- Rovná sa:
= - Väčší alebo rovný:
>= - Menší alebo rovný:
<= - Menší:
< - Väčší:
> - Rozdielny:
!=
Metódy porovnávania
Rovnako ako pri operátore if môžete zadať metódu porovnávania.
- Na každú: podmienka je testovaná na každej kocke z predchádzajúcej časti príkazu. [Predvolená metóda]
- Na každú hodnotu
?: podmienka je testovaná na každej konečnej hodnote kocky z predchádzajúcej časti príkazu. - Všetky
*: Všetky kocky musia spĺňať podmienku, aby sa spustila pravdivá inštrukcia. Ak všetky kocky nespĺňajú podmienku, spustí sa nepravdivá inštrukcia. - Aspoň jedna
.: aspoň jedna kocka musí spĺňať podmienku, aby sa spustila pravdivá inštrukcia. Ak žiadna kocka nespĺňa podmienku, spustí sa nepravdivá inštrukcia. - Na skalár
:: podmienka sa vyhodnocuje na skalárnom výsledku hodu kockou.
Príklady:
!1L[7,8,9]c[>6]
Tento príkaz vráti 0, pretože nebola hodená žiadna kocka, takže výsledok 1L[7,8,9] je konečná hodnota.Tento príkaz vráti 0, pretože žiadna kocka nebola hodená, takže výsledok 1L[7,8,9] je konečná hodnota.
!1L[7,8,9]c[?>6]
Výstup: 1
!5d6e6sc[>=8]
Výstup:
0 podrobnosti: [8 [6,2] 2 1 1 1]
!5d6e6f[?>=16]
Výstup: Keďže konečný súčet sa rovná 11. Je menej ako 16, takže filter filtruje všetko.Výstup: Keďže konečný súčet je rovný 11, čo je menej ako 16, filter filtruje všetko.
0 podrobnosti: [2 4 1 3 1]
Konečný súčet je vyšší ako 16, takže celý výsledok je akceptovaný operátorom filtra.Konečný súčet je vyšší ako 16, takže celý výsledok je prijatý operátorom filtra.
23 podrobnosti: [3 6 3 5 6]
!5d6e6sc[:>=8]
Výstup:
1 podrobnosti: [8 [6,2] 2 1 1 1]
Podmienková operácia
Tento validátor ponúka modulo ako operáciu a booleovskú podmienku na overenie hodnoty:Tento validátor ponúka operáciu modulo a boolovskú podmienku na overenie hodnoty:
!4d10c[%2=0]
Spočítať, koľko párnych čísel bolo hodených.
!4d10c[%2=1]
Spočítať, koľko nepárnych čísel bolo hodených.
Zložený validátor
Validátor môže byť výsledkom niekoľkých validátorov.
!4d10c[>4&%2=0]
Spočítať všetky kocky väčšie ako 4 a párne [6,8,10].
Zložený validátor podporuje 3 logické operácie:
- A (AND) :
& - ALEBO (OR) :
| - Výlučné ALEBO (XOR) :
^
Zložený validátor akceptuje toľko validátorov, koľko potrebujete:
!9d100c[=1|=3|=5|=7|=11|=13|=17|=19|=23|=29|=31|=37|=41|=43|=47|=53|=59|=61|=67|=71|=73|=79|=83|=89|=97]
Operátor zoznamu
Textové hodnoty
Operátor L (alebo l) (znamenajúci zoznam) poskytuje spôsob na výber hodnoty zo zoznamu.Operátor L (alebo l) (znamenajúci zoznam) poskytuje spôsob, ako vybrať hodnotu zo zoznamu.
!1L[sword,bow,knife,gun,shotgun]
S komentárom
!1L[yes,no] # Am I evil ?
Som zlý? áno
Získanie jedinečných hodnôt
Parameter u požaduje jedinečné hodnoty.
!2Lu[yes,no]
Tento príkaz môže vrátiť yes,no alebo no,yes. Parameter u znemožňuje vrátiť yes,yes alebo no,noTento príkaz môže vrátiť yes,no alebo no,yes. Parameter u znemožňuje vrátenie yes,yes alebo no,no
Odstrániť čiarku medzi hodnotami
Predvolene sa výsledky zobrazujú s čiarkou medzi každou hodnotou. Môžete odstrániť čiarku parametrom nPredvolene sa výsledky zobrazujú s čiarkou medzi každou hodnotou. Čiarku môžete odstrániť pomocou parametra n
!2Ln[to,kyo]
Tento príkaz môže vrátiť toto, kyokyo, tokyo, kyoto.
Jedinečné bez čiarky
!2Lun[to,kyo]
alebo
!2Lnu[to,kyo]
Tieto príkazy môžu vrátiť tokyo alebo kyoto.
Číselné hodnoty
Ak je hodnota číslo, zaobchádza sa s ňou rovnako a môžete na nej vykonávať výpočty alebo použiť akýkoľvek operátor.Ak je hodnota číslo, spracováva sa takisto a môžete s ňou vykonávať výpočty alebo použiť ľubovoľný operátor.
!1L[-1,0,1,2,3,4]+7
Text a číslo zároveň
Neodporúča sa používať text a číslo v rovnakom operátore zoznamu. V súčasnosti sa správanie mení podľa výsledku. Ak je zvolená hodnota číslo, môžete vykonávať ďalšie výpočty, inak sa výsledok zobrazí priamo bez akejkoľvek kontroly nad ním.Neodporúča sa používať text a číslo v tom istom operátore zoznamu. V súčasnosti sa správanie mení podľa výsledku. Ak je zvolená hodnota číslo, môžete vykonávať ďalšie výpočty, inak sa výsledok zobrazí priamo bez akejkoľvek kontroly.
Správanie sa zmení v budúcej verzii tak, aby sa rozhodovanie zakladalo na súbore dát. Ak súbor dát obsahuje iba čísla, výpočet je možný. V opačnom prípade sa bude považovať za výsledok reťazca.Správanie sa zmení v budúcej verzii tak, aby sa rozhodnutie zakladalo na súbore údajov. Ak súbor obsahuje iba čísla, výpočet je možný. V opačnom prípade sa výsledok spracuje ako reťazec.
Zmena pravdepodobnosti
Existujú 2 hlavné spôsoby, ako ovládať pravdepodobnosť výberu zo zoznamu.
Metóda mravca
!1L[2,2,3,3,3,3,4,4,4,5]
alebo
!1L[arm,arm,leg,leg,chest,chest,chest,head]
Lenivá metóda
Podľa rozsahu:
!1L[1,2,3,4,5,6[6..10]]
Podľa váhy:
!1L[1[2],2[2],3[4]]
Viacero výsledkov:
1
3
1
2
2
1
2
3
1
2
3
2
2
3
Rôzne príklady
!3D100
Hodiť 3 kockami so 100 stranami
!10D10e[=10]s
Hodiť 10 kockami s 10 stranami, 10 exploduje a výsledok zoradiť.
!100291D66666666s
Hodiť 100291 kockami so 66666666666 stranami a výsledok zoradiť
!15D10c[>7]
hodiť 15 kockami s 10 stranami a spočíta počet kociek, ktoré sú nad 7hodiť 15 kockami s 10 stranami a spočítať počet kociek s hodnotou vyššou ako 7
!1D8+2D6+7
Hodiť 1 kockou s 8 stranami a pripočítať výsledok k 2 kockám so 6 stranami a pripočítať 7.Hodiť 1 kockou s 8 stranami a k výsledku pripočítať 2 kocky so 6 stranami a pridať 7.
!D25
hodiť 1 kockou s 25 stranami
!88-1D20
88 mínus hodnota 1 kocky s 20 stranami
!8+8+8
výpočet: 24
!1L[sword,bow,knife,gun,shotgun]
Jedno z týchto slov bude vybrané.
!8D10c[Validator1]-@c[validator2]
Hodiť 8 kockami s 10 stranami a potom spočítať, koľko kociek spĺňa podmienku Validátor1 a odpočítať počet kociek, ktoré spĺňajú Validátor2 a zobraziť číslo (Pozri Validátor pre viac podrobností o syntaxe)Hodiť 8 kockami s 10 stranami, potom spočítať, koľko kociek spĺňa podmienku Validátor1, a odčítať počet kociek, ktoré spĺňajú validátor2, a zobraziť číslo (podrobnosti o syntaxi nájdete v časti Validátor)
!8D10c[>=6]-@c[=1]
Systém Old World of Darkness.
!8D10c[>=7]+@c[=10]
Systém Exalted 2. edície.
Pridanie makra a poradia
Povedzme, že chceme definovať 2 makrá: a a aa.
Musím ich pridať od zložitejšieho názvu k najjednoduchšiemu.
Zlý príklad
a=> 1d10aa=> 2d10
Spustenie aa: Systém makier porovná aa s prvým makrom a a zodpovedá. Prvé vyhodnotenie, aa => 1d10a Druhé vyhodnotenie, 1d10a => 1d101d10 Konečný príkaz na vykonanie: 1d101d10Spustenie aa: Systém makier porovná aa s prvým makrom a a to zodpovedá. Prvé vyhodnotenie: aa => 1d10a Druhé vyhodnotenie: 1d10a => 1d101d10 Konečný príkaz na vykonanie: 1d101d10
Dobrý príklad
aa=> 2d10a=> 1d10
Keď spustím príkaz: aa. Systém makier porovná aa s aa: zhoda Prvé vyhodnotenie: aa => 2d10 Konečný príkaz na vykonanie: 2d10Keď spustím príkaz: aa. Systém makier porovná aa s aa: zhoda. Prvé vyhodnotenie: aa => 2d10 Konečný príkaz na vykonanie: 2d10
Niekoľko pravidiel
- Používajte regulárne výrazy na pridanie obmedzení pri substitúcii textu
- Používajte úplne odlišné názvy
- Vyhýbajte sa vzorom makier, ktoré sú zahrnuté v inom vzore makra
Malo by to fungovať správne.
Osvedčené postupy
Keďže DiceParser poskytuje čoraz viac funkcií, môžete nájsť niekoľko spôsobov, ako urobiť to isté. Tu chceme vysvetliť rozdiel medzi týmito rôznymi prístupmi. Potom budete môcť použiť ten správny.Keďže DiceParser poskytuje čoraz viac funkcií, môžete nájsť niekoľko spôsobov na dosiahnutie toho istého. Tu chceme vysvetliť rozdiel medzi týmito prístupmi. Potom budete vedieť použiť ten správny.
Hodiť rôznymi druhmi kociek a sčítať ich
Zlý príklad
!2d8;2d10m
Dobrý príklad
!2d8+2d10
Operátor zlúčenia je užitočný, keď chcete použiť operátor kocky na všetky hodené kocky.Operátor zlúčenia je užitočný, keď chcete použiť operátor kociek na všetky hodené kocky.
Zlý príklad
!1d20K1+1d10K1
Dobrý príklad
!1d20+1d10
Operátor k na ponechanie toľkých kociek, koľko hodíte, je dosť zbytočný, pretože je to predvolené správanie.Operátor k na zachovanie toľkých kociek, koľko hodíte, je dosť zbytočný, pretože ide o predvolené správanie.
Dokumentácia makier
Príklady a ďalšie informáciePríklady a ďalšie informácie
Hlásenie chýb a nové funkcie
Prosím vyplňte tiket v našom systéme sledovania chýb. Alebo nás kontaktujte cez discord alebo iným spôsobomProsím, vyplňte lístok v našom systéme sledovania chýb. Alebo nás kontaktujte na discorde alebo inými spôsobmi