Dialogue Tree Editor Plugin & Dialogue System [OLD]

+1 for this. This seems like a very useful plugin that I’d love to use, but adding nodes to run code is essential functionality that would really make this plugin worth a lot for my team and many others I’m sure.

1 Like

I can look into this. That being said, in terms of efficiency it’s quite a pointless addition considering that the plugin already has the conditional node. You can use that to run any code you want. The difference between that and a command prompt is that you can have the conditional node branch out to different paths.

1 Like

Does the Configuration folder have to remain in the Workspace in order for everything to work or can it be moved elsewhere?

The config folder is read by the client and server So it should be kept somewhere, where the client and server can read the only other logical place to put it is in replicatedstorage, but you have to change the location of it in the local script in the screengui

1 Like

This is amazing and i will be useing thks

Amazing plugin! It’s making the creation of my NPCs a lot easier to string together!

I have a small question about using it, however. I want to be able to close the dialogue box when you want away from an NPC a certain distance. Would I have to check that using a local script or a regular script?

GUI, so it has to be a local script(?) At the very least, it needs to fire the client at some point.

1 Like

OK, first day of serious use of this plugin, some thoughts:

  1. Three lines of code (and adjusting a 4th) takes advantage of the second argument (not used in a standard dialog fire event). I am using it to cancel dialog by walking away from the NPC. In retrospect, I should have probably used “true” to end dialog, so that I can accidentally leave Arg2 out.


EDIT: This line needs to reference Arg2 as well.

  1. There is some weird interaction between this GUI and my movement code. No idea yet, but it appears that exiting the dialog gui breaks other usage of button down and button up on the mouse. Will investigate further.

2a) Some other bug regarding changing characters braking dialog, but I’m sure this is my fault.

  1. NPC dialog isn’t complete without a picture of the speaking NPC! Once I finish debugging, I will tackle this and share my results.

Thanks for the great work on this!

2 Likes

This plugin is a little outdated by now and it could really use a big revamp if not a complete remake. I wanna hear what you think: Should I take another look at this and completely remake the plugin to not only look more appealing but to run more smoothly as well? I’d most likely keep the same format in order to not mess with old dialogue. What do you think?

4 Likes

Any performance improvements would always be welcome, but I found it very easy to work with! This did not take very long at all.

2 Likes

I’ve had a bit of time to think about this editor, and what I will eventually do with it, and I imagine these are popular features, if you are committed to a version 2.:

  • Ability to change font color, add pauses (see controls below), and script callouts mid text. This would be an extension of your use of “>” brackets.
  • Dialog UI controls in-game in the form of “skip/pause/back-up/autoplay”
  • Dialog controls that can be pulled as settings for autoplay" (this might be in there, but I haven’t found it) When setting is off, player must click to continue. This is good for slower readers.
  • “exit nodes” I’m not sure what to call them, but this would be similar to the conditional nodes. This would be a script for the sole purpose of leaving the dialog to execute something else. For example, you say “yes” to a quest, then the dialog ends, and the quest script runs.
3 Likes

Everything Golgi said before i came back to look at the thread again is exactly what I would have in an update, at the very least. Thank you for continuing to support it!

1 Like

This looks awesome.

How hard do you think it would be to add RichText support?

3 Likes

All I had to do to get RichText was tick the property box on the prompt field. Awesome.

One feature that would be nice is to allow different prompts to be able to share the same response (it looks like a 1-to-1 relationship is enforced). I’d like every conversation to end with an acknowledgement so that the dialog doesn’t disappear until the player is done reading.

Example, if would be cool if the last two prompts could both share the “Ok” response:

Another thing I am trying to add is an X button at the top of the window that allows the user to end the dialog at any time, but I find that calling “EndDialog” before getting to the end of the dialog results in getting double responses the next time I open a dialog.

8 Likes

this was great anything has property box promopt field could nice allow about reading share dialog result editor plugin system example have a update support open dialogue anything.

1 Like

Glad you got RichText working. And having multiple prompts share another prompt’s functionality and properties would definitely be a handy feature. I should really consider that for the update. Though having that as a separate node might not be necessary as I could just let redirects connect to responses. And yes indeed the X button also seems like a worthwhile feature to add. I’ll definitely take these into consideration for the revamp. I’ll keep the post updated on that.

Thank you for the support, really appreciate it.

I’ve been playing around with some possible designs for the new UI and I was curious to know what you think. Here’s what the mock-up looks like like:

This was from another plugin I was working one that would’ve allowed anyone to create their own library of nodes to allow visual scripting in studio. However, I underestimated the complexity of the required systems so I dropped it unfortunately. So, instead of wasting the visual design I thought I’d bring it over to this plugin. Of course the stuff seen on the screenshot is not what the final version would look like as it’s missing many of the features the original has. That aside: What do you think?

1 Like

For my specific use case, most of the things I want are improvements to the dialog guis, not the tree creation plugin, which is already pretty good I think.

Things I have already done/am thinking about doing:

  • Option to disable the “typewritter effect” you where you show more graphemes over time
  • Markup to embed images in with the text (seems hard)
  • Be able to kill the dialog when my character walks away/close button is pressed
  • Text animation a la Slay the Spire
  • Some viewport black magic to create a character portrait for the speaker
  • Better text sizing so that the dialog screen isn’t 90% empty space for short dialogs.
  • (Really crazy) talk to 2 NPCs at once and have a 3-way convo

I don’t think my use case is the same as everyone else’s. Some of these features are pretty weird.

4 Likes

Improving the editor is one part of the revamp, the other one focuses on the actual dialogue UI and whatnot. Technically speaking anyone can create a new system for the dialogue by themsleves if they feel like it since the only thing it does is read the configuration folders inside the explorer. Though since some people (including me) hate figuring out others’ code or systems it would of course be preferable to have a better built in system as well. And that’s exactly what I’m aiming for with the revamp. And yeah some of those are must-have features so I’ll definitely be adding them.

I like the new look! I’m busy chopping the Animate script into bits, but look forward to coming back to this!

@Shedletsky Take a look at my video up above for your black magic enjoyment!