DID YOU KNOW...?
The Visual Script Editor can be used to make dialogues.
Every node found in the Dialogue Editor has an equivalent in the Script Editor.
I shall show you each (in order found in Dialogue Tools):
NPC Node = Display_message (set to Character: Entity ID of NPC)

Player Node = Display_Message (set to Character: player)

Player Choice Node = Display_Choices (NPC message goes in the first parameter, choices and NPC as speaker)

Message Node = Standard Display_Message (No Speaker entity)

Condition Node = Evaluate Condition (They both check states and diverge paths)

Script Node = You are already writing a script, so the code goes directly in between the script dialogue nodes (see example below)

Go To Nodes = these are a bit more complicated as there is no one way to achieve the same thing in a script.
You could split the dialogue into multi scripts and use execute_script at various points to jump back and forth between files.
You could use properties to track certain dialogue milestones reached, combined with custom function calls.
They are more advanced, but anyone with good Bauxite knowledge should be able to get the same principle going.

- Comment = Comments ( // ) in a script will give you the same result...notes left for you, the dialogue designer.

Making Dialogues in script editor brings with it some huge benefits:
You can disconnect and move around the nodes at will, restructuring dialogues and paths with ease, unlike the linear design of the current Dialogue Editor
Scripting and writing Dialogues are all in one, rather than seperate nodes for moments of scripting.
You can add more logic to dialogues than the dialogue editor has, for potentially more creative dialogues. (For Looping dialogue nodes for example..who knows what you might want that for...but you can! 🙂 )
Player choices are more flexible and you can change/build choices on the fly...example:
if player.property["indecisive"] == true then
$choices = array["Yes", "No", "Maybe"]; // added Maybe if indecisive personality chosen
$result = display_choices("Will you help me?", $choices, entity["Stumpy"]);
else
$choices =array["Yes", "No"]; // Doesnt show Maybe
$result = display_choices("Will you help me?", $choices, entity["Stumpy"]);
end;
To use, simply write a dialogue script, and then place it on interacts of NPC, or on enters tile nearby NPC.
The only thing to note is unless you change the interact icon to the speech bubble on the npc, your dialogue wont have the speech bubble.
I have a video discussing this in more detail here: