Table of content

Razčlenjevalnik kock: Kaj je to?

DiceParser je programska komponenta, namenjena metanju kock s preprostimi ukazi. Ta programska komponenta je na voljo na različnih platformah.
Na primer: discord bot, vključen v Rolisteam, na Twitterju itd.

O primerih v tej dokumentaciji

Da bo jasno, vsi primeri v tej dokumentaciji ne prikazujejo zagonske predpone. Prosimo, ne pozabite dodati ustrezne predpone, navedene tam, kjer zaženete ukaz dice: Rolisteam, discord, IRC… Če ne veste, poskusite !. Predpona omogoča sistemu, da prepozna vaš ukaz.

Kako vreči kocko

Res je preprosto. Poklicati morate:

!1d6

Prva številka je število kock, ki jih želite vreči. Druga številka naj bo število stranic kocke.

Primeri

!1d6

Vrzi eno šeststransko kocko.

!1d10

Vrzi eno desetstransko kocko.

!5d10

Vrzi pet desetstranskih kock.

!777d6

Vrzi 777 šeststransko kocko.

Zahvaljujoč številnim operacijam in možnostim lahko nekoliko prilagodite svoj ukaz za kotaljenje: glejte Seznam operatorjev.

Vrzi kocke v območju

!4d[-1..1]

Vrzi 4 kocke z vrednostjo med -1 in 1. (Sistem Fudge/Fate)

!3d[0..9]

Vrzi 3 kocke z 10 stranmi, začenši z 0.

!3d[-20..-9]

Vrzi 3 kocke, vrednosti so med -20 in -9.

Seštevanje (ali katere koli aritmetične operacije) rezultatov dveh (ali več) vrst kock je enostavno:

!1d10+1d8

Za prikaz vseh rezultatov brez kakršnih koli operacij s temi rezultati uporabite ; za označevanje več ukazov.

!1d10;1d6 # 2 instructions

ali

!5d6;1d10;4d100;3d20  # 4 instructions

Tako boste lahko opravili nekaj izračunov, če rezultat prvega ukaza izpolnjuje pogoj in tako naprej. Na primer, če želite izvesti napad, bo drugi ukaz predstavljal domneve. V tretjem ukazu lahko primerjate rezultat napada in ugotovite, ali je napad veljaven. Prikažete lahko:

see more

Združi

Možno je združiti vsak ukaz znotraj enega velikega. Operator združevanja je namenjen temu. Uporaben je, kadar morate upravljati vse rezultate kock kot enak rezultat.

Na primer, če morate višje kocke ohraniti med d6 in d8.

!d6;d8mk1

Več podrobnosti o operatorju k v Seznam operatorjev.

Izračun med ukazi

Zahvaljujoč sistemu spremenljivk se je mogoče sklicevati na rezultat določenega ukaza.

  • Za sklicevanje na prvi ukaz: $1
  • Za sklicevanje na drugi ukaz: $2
  • Za sklicevanje na tretji ukaz: $3 itd. število ukazov ni omejeno.
!8d10;$1c[>6];$1c1;$2-$3
  • Prvi ukaz vrže 8 (10-stranskih) kock.
  • Drugi ukaz prešteje, koliko kock je večjih od 6.
  • Tretji ukaz prešteje, koliko kock je enakih 1.
  • Četrti ukaz odšteje rezultat tretjega ukaza od rezultata drugega.

Seznam operatorjev

  • k: Keep
  • K: Explode and keep
  • kl: Keep lower
  • s: Sort
  • c: Count
  • r: Reroll
  • R: Reroll until
  • e: Explode
  • a: Reroll and add
  • @: Backward Jump
  • p: Paint dice
  • m: Merge
  • i: if
  • ;: Next instruction
  • g: Group
  • b: bind
  • #: Comment

Keep – Obdrži

!kX

Možnost razvrsti nastali seznam kock in izbere kocko z X višjimi vrednostmi.

Explode and Keep – Eksplodiraj in obdrži

!KX

