A downloadable tool

Download NowName your own price

Enjoy this plugin for Godot 3.2. You can create beautiful dialogs for your games easy way with the integrated editor.




Change Log:

07-08-2021

  • Version 1.1i:
    • Added an autoload function to the editor to load the last edited project when opened.
    • Added pitch correction when playing the letter-by-letter sound so that it doesn't sound so monotonous.
    • Now you can select sounds in mp3 format.
    • Change default text speed to 0.06 (changed from 0.03).
    • Fixed a small bug that caused the speed change not to be applied when displaying text letter by letter.
    • Fixed a bug that caused the editor to close without saving data if an attempt was made to preview a message without writing anything.
    • Fixed a bug that caused the message to disappear quickly if the text was set to "skip letter by letter", the "skip letter by letter enabled" option was checked and the player pressed the fast forward key when the last page of the current message was being displayed.
    • Fixed a bug in the advanced text editor that caused it to close when pressing the "preview" button in the editor.

26-03-2021

  • Version 1.1h:
    • Full message preview supported. Now you can preview the messages with animations, images, faces and box names in the Dialog Editor.
    • Fixed several visual problems.
    • Now in the editor, when you click on a point and drag it to an empty zone, you can automatically create a node that will be automatically connected to that point.

25-03-2021

  • Version 1.1g:
    • Add support to can write text in foreign language (non-latin English).
    • Added a preview button in config node to preview the message using that config.
    • Enabled preview button in the Advance Text Editor (face, show box name, character, remove image, remove box name, image effect, emit signals and set config commands do not work in this version)
    • Now the plugin is opened in a 1024 x 768 resolution when you open it from tools menu. You can change this value in the file "plugin.gd" lines 18 and 19.

23-02-2021

  • Version 1.1f 
    • Minor fix: Fixed an issue where the background graphic of the answer panel could not be changed (notified by Citrinu).

17-01-2021

  • Version 1.1e 
    • Minor fix: Fixed a bug that caused the default settings not to have some images configured.

19-11-2020

  • Version 1.1d
    • Fixed a bug that caused the dialog to crached when selecting an answer/choice in a dialog that had more answers/choices than the following dialog (notified by Tekiraify).
    • Fixed a bug that made it impossible to disconnect a response in the dialogue editor.

07-11-2020:

  • Version 1.1c
    • Fixed a bug that caused a command to be duplicated in the "Advanced Text Editor" when editing it with a double click.
    • You can now use sub-folders within the root folders where the dialogues save the sounds, images or text fonts.
    •  Fixed a small bug in the dialogue for adding fonts.

06-11-2020:

  • Version 1.1b
    •  Fixed a small visual bug in the color selection dialog.
    • Changed the regular expression used to process text for better accuracy.
    •  Fixed the custom effect created when displaying an image with the "character" and "face" command.

05-11-2020:

  • Version 1.1
    • Fix embedded image command (notified by Citrinu).
    • Add a new parameter to the embedded image command: Offset.
      Now you can change the vertical position.
      By default, embedded images in dialogs are aligned with the bottom of the text.
    • Fixed a mislabel in the "show a character name" button in the advanced text editor (notified by Citrinu).
    • Added a new command button to the "Advanced Text Editor" that allows you to create a command to change the current message settings.
    • Update some icons in the "Advance text Editor".

21-10-2020:

  • Release Version 1.0.







Commands:

ActionFunctionExample
get a variable's value Dialog.get_variable(id)Dialog.get_variable(0)
set a variable's valueDialog.set_variable(variable_name, new_value)Dialog.set_variable("my var 1", true)
get a term Dialog.get_term(id)Dialog.get_term(0)
access a character's nameDialog.lang_data.characters[index].nameprint(Dialog.lang_data.characters[0].name) Dialog.lang_data.characters[0].name = NewName



You will can found a full tutorial in my YouTube channel

StatusReleased
CategoryTool
Rating
Rated 5.0 out of 5 stars
(1 total ratings)
Authornewold3
Made withGodot
Tagsdialog-box, Godot, plugin
Code licenseMIT License
LinksYouTube

Download

Download NowName your own price

Click download now to get access to the following files:

