Oh, thanks for notifying me. That part of the interface is just for visual enhancement and I expected users to change it / delete it in their project anyway.
Recent community posts
That is how it's supposed to work, otherwise the text box would go downwards and get cut off by the bottom edge of the screen.
What you could do though, is add a scroll container as the parent of the Text node, like this:
* Make sure to increase the Y of Min Size, otherwise you won't see any text.
Other than that, you might want to play around with TextBackground>Grow Direction>Vertical property as well as its screen anchors to get the desired behavior.
There is a template JSON in DialogueSystem 2\test_dialogues\template that you can use to create your own files manually. I also just added a documentation file to the downloads. Tell me if I should explain something more there.
Choices.tscn has Min Size (rect_min_size) property set to Y=83. If you set it to 0 and save you'll be able to resize the box however you want (just remember to set it to a value higher than 0, otherwise you won't see the choice buttons).
And as for the bubbles, the size of the bubble depends on the font size.
Hope that helps!
It is by design. Built in features like this one caused some trouble for people, and not everyone had much use for it, so I decided to make the system easier to use and add minimal built-in features so that anyone who needs a certain feature can easily extend the system without much code-reworking.
Basically, what you need to do is add a new node, with a function connected to a 'started new message' signal. In that function you will get the Dialogue.current_speaker_node and then its face texture value (you need to define it in the speaker script first, of course). And then just set the texture to the BoxMessage/TextBackground/_hbox/Face node.
When I published the first version, I didn't expect it to be very popular, so I didn't spend a lot of time on it. But to my surprise a lot of people bought it, so I wanted make a new version this time, a well written, easy to use framework that Godot users deserve to get.
I'll keep updating this list of links to resources that are relevant to the dialogue system. I hope to soon add some of my own tutorials as well.
- BBCode in Godot: docs.godotengine.org/bbcode_in_richtextlabel.html
- Dictionaries: docs.godotengine.org/en/stable/classes/class_dictionary.html
- Custom signals: docs.godotengine.org/en/stable/getting_started/step_by_step/signals.html
- What is JSON: medium.com/omarelgabrys-blog/json-in-a-nutshell-7d638dfea7cc
- Handling JSON files: docs.godotengine.org/en/stable/tutorials/io/saving_games.html
- Godot Quick Tip - Saving and Loading with JSON: /watch?v=L9Zekkb4ZXc
- TNTC-Lab's gibberish speech add-on: https://tntc-lab.itch.io/godot-voice-generator
- teebarjunk's custom text effects: https://github.com/teebarjunk/godot-text_effects
- fenix-hub's in-engine text editor (could be used to edit JSON files internally): https://github.com/fenix-hub/godot-engine.text-editor
^These addons were not tested with DS2 so, use them at your own risk.
How to install:
- Move the addons folder from the .zip into your project's main folder.
- Go into Project > Projects Settings > Plugins and enable it (change DialogueSystem2's status to Active).
- Go into Project > Input Map and add an input called
dialogue_next. You will use this input to skip through the dialogue.
You're ready to go.
This will add a new file into your Autoloads. That one file (Dialogue.tscn) is your gateway to all the nodes used in the framework.
Dialogue.tscn also contains some basic settings:
Language - change the language the dialogues will use. It is pointing to a value in the "text" dictionary, inside a dialogue file.
Perspective - (used for Bubble Messages) switch between 2D and 3D. Change it depending on what kind of scenes you're using (Node2D vs Spatial). In the demo, it is done automatically in a _ready() function in the level's root node. Keep in mind that the 3D perspective needs a Camera node somewhere in the scene tree (it uses it to calculate the position of the bubble).
Selected Type - which type of messages you want to use. If set to Auto, the system will check for a is_box value in each dialogue node.
Dialogue Next Input - name of the action defined in Project Settings > Input Map that goes to the next dialogue node (but you can also use Space and Enter).
Main files structure:
This simple diagram shows how nodes communicate with each other. The tasks are separated into different nodes like this. I will explain this and other topics in more details soon.
I'm working on a new version. When I originally created this one I made a mistake of thinking that everyone getting this would be fluent in gdscript which obviously is not the case. It will less confusing and more beginner friendly. I might release it as a different itch.io product but you and everyone else who bought this one will receive the new version for free.
I added a new section to the site, you can now download example dialogue files created entirely in DD.
If you're using windows, I recommend using 'json formatter pro' from the windows app store (it's free) for opening them.