Kocke eksplodirajo, če je njihova vrednost na maksimumu kocke. Možnost razvrsti nastali seznam kock in nato izbere kocko z X višjimi vrednostmi.

Primeri

!6d10K4

Vrzi 6 10-stranskih kock, vsaka 10 eksplodira. Torej je vrednost eksplodiranih kock večja od 10. Rezultat: 40 podrobnosti: 23 [10,10,3],9,5,3,1,1

Drug način pisanja tega ukaza je:

!6d10e10k4

Ta način vam omogoča, da spremenite prag eksplozije.

Za izračun števila, ki ga želite obdržati, operator k upravlja spremenljivko. Izračuna ne morete neposredno postaviti za k, lahko pa se sklicujete na prejšnji izračun.

# Good
!5-3;10d10k$1 
# BAD
!10d10k5-3
# BAD
!10d10k(5-3)

Obdrži nižje kocke

klX

Možnost razvrsti nastali seznam kock in nato izbere kocko z X najnižjimi vrednostmi.

Sort – Razvrsti

!3D10s

Seznam kock je razvrščen v padajočem vrstnem redu.

!10d6sl

Vrže 6 kock na 6 strani, nato pa so razvrščene v naraščajočem vrstnem redu.

Count – Štej

!3D10c[Validator]

Prešteje, koliko kock izpolnjuje pogoj, in prikaže število (za več podrobnosti o sintaksi glejte Validator).

Reroll - Ponovno meči

!3D10r[Validator]

Ponovno met kocke, če prejšnja vrednost ustreza validatorju (za več podrobnosti o sintaksi glejte Validator).

Ponovno met, dokler

!3D10R[Validator]

Deluje kot "Ponovno met", vendar se kocka meče, dokler pogoj ni napačen.

Explode – Eksplodiraj

!3D10e[Validator]

Eksplodiraj, dokler vrednost ne ustreza validatorju (za več podrobnosti o sintaksi glejte Validator).

!3D10e(3)[Validator]

Vozlišče Eksplodiraj ima lahko omejitev, kolikokrat bo kocka eksplodirala.

!3D10e(1d10)[Validator]

Omejitev je izraz.

Primeri

!3D10e10

Ko je vrednost kocke enaka 10, se kocka ponovno vrže in njen rezultat se prišteje k prejšnji vrednosti kocke.

Rezultat: 49 podrobnosti: 8, 12 [10,2], 29 [10,10,9]

!3D10e[>8]

Ko je vrednost kocke večja od 8, se kocka ponovno vrže in njen rezultat se prišteje k prejšnji vrednosti kocke.

Rezultat: 35 podrobnosti: 3, 27 [9,10,8], 5

Seštej

!3D10a[Validator]

Ponovno vrzi kocko, če njena vrednost ustreza validatorju, in novo vrednost prištej prejšnji. To stori samo enkrat.

Pojav

!10d10o

Preštej in razvrsti pojavitve vsake vrednosti. Rezultat: 3x1,1x2,3x4,2x9,1x10 - [1,1,1,2,4,4,4,9,9,10]

!10d10o2,7

Preštej in razvrsti pojavitve, ko se pojavijo vsaj 2-krat, vrednost je 7 ali več. Rezultat: 2x8 - [1,2,3,5,6,7,8,8,9,10]

!10d10o2[<6]

Preštej in razvrsti pojavitve, ko se pojavijo vsaj 2-krat, vrednost mora upoštevati validator (tukaj manj kot 6). Rezultat: 2x3,2x5 - [3,3,5,5,6,6,6,7,7,8]

Napake

!10d10o[<6]

Ta ukaz sproži opozorilo. Ker ima lahko operator pojavitve 0 ali 2 parametra. Vendar samo en validator še ni podprt.

Skoči nazaj

Ta operator je namenjen uporabi naslednjega operatorja na predzadnji rezultat. Na primer:

!8D10c[>=7]+@c[=10]

c[=10] v tem ukazu šteje število 10 v rezultatu 8D10, če odstranite @, bo poskušal prešteti število 10 v rezultatu c[>=7]. Rezultat c[>=7] je skalarno število (1 ali 2 ... (največja vrednost 8)); ni seznam kock.

