Extends: ESCBaseCommand < Resource


say player text [type]

Displays the specified string as dialog spoken by the player. This command blocks further event execution until the dialog has finished being ‘said’ (either as displayed text or as audible speech from a file).

Global variables can be substituted into the text by wrapping the global name in braces. e.g. say player “I have {coin_count} coins remaining”.


  • player: Global ID of the ESCPlayer or ESCItem object that is active. You can specify current_player in order to refer to the currently active player, e.g. in cases where multiple players are playable such as in games like Maniac Mansion or Day of the Tentacle.

  • text: Text to display.

  • type: Dialog type to use. One of floating or avatar. (default: the value set in the setting “Escoria/UI/Default Dialog Type”)

The text supports translation keys by prepending the key followed by a colon (:) to the text. For more details see:

Playing an audio file while the text is being displayed is also supported by this mechanism. For more details see:

Example: say player ROOM1_PICTURE:"Picture's looking good."


Constants Descriptions



Property Descriptions


var globals_regex: RegEx

Regex to match global variables in strings

Method Descriptions


func configure() -> ESCCommandArgumentDescriptor

Return the descriptor of the arguments of this command


func validate(arguments: Array)

Validate whether the given arguments match the command descriptor


func run(command_params: Array) -> var

Run the command


func interrupt()

Function called when the command is interrupted.