license.txt 1 kB
AdvancedDialogSystem.rar 12 MB
change_log.txt 3 kB

Development log

View all posts

Comments

Log in with itch.io to leave a comment.

(1 edit)

Can't seem to change the answer's box texture, it reverts back to the default during runtime

Thank you for the notice. I have already uploaded a new version with the bug fixed.

Ya deserve an award for your super sonic speed, thanks!

I think this bug is back in 1.1h
also name box sizing does not work

Is it working on your end? Thanks.

(2 edits)

 Hi newold3 ! I hope you're doing well x) I first wanna thank you for creating this plugin.

I wanted to try it but i found a problem and i hope you can help me solving it.

When i followed the same steps you said (Adding the folder "addons" to the project folder, letting godot import the files..), I had a problem when trying to enable the plugin in the settings. It keeps showing a message saying :"Unable to load addon script from path:  « res://addons/Dialog/plugin.gd » There seems to be an error in the code, please check the syntax"

I also tried to oppen the scene called  "DialogEditor.tscn" but it doesn't work as well. It automatically redirects me to an error in the code in a script called "custom_dialogue_node.gd" specifically in the line 254 where there's something about emitting signals.

Maybe that error is what's stopping the plugin to be enabled in the project settings.

Thanks a lot again for this amazing tool. I'm really looking forward to try it ! ^^

hello, I downloaded the latest version (1.1d), I created a new project (my version of Godot is 3.2.3), I put the folder of "addons" in the folder where this new project is saved, and everything works fine, I do not give any error.  The script in "custom_dialogue_node.gd" is fine, has no error. Maybe you have to open godot with administrator privileges since my plugin needs to write and read files from the hard drive


Aah I updated to the 3.2.3 version for godot as you said and it's working fine now! Apparently the old 3.2.1 version that I was using is what was causing the problem. Thanks a lot my friend I really appreciate it !

Man this is awesome! Good job

thanks!

Ways to get/set dialog data

Dialog.lang_data is a dictionary with keys: "characters", "dialogs", "langs", "default_lang", "message_config", "signals", "terms", "variables", "editor_config"

You can get or set a variable or term from code. Useful to change a players/npcs name, set custom names, give gold, etc.

ActionFunctionExample
get a variable's value
Dialog.get_variable(id)Dialog.get_variable(0)
get a term
Dialog.get_term(id)Dialog.get_term(0)
access a character's nameDialog.lang_data.characters[index].nameprint(Dialog.lang_data.characters[0].name)
Dialog.lang_data.characters[0].name = NewName

The second to last button's tooltip in the text editor is mislabeled, it should read "Show a Character's Name".


When trying to emb an image in the text I get:
Invalid get index 'size' (on base: 'Dictionary'). Did you mean '.size()' or funcref(obj, "size") ?

Thank you for the notice. I have uploaded a new version with fixed bugs and added a new command to the advanced text editor 

Running into get_data() null issues when adding a character sprite full or face.

I zipped my current project in case it helps. No rush, everything else works fine.

https://files.catbox.moe/1oozri.zip

I reviewed your project and saw where you were wrong.

You have put the root folder for the graphics in the path "res://Graphics/UI". The dialog tries to find the image in that path ("res://Graphics/UI/image_path") but in your case, in "res://Graphics/UI/" the image doesn't exist because it is in "res://Graphics/"

The editor will always try to move the files you use to their correct folders but sometimes it can fail especially when the files are in subfolders within the folders you have defined in the settings


Anyway throughout today or tomorrow I'll try to upload a new version that accepts subfolders and correct a bug I found testing your project that makes a command duplicate when you try to edit it with dobleclick

Hey!

Using a fresh project in 3.2.3 Stable 64 bit

When trying to open the Dialogue Editor from tools, it pops up a window Edit Dialogue(Debug) then closes. No error messages or anything. Thanks.

I use that version and it works fine. You can also try to open the scene called DialogEditor.tscn and try to run it. Anyway I recommend you not to open it from tools, because in case there is any error it does not show and/or closes without marking the error. Tell me if it works opening the scene

Thanks for the Quick Reply! The scene itself actually works with no errors so far! Thanks a ton!