Dialogs
Last updated
Last updated
All -> Content -> EasyDialogueSystem -> Dialogs.
Folders: Depth_1
Files: DT_FirstDialog, DT_StandartDialog
Folder Depth_1 contains a tree of dialogues. In this case, an arbitrary name was chosen. Also, within the Depth_1 folder, there are the following dialogue levels - Depth_2, Depth_3. This is done for a clearer dialogue architecture. For example, it will be explicitly clear that from the Depth_2 dialogue, one can move to the Depth_3 dialogue. This is done solely for visual understanding of which dialogues have nested levels, and when a player responds to a question, it is easy to control where the dialogue will progress next.
DT_FirstDialog: This is the starting dialogue. This is where all the magic happens. Let me tell you more.
The table contains columns: Row Name, Character, Category, Text, VoiceActing.
Row Name: The name of the row, used only for visual representation, does not affect the system.
Category: (Text, Buttons) is used to determine what will be used, regular text, or buttons with responses for the player.
Text: This section is a set of data. You can add as many lines as you want, and if the category is specified as text, then all lines in this set will be displayed as standard text, following one after the other, without changing the character and emotions. And if the category is specified as Buttons, then response options for the player will be displayed, with a button formed from each line of this set. Let's consider an example.
Category TEXT:
In the example above, the category is specified as Text, and the dataset consists of one option, i.e. when this line is displayed on the screen, the following will be displayed:
Category Buttons:
In this case, the category for the string is specified as Buttons, which means that all strings in the Text section will be displayed as buttons for the player to respond. Here is the implementation of this screenshot:
The text of the question will be output from the previous line.
But that's not all, you have probably noticed that in the rows, besides the Text, there are also the Link, Start PositionId, CallEvents. What are they for?
Link - is a link to any of the possible dialog Data Tables, i.e. if you specified a different table in this row, the module will understand that after this row, you need to switch to the specified Data Table and start the dialogue in that table from the row number indicated in StartPositionId.
For example, in the table DT_Example, we specified Link as DT_Depth_1 and Start PositionId (1), i.e. after displaying this row, we will immediately switch to the table DT_Depth_1 and start from the 1st row. Here's how it looks in a real dialogue:
And the DT_Depth_1 table looks like this:
And in the dialogue when choosing the option "Yes, I can do it!" the player will be redirected to the table DT_Depth_1. So here is how it looks in the game:
The same applies to the Text category. If a different table is specified in the Link parameter, then after this line, the dialogue will be switched to another table starting from the specified row, or to the same table but from a different row specified by you!
You might wonder, how do you exit the dialogue? It's very simple! In the Start PositionId parameter, specify a negative value, for example, -1. That's it, after this line, the system will understand that it needs to exit the dialogue.
Now about CallEvents. This is a regular ENUM used to track player clicks and transitions in the dialogue. It is created in the Config folder in the ENUM_Events file. This value is returned via Event Dispatcher and can be processed in any Blueprint Class.
Voice Acting: Usually, this refers to voicing the text in the given line. It replaces standard sounds with emotions.
Character: Here you select the interlocutor and their emotion, previously filled in the DT_Character table (). It will also be displayed on the screen at the moment this row is output in the dialogue.
Also, don't forget to familiarize yourself with creating !