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.
Navodila
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:
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:
$3itd. š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.
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
a=> 1d10aa=> 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
aa=> 2d10a=> 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
- Uporabite regularni izraz za dodajanje omejitev glede nadomeščanja besedila
- Uporabite popolnoma drugačno ime
- 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
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