Dialogue Node

Note

Scene with dialogue need to be added to SceneLinks to works

To add new Node to scene you can clicking on plus icon or A + Ctrl.

Note

Dialogue Node can be add to any type of scene:

  • 2D (Node2D)

  • 3D (Spatial)

  • User Interface (Control)

If scene has any Control node that is not a button, then make sure it’s mouse filter is set to Ignore. Otherwise it can block step forward in Dialogue. It can be set in Control node Inspector.

The window for choosing the type of node will appear, type dialogue (or part of it) in the search box to find it easier and click on it.

Tip

You can click on the star icon to add it to your favorite nodes, for easier access in the future.

Now click the Create button at bottom of this window.

Setup Dialogue for Editing

Note

You should change the name of the Dialogue node, as there will likely be many nodes of this type in scene. To do this double click on its name in scene hierarchy.

To write our own dialogue in it, you to first extend it. To do it right click on node and choose Extend Script.

The Create Script window will appear.

Change Template to Empty.

Note

By default path to save script is set to the same folder as the scene and the name of script is the same as the node.

The center Godot editor window will switch to script editor.

Tip

You can always change the mode of the editor center by clicking on the icons in the top center of the window.

Create Dialogue event

Dialogue event is Rakugo’s term for special func, this func should look like this:

func sample():
  start_event("sample")

  say(null, "This is sample of dialogue event.")
  step() # stop func and waits for player interaction

  say(null, "Another line of dialogue.")
  step()

  end_event()

Dialogue Node Inspector

Look at the FirstDialogue node Inspector tab.

  1. Set Default Starting Event to dialogue event name to start from by default

  2. Set Auto Start to true if this is dialogue from which Scene should by default

  3. Set this to true if there are important changes in this dialogue between version of your game.

Warning

On one Scene can be only one Dialogue node with auto_start = true.

Jumping between dialogue events

You can jump between dialogue events few different ways:

  • jump to different dialogue event in the same Dialogue node

    jump("", "", "dialogue_event")
    # or
    start("dialogue_event")
    
  • jump to default dialogue event in other Dialogue node

    jump("", "dialogue_node_name", "")
    # or
    dialogue_node.start()
    
  • jump to different dialogue event in other Dialogue node

    jump("", "dialogue_node_name", "dialogue_event")
    
  • jump to default dialogue event in other scene

    jump("scene_id", "", "")
    
  • jump to default dialogue event in other scene from not default Dialogue node

    jump("scene_id", "dialogue_node_name", "")
    
  • jump to not default one dialogue event in other scene that on not default Dialogue node

    jump("scene_id", "dialogue_node_name", "dialogue_event")