Dialog Block
To define an MGS Natlang dialog, start a new block at the root level:
dialog $dialogName:string {}
As these dialog blocks aren't being defined inside a script body, a dialog name is required. (The name is whatever is given for string.)
Inside the curly braces may be any number of dialogs. For example:
dialog bobTalk {
Bob "Hi there! I'm speaking to you!"
}
The pair to the above usage is the action SHOW_DIALOG:
exampleScript {
show dialog bobTalk;
}
Defining the dialog externally and "calling" it within a script by name is comparable to what has to be done with game files in raw JSON.
Show Dialog Block
A combination of the action SHOW_DIALOG and a dialog block:
show dialog $dialogName:string {}
// or
show dialog {}
Inside the curly braces may be any number of dialogs.
This block can be defined with or without a dialog name (whatever is given for string). Providing a name means other scripts are able to refer to that dialog, too, but this is rarely necessary. When a dialog name isn't given, one will be generated one based on the file name and line number.
Both patterns are valid anywhere actions are allowed (i.e. inside script blocks).
exampleScript {
show dialog {
Bob "Hi there! I'm speaking to you!"
}
}