Szukaj w dokumentacji...

Zacznij wpisywać, aby przeszukać dokumentację

Przewodnik po czacie

Makra (CBS)

Skrypty w klamrach w dowolnym tekście promptu.

Składnia

Makra to tokeny w podwójnych klamrach rozwijane w chwili żądania. Działają w polach postaci, wpisach lorebooków, presetach, powitaniach i zwykłym tekście czatu, i można je zagnieżdżać.

text
{{char}} smiles at {{user}}.
{{random::sunny::rainy::foggy}}
{{calc::1+2*3}}

Argumenty rozdziela podwójny dwukropek. Nieznane makra rozwijają się do niczego zamiast rzucać błąd, więc literówka nigdy nie psuje żądania.

Makra podstawowe

MakroRozwija się do
{{char}}Imię bieżącej postaci (czaty grupowe: bieżący mówca).
{{user}}Imię twojej persony.
{{persona}}Opis twojej persony.
{{description}}Pole opisu bieżącej postaci.
{{lastmessage}}Tekst najnowszej wiadomości.
{{time}} / {{date}}Bieżący czas / data w twoim języku i strefie czasowej.

Losowość

random wybiera argument na nowo przy każdym rozwinięciu, pick robi wybór stabilny dla rozmowy, a roll rzuca kośćmi w notacji d.

text
{{random::a::b::c}}   {{pick::a::b::c}}   {{roll::d20}}

Rzuty i losowania mają ziarno per tura: regeneracja używa tych samych wartości, więc przesuwanie nie przerzuca twoich kości.

Zmienne

Zmienne czatu trwają per gałąź rozmowy; zmienne globalne trwają we wszystkich czatach. Ustawiaj je w dowolnym tekście z makrami albo ze skryptów wyzwalaczy.

text
{{setvar::mood::happy}}
{{getvar::mood}}
{{setglobalvar::visits::1}}

Przechowywanie per gałąź oznacza, że przejście na inną gałąź przywraca jej stan zmiennych; rodzeństwo nigdy nie przecieka wartości między sobą.

Formy blokowe

Bloki otaczają treść: if renderuje ciało tylko przy prawdziwym warunku, each iteruje po tablicach z podstawianiem slotu, a when dodaje liniowe gałęzie else.

text
{{#if {{equal::{{getvar::mood}}::happy}}}}
{{char}} is in a great mood.
{{/if}}

{{#each {{array::red::green::blue}} item}}
Color: {{slot::item}}
{{/each}}

pure i escape chronią dosłowne klamry przed rozwinięciem; każdy tag zamykający zamyka najbardziej wewnętrzny otwarty blok.

Komentarze i literały

Makra komentarzy znikają, zanim model je zobaczy, idealne na notatki w polach karty. Użyj bloków pure, gdy chcesz pokazać składnię makr dosłownie.

text
{{// note to self, never sent to the model}}
{{#pure}}{{char}} stays literal here{{/pure}}
Makra CBS w UnoRouter