Dialogs
The text your players are going to read.
Description
'[character_id][:<expression_id>][:<class_names>] <dialog_text>'Dialogs are the primary way to display text to the player. Any statement in your script that doesn't match any other action will be displayed as dialog.
Action ID: Dialog
Reversible: Yes
Requires User Interaction: Yes (player must click/tap to proceed)
Related Components:
Syntax
The full dialog syntax is:
[identifier][:<expression>][:<classes>] <text>identifier
No
Character ID, centered, nvl, or narrator. If omitted, treated as narrator dialog.
expression
No
Expression/side image to show (only for characters with defined expressions).
classes
No
Custom CSS classes separated by | (pipe).
Dialog Types
Narrator Dialogs
Any statement that doesn't start with a recognized character ID, centered, or nvl is displayed as a narrator dialog. Narrator dialogs don't show a name in the text box.
You can also explicitly use narrator:
Character Dialogs
To make a character speak, prefix the dialog with their character ID:
The character's name (as defined in their character declaration) will be displayed in the text box.
With Expression/Side Image
If you've defined expressions in your character declaration, you can specify which expression to show:
The expression image appears as a side image next to the text.
Default Expression
If a character has a default_expression defined, it will be shown automatically when no expression is specified:
Centered Dialogs
The centered keyword displays text in a floating box in the center of the screen, hiding the regular text box:
Centered dialogs use the <centered-dialog> component instead of <text-box>.
NVL Dialogs
NVL (Novel) mode displays multiple lines of dialog on screen at once, similar to visual novels like Fate/stay Night. The screen fills up with consecutive dialog entries.
NVL Characters
Characters can be set to always use NVL mode by adding nvl: true to their definition:
Note: Side images/expressions are not supported in NVL mode.
Custom Classes
You can apply custom CSS classes to the text-box (or centered-dialog) element by adding them after the expression:
Classes are reset on every dialog, so you must include them on each dialog where you want them applied.
Example CSS for Custom Classes
Clear Command
The clear command removes all text from the dialog area:
The clear command automatically advances to the next statement without requiring player interaction. Use a wait command after it if you want the player to see a blank dialog box:
Text Effects
Dialogs support inline text effects using special markers. These are processed by the TypeWriter component.
Pause
Pause the typing animation for a specified duration:
The {pause:N} marker pauses for N milliseconds.
Speed
Change the typing speed mid-dialog:
The {speed:N} marker changes speed as a percentage (100 = normal, 50 = half speed, 200 = double speed).
Visual Effects
Enclosed effects apply visual styling to text. Use {effect}text{/effect} syntax:
Animation Effects:
{shake}text{/shake}- Shaking text{shake-hard},{shake-slow},{shake-little},{shake-horizontal},{shake-vertical}- Shake variants{wave}text{/wave}- Wavy text animation{wave-slow},{wave-fast}- Wave speed variants{fade}text{/fade}- Fading text{fade-slow}- Slow fade{blur}text{/blur}- Blurry text{scale}text{/scale}- Scaling animation{scale-bounce}- Bouncy scaling{slide-up},{slide-down}- Sliding animations{glitch}text{/glitch}- Glitch effect{glitch-hard},{glitch-slow}- Glitch variants{flicker}text{/flicker}- Flickering text
Style Effects:
{bold}text{/bold}- Bold text{italic}text{/italic}- Italic text{big}text{/big}- Larger text{small}text{/small}- Smaller text{strike}text{/strike}- Strikethrough{redacted}text{/redacted}- Redacted/censored style{invisible-ink}text{/invisible-ink}- Hidden until hover{handwriting}text{/handwriting}- Handwritten style
Emotion Effects:
{angry}text{/angry}- Angry styling{scared}text{/scared}- Scared styling{happy}text{/happy}- Happy styling{sad}text{/sad}- Sad styling{mysterious}text{/mysterious}- Mysterious styling{excited}text{/excited}- Excited styling{whisper}text{/whisper}- Whisper styling{shout}text{/shout}- Shouting styling{dizzy}text{/dizzy}- Dizzy effect{dreamy}text{/dreamy}- Dreamy effect{robotic}text{/robotic}- Robotic styling{static}text{/static}- Static/noise effect{rainbow}text{/rainbow}- Rainbow colors{glow}text{/glow}- Glowing text{impact}text{/impact}- Impact/emphasis styling
Combining Effects
You can combine multiple effects and markers:
HTML Support
Dialogs support inline HTML for additional formatting:
Related Settings
TypeAnimation
true
Enable/disable typing animation globally
NVLTypeAnimation
true
Enable/disable typing animation in NVL mode
CenteredTypeAnimation
true
Enable/disable typing animation for centered dialogs
NarratorTypeAnimation
true
Enable/disable typing animation for narrator
TextSpeed
varies
Typing speed (lower = faster). Configurable by player in settings.
Related Components
Text Box - The component that displays dialogs
Dialog Log - View history of dialogs
Dialog Log
The dialog log stores all dialogs displayed during gameplay. Players can access it via the quick menu to review past conversations.
The log is automatically populated as dialogs are shown and supports scrolling through the entire conversation history.
Last updated
Was this helpful?