Barvanje

!8D10p[1:blue]

Prvo kocko na seznamu pobarvaj modro

!8d10p[2:blue]

Prvi dve kocki na seznamu pobarvaj modro.

https://gist.github.com/obiwankennedy/62101383d411e55d205e44df78aa5299

Količina barve je odvisna od odjemalske aplikacije DiceParser.

  • Z Rolisteamom lahko nastavite ime katere koli barve Qt ali šestnajstiško kodo svoje barve: #ff28AC.
  • Aplikacija CLI podpira nekaj barv: črno, belo, modro, rdečo, črno, zeleno, rumeno.

Filter

Operator filtra vam omogoča, da prezrete nekatere rezultate metov kock, če je na voljo validator.

!4d6f[!=6]

Rezultat:

skupaj: 11 - podrobnosti [5 2 6 4]

številka 6 se prezre.

Združi

Operator združitve se uporablja za združevanje več metov kock različnih vrst kock v en rezultat, nato pa lahko uporabite poljuben operator.

!1d6;1d8mk1

Ta ukaz združi rezultat metov d6 in d8. Nato na oba rezultata uporabi operator k, da ohrani najboljšega. Bodite previdni, ta operator združi seznam ukazov. Referenca ukaza (kot je $1 itd.) ne bo delovala po operatorju združitve.

Razpršitev

Razstavljene kocke spremeni v nove kocke. Operator se sproži z y.

!4d6e6y6k3

Prvi rezultat: 10 [6, 4], 3, 3, 2
Rezultat po razporeditvi: 6, 4, 3, 2
Končni rezultat: 6+4+3 = 13

Vse enako

Ta operator je začasen. Namenjen je reševanju problema o sistemu tunelov in trolov. Zato je operator označevanja t. Kocke eksplodirajo, ko imajo vse kocke enako vrednost.

!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)]

Edinstveno

Eksplodirane kocke postanejo nove kocke.

!4d6e6u

Rezultat: 6 4 3 3 2 Končni rezultat: 6+4+3 = 13

Seznam vrednosti

Sestavite svoj seznam vrednosti in uporabite kateri koli operator kocke.

![10,25,43,8]k1

Dosezite višji rezultat z več navodili:

!1d10;2d6+9;1d20;[$1,$2,$3,$4]k1

Vsaka vrednost se pretvori v kocko.

Poveži

Funkcija »Bind« deluje popolnoma enako kot »merge«, vendar ohrani polje ukazov nedotaknjeno.

!2d8;2d12b;$2k2;$2k2kl1;"your total is $3 with lowest: $4"

Vržemo dve 8-stranski kocki in dve 12-stranski kocki, nato pa povežemo njuni rezultat. Z uporabo tega končnega rezultata obdržimo dve višji kocki in nato izoliramo najnižjo od dveh najvišjih. Na koncu rezultat prikažemo znotraj stavka.

If – če

Operator »if« pomeni, da vam omogoči, da storite eno stvar, če so nekateri pogoji izpolnjeni. Operator »if« ima 2 obvezna parametra:

  • Pogoj (glej validator)
  • navodilo, ki ga je treba izvesti, ko je izpolnjen.

Obstajata tudi 2 neobvezna parametra:

  • metoda »compare«
  • navodilo, ki ga je treba izvesti, ko je izpolnjen.

i*[]{}{}

  • *: metoda compare
  • []: validator

Metoda »Compare«

Obstajajo 4 različne metode.

  • On Each: pogoj se preizkusi na vsaki kocki iz prejšnjega dela ukaza. [Privzeta metoda]
  • Na vsako vrednost ?: pogoj se preveri za vsako končno vrednost kocke iz prejšnjega dela ukaza.
  • Vse kocke *: Vse kocke morajo ustrezati pogoju, da sprožijo pravilen ukaz. Če nobena kocka ne ustreza pogoju, se izvede lažen ukaz.
  • Ena kocka .: vsaj ena kocka mora ustrezati pogoju, da sproži pravilen ukaz. Če nobena kocka ne ustreza pogoju, se izvede lažen ukaz.
  • Na skalarno :: pogoj se oceni na podlagi skalarnega rezultata meta kocke.

