Skip to content
mifth edited this page Jan 27, 2024 · 18 revisions

Start Node

Start Node is the first node from what any dialogue starts.

image

JSON:

{
   "Inputs": [],
   "Name": "StartNode",
   "Outputs": [
      {
         "Type": 0
      }
   ],
   "Position": [
      768,
      420.399993896484
   ],
   "Size": [
      280.000213623047,
      121.00048828125
   ],
   "StartID": 0,
   "StartName": "First Quest"
}

Dialogue Node

This is the main node which represents dialogue data. It contains a main text(MainText) and answers(TextSlots).

image

JSON:

{
   "Character": {
      "Id": 0
   },
   "Inputs": [
      {
         "Type": 0
      },
      {
         "Type": 1
      },
      {
         "Type": 1
      },
      {
         "Type": 1
      },
      {
         "Type": 1
      }
   ],
   "MainText": {
      "Text": "{\"Eng\": \"Hello, let's talk about something!\",}"
   },
   "Name": "DialogueNode",
   "Outputs": [
      {
         "Type": 0
      },
      {
         "Type": 0
      },
      {
         "Type": 0
      },
      {
         "Type": 0
      }
   ],
   "Position": [
      1270,
      270
   ],
   "Size": [
      470,
      367
   ],
   "TextSlots": [
      {
         "Text": "{\"Eng\": \"My answer 1\",}"
      },
      {
         "Text": "{\"Eng\": \"My answer 2\",}"
      },
      {
         "Text": "{\"Eng\": \"My answer 2\",}"
      }
   ]
}

Action Node

This node represents any action in a game and can store any JSON data.

image image

JSON:

{
   "ActionName": "HasItem",
   "ActionPorts": {
      "Texts": [
         "True",
         "False"
      ]
   },
   "ActionText": {
      "Text": "{\n\"Apple\": 5, \"Banana\": 2\n}"
   },
   "Inputs": [
      {
         "Type": 0
      },
      {
         "Type": 1
      }
   ],
   "Name": "ActionNode",
   "Outputs": [
      {
         "Type": 0
      },
      {
         "Type": 0
      }
   ],
   "Position": [
      1150,
      340
   ],
   "Size": [
      294.999145507813,
      299
   ]
}

Text Node

The Text Node is used to set up default texts and make them more procedural and random.

image

JSON:

{
   "Inputs": [],
   "Name": "TextNode",
   "Outputs": [
      {
         "Type": 1
      },
      {
         "Type": 1
      },
      {
         "Type": 1
      }
   ],
   "Position": [
      380,
      320
   ],
   "Size": [
      416.281036376953,
      317.413146972656
   ],
   "TextSlots": [
      {
         "Text": "{\"Eng\": \"Hey! How are you?\",}"
      },
      {
         "Text": "{\"Eng\": \"What are you doing here?\",}"
      }
   ]
}

Set Text Node

Set Text Node is used to replace text during a dialogue.

image

JSON:

{
   "Inputs": [
      {
         "Type": 0
      },
      {
         "Type": 1
      },
      {
         "Type": 1
      }
   ],
   "Name": "SetTextNode",
   "Outputs": [
      {
         "Type": 0
      },
      {
         "Type": 1
      },
      {
         "Type": 1
      },
      {
         "Type": 1
      }
   ],
   "Position": [
      676.046691894531,
      290.942901611328
   ],
   "Size": [
      413.900085449219,
      324.099884033203
   ],
   "TextSlots": [
      {
         "Text": "{\"Eng\": \"Hey, hello friend!\",}"
      },
      {
         "Text": "{\"Eng\": \"Greetings!\",}"
      }
   ]
}

Character Node

Character Node represents a character in a dialogue.

image image

JSON:

{
   "CharacterID": 0,
   "CharacterName": "Marina",
   "CharacterTexture": 1,
   "Inputs": [],
   "Name": "CharacterNode",
   "Outputs": [],
   "Position": [
      -940,
      290
   ],
   "Size": [
      338,
      396.999969482422
   ]
}

Enable Text Node

This node can enable/disable text in a dialogue node.

image

JSON:

{
   "Inputs": [
      {
         "Type": 0
      }
   ],
   "Name": "EnableTextNode",
   "Outputs": [
      {
         "Type": 0
      },
      {
         "Type": 1
      },
      {
         "Type": 1
      }
   ],
   "Position": [
      370,
      300
   ],
   "Size": []
}

Hide Text Node

This node can hide/unhide text in a dialogue.

image

JSON:

{
   "Inputs": [
      {
         "Type": 0
      }
   ],
   "Name": "HideTextNode",
   "Outputs": [
      {
         "Type": 0
      },
      {
         "Type": 1
      },
      {
         "Type": 1
      }
   ],
   "Position": [
      860,
      670
   ],
   "Size": []
}