Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Lines and speakers

Lives in: story/script.txt

Who talks, how their name appears, and how each line waits for a click.

Speaker marks at a glance

WriteEffect
HANA:Speaker = folder characters/hana/
HANA [happy]:Same + stage that expression
???|HANA:Plate shows ???; talking still hana
HANA & SORA:Both in focus
HANA (silent):Same speaker; typing mouth / beep off (see below)
HANA [happy] & SORA (silent):Per name: expression and/or silent

These can combine, for example ???|HANA [happy] (silent): or ???|HANA [happy] & SORA (silent):.

Speakers

HANA:
Hello.

HANA: (any case) maps to the folder characters/hana/. The name plate usually shows that character’s display name. What to put in that folder: Pictures, sound, and folders.

Several lines under the same speaker stay in the same moment until an empty line:

HANA:
First click.
Still Hana — same moment, another click.

Expression while speaking

HANA [happy]:
Good morning.

That looks for characters/hana/hana_happy.png (or the pack’s happy look). Folders and naming: Pictures, sound, and folders. Details later: Characters.

Narrator

A line with no NAME: is narrator voice — no name plate from a character:

The street is empty.

Unknown name / custom plate

Show a different name on the plate while still using a character folder:

???|HANA:
Who's there?

Left of | is the plate text; right is who is talking (for focus and assets).

Two speakers at once

HANA & SORA:
Together:

Both are in focus for that line. One name plate covers the group (auto names, or a custom Label|… for the whole line). The line uses the routed panel for this moment — usually the first speaker’s preferred panel, unless you set panel_id in data — How text finds a panel.

Each name can take its own [expression] and/or (silent):

HANA [happy] & SORA (silent) & DADDY [sad] (silent):
They speak as a group.
SegmentEffect
HANA [happy]In the group; stage happy; mouth on while text types
SORA (silent)In the group; mouth off
DADDY [sad] (silent)In the group; stage sad; mouth off

To silence everyone, mark each name: HANA (silent) & SORA (silent):.

Silent line (no talking mouth)

HANA (silent):
(She doesn't answer.)

Same speaker and plate; typing mouth (and beep) stay off. Only the literal (silent) mark — not free-form (anything). Mouths in depth: Talking and focus.

Style inside a line

BBCode works in dialogue:

HANA:
That was [b]not[/b] the plan.
[color=#ff8888]Careful.[/color]

Unknown [word] tags that are not commands stay visible as text. To show real brackets: [lb] / [rb].

HANA:
Your score is {score}.

Curly braces insert the current flag value. To print a literal {, write {{.

Usually you need

WantWrite
Someone speaksNAME: then lines
ExpressionNAME [happy]:
Narratorplain lines
Mystery plate???|NAME:
Joint + per-name modsNAME [happy] & NAME (silent):
Silent (no mouth)NAME (silent):
Style[b], [i], [color=#…]
Remembered value{flag}

Next

Stage directions