Primeri:

!1d6i[<4]{3}

Če je vrednost kocke manjša od 4, je vrednost kocke 3. (Torej 1, 2, 3 postanejo 3).

!4d6e6i[=4]{-4}

Če ima kocka vrednost 4, jo odstrani. [Kuro System]

!4d6i.[=6]{+1d6}

če je vsaj ena kocka enaka 6, vržemo še eno kocko d6 in jo dodamo rezultatu.

!4d6i*[=6]{+1d6}

Če so vse kocke enake 6, vrzite še eno kocko d6 in jo prištejte k rezultatu.

!2d10i:[>15]{"Success"}{"Fail"}

Če je vsota dveh kock večja od 15, se prikaže »Uspeh«, sicer se prikaže »Neuspeh«.

!2d10i:[>15]{"Success %1 "}{"Fail %1"}

Enako kot zgoraj, vendar je končni rezultat prikazan poleg »Uspeh« ali »Neuspeh«.

!2d10i:[>15]{"Success %1 [%2]"}{"Fail %1 [%2]"}

Enako kot zgoraj, vendar je rezultat vsake kocke prikazan v oglatih oklepajih.

Skupina

Združite kocke in nato preštejte število skupin (sistem 7. morja).

Kompleksni izhod

Operator skupine lahko sprejme parameter za aktiviranje kompleksnega izhoda. Ta izhod bo prikazal vsako skupino in morebitne preostale vrednosti, če obstajajo. Za aktiviranje tega izhoda je treba dodati s takoj za g. Glejte spodnji primer:

Primer

!3d20g10

To bo vrglo 3 kocke in jih nato poskušalo združiti v skupine po 10. Če dobite 9 9 2, lahko ustvarite samo eno skupino, katere vrednost je večja ali enaka deset ({9,2}, druga 9 je »zapravljena«).

Operator g lahko prerazporedi kocke in ustvari skupine. Če pri metu 4d20g10 dobite 7 4 3 6, bo rezultat 2 ({7,3} in {6,4}).

!5d10gs10

Končni izhod bo nato:

2 ({7,3}, {6,4} - [2])

{7,3} in {6,4} sta skupini, [2] pa ostane ob strani.

Preklopi med velikimi in malimi črkami (S)

Operator preklopi med velikimi in malimi črkami vam omogoča pretvorbo številske vrednosti v besedilo. Njegov cilj je, da je to lažje kot uporaba več if-jev. Kot lahko pričakujete, je njegova sintaksa podobna if-ju.

!1d100S[<50]{"Low"}[>=50]{"Low"}

Dodate lahko tudi privzeto možnost.

!1d4S[=1]{"Low"}[=2]{"small"}[=3]{"medium"}{"big"}

Izključni način: Ta način je omogočen, ko za znakom ^ sledi S.

!1d100S^[<25]{"Low"}[<50]{"small"}[<75]{"medium"}[>=75]{"big"}

Komentar

!2D6 # Sword attack

Prikaži "Napad z mečem" in rezultat meta obeh kock. DiceParser prezre vse za #. Celoten del se obravnava kot en komentar. Tako lahko DiceParser odgovori na vprašanje:

!1L[yes,no] # Am I evil ?

Ali sem zloben? da.

Preoblikovanje

Preoblikuje kocke v skladu s pogojem v drugo vrednost.

!5d10T[>5]{15}

Vrzi 5 kock z 10 stranmi, nato pa vse vrednosti, večje od 5, zamenjaj s 15, ostale pa z 0.

(6,9,7,5,2) => (15,15,15,5,2)

Ta operator sprejema več pogojev: T[=5]{15}[=6]{16}

(6,9,7,5,2) => (16,9,7,15,2)

Dodate lahko tudi končni izraz, s katerim spremenite vrednost vseh kock, ki ne ustrezajo pogoju: T[>5]{15}{0}

(6,9,7,5,2) => (15,15,15,0,0)

Funkcije

DiceParser ponuja funkcije za obravnavo navodil. Nekatere funkcije bodo kmalu na voljo (npr.: max, min). Omogočil bo upravljanje več ukazov hkrati.

Ponovi

!repeat(1d10,5)

Izhod:

2 - Details [2]
8 - Details [8]
3 - Details [3]
1 - Details [1]
10 - Details [10]

Pozor! Bodite previdni, repeat ne deluje dobro z več ukazi

Floor

  • 15/7 = 2.14286
  • Floor(15/7) = 2

Ukaz:

15/7;floor($1);ceil($1);round($1)

rezultat: 2.14286,2,3,2

Ceil

  • 15/7 = 2.14286
  • Ceil(15/7) = 3

Ukaz:

15/7;floor($1);ceil($1);round($1)

rezultat: 2.14286,2, 3 ,2

Round

  • 15/7 = 2.14286
  • Round(15/7) = 2

Ukaz:

15/7;floor($1);ceil($1);round($1)

rezultat: 2.14286,2,3, 2

Izhod

DiceParser ponuja funkcije, ki vam omogočajo nadzor nad izhodom ukaza. Zadnji ukaz mora biti nizovni ukaz. Nizovni ukaz se začne z " in konča z ".

Kotaljenje:

"rezultat"

Izhod: rezultat

Nizovni ukaz lahko nastavite znotraj operatorja if:

1d6i:[>3]{"Uspeh"}{"Neuspeh"}

Izhod: Uspeh ali Neuspeh

Ponuja hiter odgovor, vendar včasih morate videti vržene vrednosti. DiceParser lahko nadomesti nekatere posebne oznake, da si ogleda vrednosti, rezultat izračuna in karkoli drugega.

Bližnjice

Obstajajo 3 oznake bližnjic.

  • %1: zadnji skalarni rezultat vsakega ukaza.
  • %2: vsi rezultati kock.
  • %3: zadnji skalarni rezultat zadnjega ukaza.

Privzeti izhod je %1 details[%2]. Torej prikazuje zadnji skalarni rezultat vsakega ukaza in rezultat kocke.

%1 in %3 sta enakovredna, če obstaja samo en ukaz (brez ;).

Sta res uporabna, vendar če imate veliko ukazov, lahko postaneta nekoliko neurejena.

Končni rezultat

Možno je nastaviti tudi sklic na končno vrednost določenega ukaza (rezultat mora biti številka ali niz).

  • Za sklicevanje na prvi ukaz: $1
  • Za sklicevanje na drugi ukaz: $2
  • Za sklicevanje na tretji ukaz: $3

Število ukazov ni omejeno.

Niz kot končni rezultat

Na podrezultat nizovnega rezultata se lahko sklicujete tako, da za sklicem na ukaz dodate [x]. Oglejmo si primer, lažje ga bo razumeti.

!2Lu[cats,dogs,rats,rabbits,bats,squirrels]

Privzeti rezultat je videti takole:

mačke,netopirji

Zdaj želimo sestaviti stavek s tem besedilom:

!2Lu[cats,dogs,rats,rabbits,bats,squirrels];"You love $1 and you are afraid of $1"

Ker se $1 nanaša na "mačke,netopirji", bo prikazalo:

Radi imate mačke,netopirje in se jih bojite.

Torej ni res uporabno. Da bi ga nekoliko izboljšali, moramo dodati nekaj podindeksov.

!2Lu[cats,dogs,rats,rabbits,bats,squirrels];"You love $1[0] and you are afraid of $1[1]"

potem imamo pravilen izhod.

Imate radi mačke in se bojite netopirjev.

Oglejmo si nekaj primerov:

!8d10;$1c[>6];$1c1;$2-$3

Privzeti izpis prikazuje: 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]"}}

Tukaj je nekaj primerov izpisa:

  • 4 Success[4,3,10,7,2,2,7,10]
  • Fail 0 [10,3,1,1,2,2,7,5] (2 uspeha - 2 neuspeha = 0)
  • Critical fail -2 [1,3,1,1,2,2,7,5] (1 uspeh - 3 neuspehi = -2)

V tem primeru se kritični neuspeh zgodi, ko je več neuspehov kot uspehov. V naslednjem primeru se kritični neuspeh zgodi, ko ni bilo uspeha in je bil vsaj en neuspeh.

!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]"}}}

Drug primer, ki prikazuje, kako združiti rezultat niza in kocke.

!1d6+1;1L[gold coins,spell scrolls,weapons];"You found $1 $2"

Našli ste 5 zlatih kovancev

Rezultat kocke

DiceParser ponuja oznake za prikaz rezultata kocke (in vsake vrnjene vrednosti iz določenega navodila).

Za prikaz vrednosti kock iz določenega ukaza preprosto dodajte @, ki mu sledi številka ukaza (npr.: @1).

!2d6;3d8;"Result $2 - d8:[@2] - d6:[@1]"

Izhod:

Rezultat 15 - d8:[7,4,4] - d6:[3,6]`

Nova vrstica

Rezultat boste morda morali prikazati v več vrsticah. Res je preprosto:

!1d100;1d10;"Attack: $1\nDamage: $2"

Ta ukaz bo prikazal:

Napad: 31 Škoda: 7

Aritmetika

Rolisteam Dice Parser lahko izračuna primarne aritmetične operacije, kot so: +, -, /, *, in upravlja tudi s prednostjo teh operatorjev ter oklepaje.

!8+8+8

Rezultat: 24

!24-4

Rezultat: 20

!(3+4)*2

Rezultat: 14

!7/2

Rezultat: 3.5

!(3+2D6)D10

Vrzite 2 kocki in vsoti teh kock dodajte 3. Rezultat se nato uporabi za metanje kock.

!15|6

Rezultat: 2

!15/6

Rezultat: 2.5

Aritmetika in kocke

Na kockah je mogoče uporabiti aritmetične operacije. Upoštevajte, da je privzeta operacija za pretvorbo seznama kock v skalar vsota. Če torej vržete 3d6, bo rezultat seznam s 3 vrednostmi {2, 5, 1}. Sedaj nekoliko spremenimo ukaz 3d6+4: Reši se takole: {2, 5, 1} = 8; 8+4 = 12. Končni rezultat je 12.

!3d6+4

Vrzi 3 kocke; seštej rezultat; in prištej 4

!10D10-2

Vrzi 10 kock; seštej rezultat; in nato odštej 2

!87-1D20

Odštej rezultat ene kocke do 87

!(6-4)D10

Odštej 4 do 6 in nato vrzi dve kocki.

!1D10/2

Rezultat ene kocke deli z 2.

!(2+2)**2

Rezultat: 16

!1d10**2

Vrzi 1d10 in nato rezultat pomnoži s samim seboj.

!15|2

Celoštevilsko deljenje 15 z 2. Rezultat: 7

!15/2

Deljenje 15 z 2. Rezultat: 7,5

Validator

Obstaja pet vrst validatorjev:

  • Skalar
  • Območje
  • Boolov izraz
  • Operacija Pogoj
  • Sestavljeni

Vsak operator, ki zahteva validator (kot je a,r,e,c), lahko uporablja te tri vrste.

Skalar

Skalarna vrednost nastavi validator na enakost med vrednostjo kocke in validatorjem.

!4d10e10

Ta ukaz pomeni: vrzite 4 kocke in te eksplodirajo pri 10.

Območje

Območje je definirano kot dve meji. Uporabiti morate oglate oklepaje, meji pa sta ločeni z ...

!4d10c[8..10]
!1d[-1..8]

Logični pogoj

Ukaz prešteje, koliko kock ima vrednosti med >=8 in <=10.

!4d10c[>7]

Ukaz prešteje, koliko kock je nad 7.

Operator primerjave

Razčlenjevalnik kock Rolisteam vam omogoča uporabo več logičnih operatorjev:

  • Enako: =
  • Večje ali enako: >=
  • Manjše ali enako: <=
  • Manjše: <
  • Večje: >
  • Različno: !=

Metode primerjave

Kot operator if lahko določite metodo primerjave.

  • On Each: pogoj se preizkusi na vsaki kocki iz prejšnjega dela ukaza. [Privzeta metoda]
  • Na vsako vrednost ?: pogoj se preveri za vsako končno vrednost kocke iz prejšnjega dela ukaza.
  • Vse kocke *: Vse kocke morajo ustrezati pogoju, da sprožijo pravilen ukaz. Če nobena kocka ne ustreza pogoju, se izvede lažen ukaz.
  • Ena kocka .: vsaj ena kocka mora ustrezati pogoju, da sproži pravilen ukaz. Če nobena kocka ne ustreza pogoju, se izvede lažen ukaz.
  • Na skalarno :: pogoj se oceni na podlagi skalarnega rezultata meta kocke.
Primeri:
!1L[7,8,9]c[>6]

Ta ukaz bo vrnil 0, ker kocka ni bila vržena, zato je rezultat 1L[7,8,9] končna vrednost.

!1L[7,8,9]c[?>6]

Izhod: 1

!5d6e6sc[>=8]

Izhod:

0 podrobnosti: [8 [6,2] 2 1 1 1]

!5d6e6f[?>=16]

Izhod: Ker je končna vsota enaka 11, je manjša od 16, zato filter filtrira vse.

0 podrobnosti: [2 4 1 3 1]

Končna vsota je višja od 16, zato operator filtra sprejme celoten rezultat.

23 podrobnosti: [3 6 3 5 6]

!5d6e6sc[:>=8]

Izhod:

1 podrobnosti: [8 [6,2] 2 1 1 1]

Operacija Pogoj

Ta validator ponuja operacijo modulo in logični pogoj za potrditev vrednosti:

!4d10c[%2=0]

Prešteje, koliko sodih števil je bilo vrženih.

!4d10c[%2=1]

Prešteje lihih števil je bilo vrženih.

modulo

Sestavljeni validator

Validator je lahko rezultat več validatorjev.

!4d10c[>4&%2=0]

Prešteje vse mete kock, večje od 4 in sode [6,8,10].

Sestavljeni validator podpira 3 logične operacije:

  • IN : &
  • ALI : |
  • Izključujoči ALI : ^

Sestavljeni validator sprejema toliko validatorjev, kot jih 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]

Operator seznama

Besedilne vrednosti

Operator L (ali l) (kar pomeni seznam) omogoča izbiranje vrednosti s seznama.

!1L[sword,bow,knife,gun,shotgun]

S komentarjem

!1L[yes,no] # Am I evil ?

Ali sem zloben? da.

Pridobivanje edinstvenih vrednosti

Parameter u zahteva edinstvene vrednosti.

!2Lu[yes,no]

Ta ukaz lahko vrne yes,no ali no,yes. Parameter u onemogoča vrnitev yes,yes ali no,no.

Odstrani vejico med vrednostmi

Privzeto so rezultati prikazani z vejico med posameznimi vrednostmi. Vejico lahko odstranite s parametrom n.

!2Ln[to,kyo]

Ta ukaz lahko vrne toto, kyokyo, tokyo, kyoto.

Edinstveno brez vejice.

!2Lun[to,kyo]

ali

!2Lnu[to,kyo]

Ti ukazi lahko vrnejo tokyo ali kyoto.

Številske vrednosti

Če je vrednost število, se tudi obravnava kot in lahko z njo izvedete izračun ali uporabite kateri koli operator.

!1L[-1,0,1,2,3,4]+7

Besedilo in število hkrati.

Ni priporočljivo uporabljati besedila in števila v istem operatorju seznama. Trenutno se vedenje spremeni glede na rezultat. Če je izbrana vrednost število, lahko izvedete drug izračun, sicer pa se rezultat prikaže neposredno brez kakršnega koli nadzora.

Vedenje se bo v prihodnji izdaji spremenilo, da bo odločitev temeljila na naboru podatkov. Če nabor podatkov vsebuje samo števila, je izračun mogoč. V nasprotnem primeru bo obravnavan kot niz rezultatov.

Spremeni kvoto

Obstajata 2 glavna načina za nadzor kvote pri metih na seznamu.

Metoda mravelj

!1L[2,2,3,3,3,3,4,4,4,5]

ali

!1L[arm,arm,leg,leg,chest,chest,chest,head]

Metoda lenosti

Po obsegu:

!1L[1,2,3,4,5,6[6..10]]

Po teži:

!1L[1[2],2[2],3[4]]

Več rezultatov:

1
3
1
2
2
1
2
3
1
2
3
2
2
3

Razni primeri

!3D100

Vrzi 3 kocke s 100 ploskvami

!10D10e[=10]s

Vrzi 10 kock z 10 ploskvami, 10 eksplodira in razvrsti rezultat.

!100291D66666666s

Vrzi 100291 kock s 66666666666 ploskvami in razvrsti rezultat

!15D10c[>7]

Vrzi 15 kock z 10 ploskvami in prešteje število kock, ki so večje od 7

!1D8+2D6+7

Vrzi 1 kocko z 8 ploskvami in rezultat prištej k 2 kockama s 6 ploskvami in prištej 7.

!D25

Vrzi 1 kocko s 25 ploskvami

!88-1D20

88 minus vrednost 1 kocke z 20 ploskvami

!8+8+8

Izračunaj: 24

!1L[sword,bow,knife,gun,shotgun]

Ena od teh besed bo izbrana.

!8D10c[Validator1]-@c[validator2]

Vržem 8 kock z 10 stranmi, nato pa preštejem, koliko kock upošteva pogoj Validator1, in odštejem število kock, ki upoštevajo validator2, ter prikažem število (za več podrobnosti o sintaksi glejte Validator).

!8D10c[>=6]-@c[=1]

Sistem Stari svet v temi.

!8D10c[>=7]+@c[=10]

Vzvišeni sistem 2. izdaje.

Dodajanje makra in vrstnega reda

Recimo, da želimo definirati 2 makra: a in aa.

Moram ju dodati od bolj zapletenega imena do najpreprostejšega.

Slabo

  1. a => 1d10
  2. aa => 2d10

izvajanje aa: Sistem makrov bo primerjal aa s prvim makrom a in tem ujemanjem. Prva ocena, aa => 1d10a Druga ocena, 1d10a => 1d101d10 Končni ukaz za izvedbo: 1d101d10

Dobro

  1. aa => 2d10
  2. a => 1d10

Ko zaženem ukaz: aa. Sistem makrov bo primerjal aa z aa: ujemanje Prva ocena: aa => 2d10 Končni ukaz za izvedbo: 2d10

Nekaj ​​pravil

  1. Uporabite regularni izraz za dodajanje omejitev glede nadomeščanja besedila
  2. Uporabite popolnoma drugačno ime
  3. Izogibajte se vzorcem makrov, ki so vključeni v drug vzorec makrov

Vse bi moralo biti v redu.

Najboljše prakse

Ker DiceParser ponuja vedno več funkcij, boste morda našli več načinov za isto stvar. Tukaj želimo razložiti razliko med temi različnimi pristopi. Potem boste lahko uporabili pravo.

Vrzite več vrst kock in jih seštejte.

Slabo

!2d8;2d10m

Dobro

!2d8+2d10

Operator združevanja je uporaben, kadar želite uporabiti operator kocke za vse vržene kocke.

Slabo

!1d20K1+1d10K1

Dobro

!1d20+1d10

Operator k, ki obdrži toliko kock, kot jih vržete, je precej neuporaben, ker je to privzeto vedenje.

Dokumentacija makrov

Primeri in več informacij

Poročilo o napakah in nove funkcije

Izpolnite zahtevek v našem sistemu Sledilnik napak. Ali pa nas kontaktirajte na discord ali na kateri koli drug način