Get This DIALOGUE System For Your Godot GAME Now

Поділитися
Вставка
  • Опубліковано 12 січ 2025

КОМЕНТАРІ • 241

  • @ezthedev
    @ezthedev  Рік тому +31

    I know! very different video from me. Was this too in-depth? is this better fit for live session? in-addition to live session? Let me know!

    • @ezthedev
      @ezthedev  Рік тому +6

      Oops! For when button is being removed make sure to call "queue_free()" instead of just removing it as a child of dialogue box otherwise the buttons will live forever without being released causing a leak!

    • @neverknow2474
      @neverknow2474 Рік тому +7

      My biggest request: show off an example of a finished product right at the beginning of the video. a 42 minute video isn't bad, but its easy to just click away if I feel that I am taking the risk of maybe not learning a system that would fit my game. Other than that its not too in depth I think its a perfect amount of detail for what it is, it just takes too long to see it working. that said, great vid! Thank you!

    • @claytonroy629
      @claytonroy629 Рік тому +4

      @neverknow2474 I second this. Honestly I just find it easier to follow along if I know what the product I'm trying to make should look like

    • @LunarEchox
      @LunarEchox 27 днів тому

      why is any code ever written in Godot? everything should be nodes

  • @computersciencestudentriverbat
    @computersciencestudentriverbat Рік тому +168

    Building a tool to solve a very specific problem for your own workflow is the most programmer thing I can image. Giving that tool away to others who might also have that problem is truly the essence of FOSS. I'm sure some game in the future will benefit from this, big or small. Right on!

    • @ezthedev
      @ezthedev  Рік тому +3

      thank you for the encouragement and continued support!

  • @ninism2958
    @ninism2958 9 місяців тому +14

    Your dialogue system is an absolute gem. Thank you so much for your work on this addon, and this video

    • @ezthedev
      @ezthedev  9 місяців тому

      Thank you so much! This means a lot!

  • @wolcamophone4783
    @wolcamophone4783 9 місяців тому +5

    I find it interesting how confident you are in your programming to do the recording live then fix bugs on the fly. Very inspirational.

    • @ezthedev
      @ezthedev  9 місяців тому +1

      haha thanks!
      I just wanted to make sure people see my mistakes and avoid them!

  • @erneset594
    @erneset594 Рік тому +12

    Thank you so much for in-depth tutorial! I'm new into gamedev and i want to make a dialogue-rich game but most of the tutorials go like "just use dialogic! fin". And theres you with amazing flexible tool which allows ton of functionality, with good in-depth explanations and reference code to check if i want to build dialogue parser from the scratch. You're life saver!

    • @ezthedev
      @ezthedev  Рік тому +2

      I'm glad this is helpful! Hoping to be more helpful as I work more on different aspects of my game and contents!

  • @Ghin_Antonic
    @Ghin_Antonic 6 місяців тому +1

    The funny irony of my currently following your card tutorials then imagining "what if I did roleplaying dialogue" and checking your channel to now find this. I pray I make it that far in development because I would love to use this. Even if I don't get that far, thankyou for making & sharing an open source dialogue editor / constructor!

    • @ezthedev
      @ezthedev  6 місяців тому

      haha thanks for the encouraging words and watching my videos! I'm always so happy to hear that I have been making something helpful and needed! so this is perfect! hope you achieve and get to the point you want in your game dev journey!

  • @DanTheGamingDad
    @DanTheGamingDad 5 місяців тому +1

    yes exACTLY what i was hoping to find. God bless you man this is definitely how im going to do dialogue from now on.

    • @ezthedev
      @ezthedev  5 місяців тому

      Wow! Glad to hear this would work for you! I'm always helping and answering here and on my discord and on github so feel free to ask me any questions if you run into any issues

  • @MixonBro
    @MixonBro 10 місяців тому +3

    Thank you so much for creating this. Free plugins like this are a real time (and life)saver. Plus the tutorial was extremely good and useful, especially for newbies like me :D

    • @ezthedev
      @ezthedev  10 місяців тому +1

      Thank you so much for watching! I hope I can keep making things that continue to be helpful for you!

    • @MixonBro
      @MixonBro 10 місяців тому +1

      ​@@ezthedev That being said, I now ran into an issue where I can't get end_of_dialogue_reached() to activate. I imported your cRPG demo to compare code, but even that has the same issue where both options ultimately leave [...] button on the screen (& doesn't do anything).
      DialogueResponse.eod_reached also returns as 'true' but it still adds [...], for both my game and cRPG demo. I didn't find a Github issue for this so is this a classic case of 'works on my machine' (but not on mine lol)

    • @ezthedev
      @ezthedev  10 місяців тому

      @@MixonBro yea end of dialogur signal is deprecated and is replaced by the boolean value.
      The change now should be run the "clean dialogue box" function after the "..." button is pressed for the dialogues response with 'eod_reaches' flagged

    • @ezthedev
      @ezthedev  10 місяців тому

      At the least , let me re-upload yhe plugin so that the old behavior still works eventho it's deprecated! I'll let you know when it's updated (maybe in like 5 hours)

    • @ezthedev
      @ezthedev  10 місяців тому

      @@MixonBro OKAY! it's fixed. Please try and download and use the latest commit (0.1.0-hotfix1) and see if it works. Otherwise, try using 0.0.2 version instead since that's the one the demo was created in! thanks

  • @Frostbyte-Game-Studio
    @Frostbyte-Game-Studio 7 місяців тому +4

    absolutely beautiful. worked like a fucking charm

    • @ezthedev
      @ezthedev  7 місяців тому

      i'm so glad to hear that it works! thanks for watching and using the tool!

  • @0HHC
    @0HHC 7 днів тому +2

    This is awesome! The first one that allows a flow similar to twine. I only wish it was easier to use by non-devs. We work as a team where the devs don’t do much writing. A simpler script-parser would be needed. Especially the brackets for if intimidate writers. Maybe try to stick to something known, like twee, ink or clyde. Then why save everything as json? Resources are closer to the engine and don‘t have to be parsed. Each node should be it‘s own simple txt file, then writers can edit dialogue outside of godot.

    • @ezthedev
      @ezthedev  5 днів тому

      Haha thanks for the comment and suggestion! I definitely am I spired by twine and ink! I had made the design to allow for clear separation for writing and development but I acknowledge that the format can feel intimidating for non-devs! I do have a future plan to hopefully support different formats based on the writer's comfortability! So please look forward to that:)

  • @auraspersonal
    @auraspersonal Рік тому +13

    very cool plug-in! feels a lot more "coder-friendly" than Dialogic, which definitely fills a niche! excited to see how this plug-in evolves :D
    I also loved the live-dev-style of video! do you have a twitch where you do this sort of thing as well? would love to tune in to that :)

    • @ezthedev
      @ezthedev  Рік тому +4

      I tried doing twitch before.. but it was kind of difficult at the time to be developing and be "on" always haha.
      I'm thinking I'll do youtube live sessions for these live dev style work in the future!
      Thanks for the continued viewing and support!

    • @ezthedev
      @ezthedev  Рік тому +5

      Oh and yea! I peeked at Dialogic a little bit and I remembered specifically that I don't want a "visual programming" since once you get proficient the "ease of use" ends up hindering your pace in my personal experience.

  • @el_primer_y_el_ultimo_caiman
    @el_primer_y_el_ultimo_caiman Рік тому +4

    I remember finding your previous video a while back and finding it very interesting. This looks so much better than my graph plugin. I might take the plunge and switch to yours 👏 but will keeo watching and evaluate.

    • @ezthedev
      @ezthedev  Рік тому +2

      Thanks for taking interest and considering this tool! Any feedback on what would make it usable for you (if you feel some important features are missing), I'd love to hear about it and plan for the tools future.

    • @el_primer_y_el_ultimo_caiman
      @el_primer_y_el_ultimo_caiman Рік тому +2

      @@ezthedev in the time since i did decide against it (for now at least), but have another project in mind which might benefit. the game i'm currently on does lean into doing a lot of operations in the graph (as you advise against :P) and relies on a lot of custom graph nodes which i intend to integrate with the event editor later (eg. graphical buttons rather than text line edit for the character and emotion by pulling the loaded actors from the editor), though complex stuff, all the virtual hooks, etc. is still done in the EventObject script. still, i really dig the idea of incorporating both graph and text editing together. i'm not the writer but the main issue is definitely all the dragging to get a single thing done, having both graph nodes and a simple dialogue script within the nodes seems mighty neat to me. especially since the texts in this game should have manual line breaks since they're delivered using (preferably) variably-sized speech bubbles.
      i definitely suggest using a custom resource class for it though.., loading and storing reference to the file is much more convenient that way, as is saving it. like i have it so i make a CommandSequence resource and the plugin detects that, opening the editor in the bottom panel. no dealing with fragile file paths or anything of the sort.

    • @ezthedev
      @ezthedev  Рік тому +2

      @@el_primer_y_el_ultimo_caiman thanks for letting me know in detail of your use case and feedback! I did wonder initially if i should use the custom resource as the file instead of converting from/to JSON . This is helping me think towards using the resource little more, but i'm still somewhat split.. hopefully i can settle this internal conflict soon haha..

    • @el_primer_y_el_ultimo_caiman
      @el_primer_y_el_ultimo_caiman 8 місяців тому

      @@ezthedev Ultimately I made one final version of it, ended up writing it in C++ as a module so it can be extended from any programming language eg. C# + speed + all the features locked behind native modules. Less accessible since you need to build Godot yourself to use it but far more powerful.
      I'm storing the data directly as a Node so that node references can be serialized with ease. It's called godot-flow-script if you're interested, though not very well-documented yet and there are a couple of broken things still. You can do basically whatever you want with it though, even a complex FlowNode should only take a couple hundred lines of GDScript to implement between its GUI and execution and data...

  • @literally_ducko
    @literally_ducko 5 місяців тому +1

    UA-cam recommended me your video right when I'm searching dialogue tutorial, I'm grateful I clicked your video

    • @ezthedev
      @ezthedev  5 місяців тому

      Yay! Algorithm is algorithming! Haha thanks for watching! Let me know if you have any trouble or questions with it. A lot of changes are also incoming soon :)

  • @MewsSnep
    @MewsSnep Рік тому +3

    I'm super excited to give this a try, thanks so much for making it open source!

    • @ezthedev
      @ezthedev  Рік тому +3

      thank you so much for watching and trying it out!
      and .. i noticed the ko-fi tip!
      I appreciate it so much!

  • @hawkgamedev
    @hawkgamedev 10 місяців тому +2

    wow thank you for this, you are a legend!

    • @ezthedev
      @ezthedev  10 місяців тому

      Thanks for watching! Hope this is as useful and exciting it is to you as it is to me!

  • @michas4740
    @michas4740 3 місяці тому +1

    Thank you much for releasing it!

    • @ezthedev
      @ezthedev  3 місяці тому

      Glad I could help!

  • @isabelledotjpeg
    @isabelledotjpeg Рік тому +2

    Thank you for building this, its perfect!

  • @NoxiDream
    @NoxiDream 9 місяців тому +1

    I'm at 14 minutes of the video and just before that you show an error you've made with the var being reset @onready and I think that it's really cool and usefull that you show these kinds of mistakes! It really helps if someone stumble against the same issues and it also help knowing more about the @onready behavior ! Thank you, nice tutorial so far ! I'm trying to implement your cool Plugin to my Point N click prototype I really hope I'm going to make it work ! I think it's the only dialogue system I've seen so far that you can really adapt to differents style of games.

    • @ezthedev
      @ezthedev  9 місяців тому +1

      I'm so glad that you are finding this video and tool helpful!
      It's so cool you are working on point and click style! I love that genre and personally I want to expand on that style too! Good luck, and let me know if you have any questions!

  • @NotSure10423
    @NotSure10423 8 місяців тому +1

    Thank you for your work. Awesome plugin! Thank you so much. Saves so much time.

    • @ezthedev
      @ezthedev  8 місяців тому

      No problem! I'm glad it is helpful!

  • @wronghandlane9665
    @wronghandlane9665 5 місяців тому +1

    Excited to look into this and try!

    • @ezthedev
      @ezthedev  5 місяців тому

      yay! excited for you as well! :D

  • @origenydestino13
    @origenydestino13 8 місяців тому +1

    A fantastic tutorial for a great dialogue system! I've tried one or two I've found around, but I couldn't get them to work properly or connect well with my signals, and this one is definitely working fantastic up until now, so thanks a lot! Thanks for the time dedicated to make it have an appropriate state to the public and release it, I know how much time it has probably taken from you, but we enormously appreciate it!
    Just in case you (or somebody) has a minute, I would like to ask two questions:
    1) How do you trigger this system? I have a code layout to trigger things with a button interaction, but I am wondering what would be the command to trigger this.
    2) How can you change between two different dialogues? I suspect, since the node changing the json is the EzDialogue, that we need to add an instance of Node2D for the DialogueBox on each NPC we want to interact with, correct? What am I getting wrong?
    Such a noob I am. I promise I try my best every day, but sometimes the simplest things seem to not work well for me, so if you have an idea on how this would be triggered in a basic way, that would be very cool. Well, anyway, take care, and have a great weekend!

    • @ezthedev
      @ezthedev  8 місяців тому

      So sorry I'm late on response! I just returned from a vacation and have been catching up on things! I'll try to remember to answer this within next few days!

    • @origenydestino13
      @origenydestino13 8 місяців тому +1

      @@ezthedev no worries, managed to figure things out myself. Thanks anyways, hope you had a great holiday time!

    • @ezthedev
      @ezthedev  8 місяців тому

      @@origenydestino13 oh! Phew! I'm happy to hear that you were able to figure things out!

  • @meemkeeng1636
    @meemkeeng1636 6 місяців тому +1

    As an Ezra you have my respect

  • @albert69Einstein
    @albert69Einstein 8 місяців тому +2

    Pro tip: Control > Layout > Anchor Preset > Custom > Grow Direction > Vertical > Top

  • @EezhamDemon
    @EezhamDemon Рік тому +5

    I found your channel a few weeks ago and was hoping this would be released soon! Congrats on developing this.
    I've barely started using Godot (watched a lot of videos) but I wondered what you thought how you think your plugin is more/less appropriate than other Godot dialogue managers like Dialogic?

    • @ezthedev
      @ezthedev  Рік тому +4

      You know what? I have seen some of these other dialogue solutions but it all had specific things missing that I ended up wanting to make one myself! However, they have been around and open for longer so I'm sure in terms of resilience and community support they are much better than what I made.
      Having said this. I would love to dive deeper to see what difference they are and when I would personally use one over the other!
      Thanks for following along this journey!

  • @BlackGodot
    @BlackGodot 4 місяці тому +1

    It worked perfectly, for two days afterwards it kept giving me several errors saying that certain functions didn't exist even though I didn't change anything

    • @ezthedev
      @ezthedev  4 місяці тому

      We love a good old ghosy errors that mysteriously disappear after no change!! AFAIK it might be the fact that certain "class" needs registering in thr name space of the project before functions are seen... which may take some time for engine to detect.

  • @Peter-qh8zh
    @Peter-qh8zh Рік тому +1

    idk if I will use it because I want to learn a lot, so, doing it myself, but it's cool bro thanks

    • @ezthedev
      @ezthedev  Рік тому

      Go for it! It is a great way to learn! Thanks for watching!

  • @frechjo
    @frechjo Рік тому +2

    This looks awesome.
    Btw, that thing at around 14:00 is so annoying, that the _ready function and @onready vars run after adding the child to the tree, and not when instantiating the scene.
    It breaks the intuitive pattern of building something and adding it to the scene when it's all set up and ready, if you use default values. So no builder pattern, OR no default values, I don't know what's the worst choice here, haha.
    I hope there's a simple workaround for it. If someone knows a better way to deal with that, please reply :)
    [edit] Now that i wrote this, I'm thinking why was i even using @onready, if the values don't depend on the tree being there? I think that's the whole purpose of it. Maybe just saying "var X = Y" was enough

  • @NotSure10423
    @NotSure10423 8 місяців тому +1

    Isnt it better to put the dialog window on bottom like the Animation or AnimationTree, on when you press the EzDialogue-node on the scene-viewer? The EzDialogue menu on top beside AssetLib is maybe not the right place? Opinion on that?
    As well the Json file. Isit not better to create an own file-format? Even if it is json.

    • @ezthedev
      @ezthedev  8 місяців тому

      It may be! Exiting thing is I'd love to consider all these better options and make improvements! Maybe something customizable... si ce what works for me might not work for you! Please feel free to add these wonderful considerations as "feature request" on the github!

  • @Aes_Saru
    @Aes_Saru 5 місяців тому +1

    looks awesome. I was wondering if this could be combinded with the Rich system tho to get like text effects for dialogues tho

    • @Aes_Saru
      @Aes_Saru 5 місяців тому +1

      I played around with it and discover. it can work with it.

    • @ezthedev
      @ezthedev  5 місяців тому

      Haha I'm glad you figured it out! It treats any display as text so it should work as is for you to treat it as rtf!

  • @jackharrison948
    @jackharrison948 3 місяці тому +1

    Hey Ezra, thank you so much for making an open source project like this. I had a feeling that I would have to make a plugin like this but I basically have no programming experience so it wasn’t very viable. I’m having trouble with the choice index. No matter what button I click, it always comes back 0. I think it has to do something with the “_on_choice_selected” function in the dialogue box script because for some reason, “int” is green instead of red. I have no clue what could be causing this.

    • @ezthedev
      @ezthedev  3 місяці тому

      So the buttons should emit different "id" as part of the parameters for being clicked. I have a feeling there's something wrong with proper ID set up during the button creation.
      Since you are new to programming, feel free to drop by our discord to share screenshots and chat more live! (It's harder for me to notice comments here) worst case scenario we can schedule a time to hop on voice chat on discord to help you real time while Sharing screen!
      Here's the link
      discord.gg/VCaG9S3u

  • @LORDSofCHAOS333
    @LORDSofCHAOS333 Рік тому +2

    that's a cool plugin

  • @kraig800i
    @kraig800i 7 місяців тому +1

    Apologies if you said it and I'm just to tired to take it in . . . . . but would you reccomend seperating it one node per conversation or one node per character? I I have a game with 8 characters across 9 levels with characters often being encountered 3-6 times a level. How should I devide up the nodes? ? ?
    Plus do these all get attached to the main character or the indivdual characters? ? ?

    • @ezthedev
      @ezthedev  7 місяців тому +1

      I recommend separating it to have one dialogue file per character, and within the scene use just one EzDialogue that's shared by all the different dialogues!
      I know this might sound all confusing over text! So, when I wake up tomorrow I'll make a video for this and try to upload asap!
      "EASY Setup for Multiple Character Dialogue in GODOT" maybe..?

  • @mersonkrazyTV
    @mersonkrazyTV 11 місяців тому +1

    Thanks for the plugin! This is extremely helpful and versatile! I have a few questions:
    1. How would I be able to trigger a dialogue box outside of the _ready function? (I'm fairly sure the way to do it is to just use the start dialogue function in whatever you use to trigger it, plus the dialogue generated func)
    2. How would you implement a typewriter style text scroll into the label? I think that text style and this plugin would be a great combo
    3. I've seen you say to use queue_free() to keep the button instances from leaking- where do I put that in the code? It just makes it so it all disappears when I use it
    thank you!!

    • @ezthedev
      @ezthedev  11 місяців тому

      Thanks for watching and using the plugin! I'll try my best to answer the questions here!
      1. yup! just call start_dialogue whenever and from wherever you want to trigger the dialogue.
      2. i treat "display" of the text and "building" of text to show separately. I would store the "texts_to_display" in full when you receive the response signal, then turn on a flag called something like "text_display_in_progress".
      Under _process() you can have the text on the dialogue box increase by one letter from "texts_to_display" until the length of both matches while "text_display_in_progress" is true.
      Make sure you set this to false once you displayed all of the texts from "texts_to_display".
      Alternatively, you can just have it display one more letter every "given" seconds while the length of "displaying text" is less than "texts_to_display" if you don't want to use the flag.
      I know this could sound confusing here... so i'll try and answer this on my next "answering all your questions" video!
      3. it should be added under "clear_dialogue_box" function where the "choice" is being removed from the box.
      So, in addition to having $VBoxContainer.remove_child(choice), there should be choice.queue_free() 15:15 line13

  • @HackHeyner
    @HackHeyner 23 дні тому +1

    Hey Ezra,
    I've been playing around with the EzDialogue and loving it! Really great work, simple and efficient!
    Quick question: I'm trying to set up a dialogue where my character says three lines:
    "Graw.."
    "My name is Din'Old"
    "Welcome to my forest!"
    I was hoping to create 3 nodes in the editor, one for each line. Then, with the player's interactions, the dialogue progresses.
    The only way I could make it work was by using a single node and separating each line with a `---`.
    Cause when I used the `->`, the dialogue don't stop.
    Is there any way to make the "3-node mode work"?

    • @ezthedev
      @ezthedev  23 дні тому +1

      Hi! Thanks for using the dialogue!
      If you want those three dialogue to progress within a single interaction, I think you are right in that for each node, you end with '---' then '-> next node'
      So that you can have three separate nodes for each of the lines.
      Otherwise, you can have a special "choice" word that you program as "no choice progress"
      For example, if you write '?> continue -> next node'
      Then you can catch choice word '"continue" in the code to interpret as a pause. Hope this makes sense.

    • @HackHeyner
      @HackHeyner 23 дні тому

      @@ezthedev perfectly sense! I really appreciated

  • @Wilson-or1rt
    @Wilson-or1rt 7 місяців тому +2

    Hi Ezra. You've made an awesome dialog system! Is there a way to change a color of one of the choices based on a variable? I couldn't figure that out.

    • @ezthedev
      @ezthedev  7 місяців тому

      Hi and thanks for watching!
      Did you want to change the color of the choice font specifically? And did you want to set that in the dialogue?

    • @Wilson-or1rt
      @Wilson-or1rt 7 місяців тому +1

      @@ezthedev Color of the choice. Like a choice is unavailable.

    • @ezthedev
      @ezthedev  7 місяців тому

      @@Wilson-or1rt I see! I'd love to help you better in detail! You can share screenshots and longer texts and even share screen if you want to come on to my discord! I've been helping folks there!
      I understand if you rather not Then I'll try to answer here as best as I can!
      discord.com/invite/qxeNYFga

    • @ezthedev
      @ezthedev  7 місяців тому

      @@Wilson-or1rt otherwise, if you just want background color changed you can do something $button_node_namr.bg_color = Color("#ffffff")
      Or you can change the color of ui components like "button" is by changing "theme" property
      Here are some resources I've found!
      forum.godotengine.org/t/how-to-change-color-of-button-backgorund-in-gdscript/16816
      docs.godotengine.org/en/latest/tutorials/ui/gui_skinning.html

    • @Wilson-or1rt
      @Wilson-or1rt 7 місяців тому +1

      @@ezthedev thanks for your answers :) I've found a workaround for my needs. I compare choice_text var in add_choice function to the choice I want to make unavailable and change parameters of the node based on that comparison.

  • @espacemaxim
    @espacemaxim Рік тому +1

    Awesome!!!

  • @beholder_xP
    @beholder_xP 8 місяців тому +1

    Why is this awesome addon is not part of official godot AssetLib?

    • @ezthedev
      @ezthedev  8 місяців тому

      Haha thanks for such a high compliment! I hope I can get it to a quality to embe actually good enough to be included as base engine tool :)

  • @middasqweed6331
    @middasqweed6331 Рік тому +1

    hey, making an undertale like game here and gotta say, this is highly appreciated lol. currently at timestamp 13:47 and struggling with getting the project to run right. everytime i run the scene it says "Invalid call. Nonexistent function 'instantiate' in base 'GDScript'." I've doublechecked the code and there seems to be nothing wrong with it in terms of typos. any clue on what the problem might be?🤔

    • @ezthedev
      @ezthedev  Рік тому +1

      Hi! Thanks for watching and choosing to use the tool! It might be better to create an issue on the repository where you can share some screenshots so I can have a better understanding on what might be going on!
      But from what I can tell the instantiate "missing" might mean the engine can't find the class/scene to instantiate because the script of the scene/class has an error and can't be properly compiled. Double check that there are no errors there and that there are no typos! Otherwise, please create an issue on the repo and I'll follow up!

  • @FullAltOsu
    @FullAltOsu 5 місяців тому +1

    im pretty new to this, could someone give a brief comparison between this and dialogic 2?
    and one important point is also the translation/localization for the dialogues

    • @ezthedev
      @ezthedev  5 місяців тому +1

      Dialogic is great and have been around longer! One major reason I decided to make my own instead of just using dialogic (aside from wanting to try making something interesting) was that dialogic is too heavy on "visual scripting".
      I have a philosophy that after you get really good at using visual scripting and highly UI based programming, the ui gets in the way of speed and flow! And this focuses on organization as graph, but ability to type out dialogie and its logic. Hope this helps! And hopefully someone else could answer as well! Otherwise, let me know if you have more questions

  • @TodorImreorov
    @TodorImreorov 22 дні тому +1

    Looks almost exactly like Yarn :)

    • @ezthedev
      @ezthedev  22 дні тому

      Heavy inspiration from it for sure!

  • @DiersakZelesnik
    @DiersakZelesnik Рік тому +3

    The way it's made now, does the page break need to have a "..." choice to move onto the next or could you have your interact button pressed anywhere move onto the next choice (Like in games where it has a little arrow at the bottom of the dialog box to indicate theres a page break)?

    • @cybeartron
      @cybeartron Рік тому +3

      Frr! Got the same doubt. Want to make it completely keyboard navigable ngl.

    • @DiersakZelesnik
      @DiersakZelesnik Рік тому +2

      @@cybeartron i feel like that wouldnt be too bad if you added controls to select and tab through the buttons

    • @cybeartron
      @cybeartron Рік тому +1

      Yeah I just added a grab_focus in the ready function of the choices@@DiersakZelesnik

    • @ezthedev
      @ezthedev  Рік тому +3

      So the page break command "---" can move on when you call ".next()" on the dialogue handler Node.
      Which means, on this example I made it call .next() when clicking a "..." button but you can make it trigger off of anything you want! Keyboard interaction, or automatic and timed and etc.

    • @DiersakZelesnik
      @DiersakZelesnik Рік тому +1

      @@ezthedev Ah I see. So would you add an interaction in that if statement waiting for X interaction and call .next() on that interaction instead of populating a continue to next page button? like (forgive me for psuedocode here, not well versed in GDScript)
      if choices.is_empty() && input.on_press()
      Dialogue.next()
      Most of my coding experience is in processing data so the concepts in UI design are a little foreign to me.
      Thank you for the helpful responses and the FOSS spirit. This is pretty incredible.

  • @Zap-Plays
    @Zap-Plays Рік тому +1

    Fantastic add-on! Thanks so much for sharing! This will make what I'm trying to do with my current project so much easier.
    I have run into a small issue however. I'm 25:00 into the tutorial and my code looks to be the exact same as yours, but for for some reason after I've already selected choice 1 or 2, the following response to those choices still have 2 selectable options available.
    How do I have it where the choices stop popping up after the player has already picked one. I imagine this is an easy fix, but I'm not sure how to implement. If you're able to help, I'd greatly appreciate it.

    • @ezthedev
      @ezthedev  Рік тому +1

      Hey thanks for watching!
      And it would probably best for me to help if you can show as screen shot the code and the way things are set up.
      If you don't mind doing it, you can create it as an issue for the repository and I'll try to take a look asap!( I'm currently travelling so it might take a bit )
      Meanwhile, if the choice elements are keep popping up after selecting a choice...there's a chance the dialogue box is not being properly reset to when receiving a new response signal.
      You will want to queue_free() the choice buttons whenever new response generated signal is being handled again. Let me know if this helps otherwise, I'll be looking for the issues in the repository for a further help!

    • @Zap-Plays
      @Zap-Plays Рік тому

      Thanks for responding. I have reported the issue in the repository.
      when you say to queue_free() the choice buttons, how exactly should I go about doing so? I'm still new to Godot and have tried putting "queue_free()" in the dialogue box script's functions, but so far what I have tried hasn't worked. Where is the exact place, you'd like me to impliment the queue_free()? thanks again.@@ezthedev

    • @NotIntense
      @NotIntense Рік тому

      @Zap-Plays I had that same issue, it turned out it was in my func clear_dialouge_box(): method
      The issue was I had $VBoxContainer/Text.remove_child(choice) instead of $VBoxContainer.remove_child(choice)
      Hope this helps!

  • @sorry4flying
    @sorry4flying Рік тому +1

    im at about the 22:30 mark in the video, and I believe I added everything the same way you did, but anytime I try to run, it says "Invalid call. Nonexistent function 'add_text' in base 'Node2d' . Im very new to this (doing my first game jam) so any help would be appreciated :)

    • @ezthedev
      @ezthedev  Рік тому

      hi! so sorry, I didn't see this comment earlier!
      There are few reasons why it might say that.
      so I'm guessing you are referring to the line $DialogueBox.add_text(response.text)
      that error "invalid call. Nonexistent function ..." Means, that the function named "func add_text(...)" you wrote in your DialogueBox.gd is not detected. Let's go through what could cause this mismatch.
      1. you could have mispelled $DialogueBox and it's note correctly referring to the right Node in the scene.
      2. You didn't attach DialogueBox.gd to the Node2D "DialogueBox" so it is treating your "DialogueBox" node as just plain Node2D, not the one you specifically defined.
      3. You have an unresolved error in DialogueBox.gd, so Godot is unable to parse/read/interpret the Contents of DialogueBox.gd attached to $DialogueBox incorrectly. (the unresolved error could be anything from mispelling,indentation, or just some actual issue)
      Let me know if any of this helps! Otherwise hop on the discord discord.gg/CpkCrtfc
      and give us more questions and context (like screen shot of Dialoguebox.gd and etc)

    • @sorry4flying
      @sorry4flying Рік тому

      Thanks so much! I’ll try looking at it again today

  • @watzky6498
    @watzky6498 6 місяців тому +1

    ah looks like this only works for normal visual novel sorta dialogue
    tried making it work with a scrolling history type of system and when i call .next it makes the container of the text labels bigger lol

    • @ezthedev
      @ezthedev  6 місяців тому

      Haha actually I've helped someone setup scrolling history type like Disco Elysium with the dialogue. The box will need to be created in a slightly different way!
      The font issue is interesting and strange! If you'd like, I can always help by getting on screen share voice call on the discord!

    • @watzky6498
      @watzky6498 6 місяців тому +1

      @@ezthedev well its not the font that gets larger but rather the margin container holding the vbox with the text bits and buttons are separate scenes
      it just makes the margin container expand for some reason
      im rather new to coding in general so its been an intresting lesson in trying to debug hehe

    • @watzky6498
      @watzky6498 6 місяців тому +1

      OOP wait its creating margin containers that are just invisible

    • @watzky6498
      @watzky6498 6 місяців тому +1

      yea it just seems that .next will create a new textlabel even if theres nothing to generate so it just generates empty i guess il try adding a check to see if theres anything to generate

    • @watzky6498
      @watzky6498 6 місяців тому +1

      yup i just added a check to see if the text arg was blank and if it is then not to generate a textbox and that works

  • @Ralke1
    @Ralke1 Рік тому +2

    OMG! god like plugin

  • @fernefer1071
    @fernefer1071 Рік тому +2

    This is so cool

  • @pretendsushi2929
    @pretendsushi2929 8 місяців тому +1

    Awesome plugin! Is there any documentation for this to use it in ways not covered by this tutorial?

    • @ezthedev
      @ezthedev  8 місяців тому

      Thanks!
      As of right now, all the documentation is limited to the Readme shown in the repository here github.com/real-ezTheDev/GodotEzDialoguePlugin
      And it's just "how to use" doc. I haven't had the chance to dive into how the underlying architecture works, but im out here always answering questions if you have more questions!

    • @ezthedev
      @ezthedev  8 місяців тому

      I'm also very responsive in our discord too if it gets to that haha

    • @pretendsushi2929
      @pretendsushi2929 8 місяців тому +1

      @@ezthedev Thanks! I was just wondering because I think it would be good to have a description of all the functions available in the plugin, but I think this tutorial covers most of it. Thanks again

    • @ezthedev
      @ezthedev  8 місяців тому

      @@pretendsushi2929 I see! Yea all the ones I cover here should be explained in the document, but video is supplemental

  • @drac8854
    @drac8854 Рік тому +2

    one question
    How are chose id is being assign in plugin
    i mean when i say dialogue.next(1) how does it know which option i am selecting
    is this `1` refer to `#1` that we see in grapheditor?
    Also it can not go backwards?
    Example i have selected option 2 and in option 2 i would show text and then give option to go back to all options screen

    • @ezthedev
      @ezthedev  Рік тому +1

      That's a good point.
      As of right now, the order of choice is the order they were processed, so typically top to bottom in the file.
      Otherwise, most of the time it doesn't matter because the dialogue response will give you the choices in an array. For example, response.choices = [this is choice 0, this is choice 1, this is choice2]
      And you would show these options to the player, and when the player selects a choice, you need to make sure you call the .next() with the choice id matching the index in the original array.
      Let me know if this is still not clear.

    • @drac8854
      @drac8854 Рік тому +1

      @@ezthedev thanks for the answer
      Could you please re read i added another question 😅

    • @ezthedev
      @ezthedev  Рік тому

      I see what you mean. You want to go to "previous node" I think that's a good feature to have! I should probably add it..
      For now, you can hard code going back to the "menu" node with the goto command. Or you could save a variable with a name of the node I'm the menu node and later have a 'routing node' where you check the value of that variable and route to appropriate node if you wanted something where you can go "back" to different places.
      Otherwise, I'll have to add "go to and come back" and/or goto previous node type!

    • @drac8854
      @drac8854 Рік тому +1

      @@ezthedev
      >you can hard code going back to the "menu" node with the goto command.
      Eh what?? where is goto command?

    • @ezthedev
      @ezthedev  Рік тому

      @@drac8854 ah sorry I mean the "-> menu node" I call the "->" go to haha..

  • @Godot-Game-Dev
    @Godot-Game-Dev Рік тому +2

    Pretty epic

  • @emergencyrussell
    @emergencyrussell Рік тому +1

    A maybe-newbie question: What's the best-case for triggering these dialogue scenes? Right now I have a visibility system with all the separate dialogue scenes in a CanvasLayer in my 3D scene.
    Somewhere between the isolated dialogue scene and the CanvasLayer, they lose their initial focus, and I'm not sure how to shift focus back to the choice buttons for each dialogue scene as they activate. I was wondering if that was due to my hacky visibility toggling and if there was a better way.
    I also wanted to say that custom signal feature is powerful! So convenient! Keep up the great work! ♥

    • @ezthedev
      @ezthedev  Рік тому +1

      Hi thanks for using the plugin and watching my video! There is actually something called "grab focus" so maybe thay is something you can use
      docs.godotengine.org/en/stable/tutorials/ui/gui_navigation.html

  • @Dr4gonSt4lker
    @Dr4gonSt4lker 9 місяців тому +1

    Hi! First of all, thanks for the great plugin and really good explanation video. I'm surely interested in using it in my projects, but still have few things that I didn't get during wathing the video and would like to get answer if it's possible.
    So, my first question is - do we need to create new json file for every dialogue in the game? or can we just create dialogues in one file and then get the one we need direct in the code?
    Second, I had an idea of positioning dialogue boxes above character's heads. How can I do that? Should I create few dialogue boxes and make them child nodes of characters for that?
    Once again, thanks for the great video and plugin!

    • @ezthedev
      @ezthedev  9 місяців тому

      Hi! Thanks for watching.
      You can certainly make separate json dialogue file per character/scene/dialogue. If you want to keep everything in one file, you can do that. If you look at the third argument required for dialoguereader.start_dialogue(), you can see that it takes the "node name". The dialogue will start from this dialogue node you provide.
      So you can have different dialogue starting point in a single file and use the code to specify where to run from.
      For having different types of dialogue boxes and positioning, I would personally setup a separate box for each type so that I don't have to worry about resizing/positioning in game. It would be easier to setup just in the editor.
      Hope this helps!

  • @ollie808
    @ollie808 11 місяців тому +2

    Hi! is there any way to resize text in the plugin? I'm referring the the right window within the editor. It's usable, but it's a bit difficult to read right now.

    • @ezthedev
      @ezthedev  11 місяців тому

      Hey! Have tried holding ctrl(or cmd for mac) and scrolling up and down? I can't try right now, but I think since I'm using godot's text editor, I think that kind of normal operation might work! Let me know if it doesn't work!

    • @jacksons6377
      @jacksons6377 3 місяці тому +1

      @@ezthedev Hi there, I just downloaded your plugin, and I'm also having trouble with this. I'm on mac, so for me the normal text editor zooms with "CMD" and "+". But when I try that on the plugin text, it stays the same size. CMD and Scroll doesn't work for me either.

    • @ezthedev
      @ezthedev  3 місяці тому

      @@jacksons6377 huh interesting! I'm using the default text edit window provided by godot itself so it should follow pattern ... have you tried while text window is focused, holding cmd+scroll wheel?

    • @jacksons6377
      @jacksons6377 2 місяці тому +1

      @@ezthedev Yeah, I cmd+scroll doesn't work for me either. Just for complete transparency, I'm on a laptop, so I'm using the trackpad. I don't think that should affect anything though. Does cmd+scroll wheel work on your end?

    • @ezthedev
      @ezthedev  2 місяці тому +1

      @@jacksons6377 for me it's ctr+scroll and that works for me.. I wonder if there's different key combinations for Mac. I'm surprised the normal pinchzoom TouchPad motion doesn't work :/

  • @murky2311
    @murky2311 8 місяців тому +1

    Hey, I´m trying to implement your dialogue manager into my game. I followed your tutorial exactly, but when I try to start the game, there is an error with the start_dialogue function. The error states: "Invalid call. Nonexistent function "start_dialogue" in base "Nil"." I´m still pretty new to programming and I can´t seem to figure out what I did wrong. I would really appreciate it if anyone could help me with this issue.

    • @ezthedev
      @ezthedev  8 місяців тому

      Hi! It could be a lot of things so it would help to see what you have going in your project. Do you think you can upload your project in github or if you want, you can join our discord and show some screenshots and I can try and help!

    • @murky2311
      @murky2311 8 місяців тому +1

      @@ezthedev alright, I'll Go on your Discord. Thanks for the Fast reply.

    • @ezthedev
      @ezthedev  8 місяців тому

      Great! Here's the link
      discord.com/invite/c8gcPMp9

  • @Gramps36025
    @Gramps36025 3 місяці тому

    Hey, I've been trying to make it so that you type and press enter it will give you the dialog. Is there anywhere where I can find information on how to do that?

  • @YoniFinkels
    @YoniFinkels Рік тому +2

    You are awesome, appreciated. thank you very much!

  • @nannkacam9123
    @nannkacam9123 Рік тому +1

    Hi, your video lesson helped me a lot! can anyone tell me how to change the interface?

    • @ezthedev
      @ezthedev  Рік тому

      Thanks for watching! But to better help, could you explain what you exactly mean by "the interface"?

  • @fuarrkk
    @fuarrkk Рік тому +2

    does each node include options for localization?

    • @ezthedev
      @ezthedev  Рік тому +2

      It needs to! That's actually in my next list of features. I'm hoping to make it so that localization json is extracted from the dialogue files and be able to take in localization language-country during processing.
      But to answer your question, at the current version localization is not natively supported. :(

  • @Gramps36025
    @Gramps36025 4 місяці тому +1

    Does this work as well as a text box or only as a button, like typing left and you go left?

    • @ezthedev
      @ezthedev  4 місяці тому +1

      It can work with whatever you want! It may take some figuring out but it should work!

    • @Gramps36025
      @Gramps36025 4 місяці тому

      @ezthedev This is my first project on Godot, where could i get help for this?

  • @PaulGeraskin
    @PaulGeraskin Рік тому +1

    It looks cool! How is it difficult to add translations(other languages) for dialogues?

    • @ezthedev
      @ezthedev  Рік тому +1

      I'm actually working on localization (translation) as my next feature! So stay tuned, but as a small idea. I'm planning on making it work along with the existing localization features of Godot. Specifically, using the widely used "gettext" docs.godotengine.org/en/stable/tutorials/i18n/localization_using_gettext.html#advantages
      Of course, it may change if I find that it doesn't work well with the tool, but yea! Thanks for watching

  • @chriisduran
    @chriisduran 8 місяців тому +1

    so good

  • @fabiovieira3348
    @fabiovieira3348 8 місяців тому +1

    for some reason i get "Invalid get index 'start' (on base: 'Dictionary')." 22:36

    • @ezthedev
      @ezthedev  7 місяців тому

      so sorry for a late reply! I have been so busy.. taking a look right now and will answer soon!

    • @ezthedev
      @ezthedev  7 місяців тому

      does it say on which line/file the error is? usually when you see something like that there could be an unresolved error within the file, or the name of the variable is written wrongly.
      Feel free to join the discord and ask me questions so I can help you looking at screenshare / screenshot!
      discord link: discord.gg/KycCwPQT

  • @1tsKayne
    @1tsKayne 11 місяців тому +1

    How would I add audio files to the specific dialogue(-options)?

    • @ezthedev
      @ezthedev  11 місяців тому +2

      Do you mean you want audio to play after the option is selected? Or do you want to play something as they get revealed?
      If you want the sound to play when the option is selected, you can have something like.
      ?> option number 1 {
      signal(sound,sound_name)
      -> next dialogue node
      }
      And implement the custom signal with where you would take "sound_name" to determine which sound to play.
      Let me know if this helps. Otherwise, I could work on showing example in future videos

    • @1tsKayne
      @1tsKayne 11 місяців тому +1

      @@ezthedev Thats cool, thanks! Yeah, if you dont mind, showing examples would help me a lot since i am a total beginner in godot

  • @maxperegrine7055
    @maxperegrine7055 Рік тому +1

    I can't rename the nodes and I can't connect them either, please help

    • @ezthedev
      @ezthedev  Рік тому +1

      Hey! Sorry I had released a broken version recently. It should be fixed now. Please try the newest build and let me know if it is still broken

    • @ezthedev
      @ezthedev  Рік тому +1

      Also connection should happen automatically when using the goto (->) command. It might be delayed since recent build because I made it update less but maybe that is not good.. ill look into fixing it again!

    • @maxperegrine7055
      @maxperegrine7055 Рік тому +1

      I reinstalled and it works properly now, and I rewatched the video closer to figure out how to connect the nodes lol. Thank you so much!
      I was wondering if you might know how to define a variable in the dialogue editor. I'm very new to this whole thing so maybe the answer is obvious, but what I'm trying to do is include the name for the speaking character in each dialogue node

    • @ezthedev
      @ezthedev  Рік тому +1

      ​@@maxperegrine7055 i'm glad it worked!
      So, i made this tool so that there is no native way to assign /define variables . However, you can make your own signal to do that if you want to.
      Let me explain and show you example on this video by timestamp.
      One way is to pre define the variable in the "state" and then just use it in the dialogue.
      You can define a variable in the state object as seen in this example 26:12 On that time stamp, I am defining a variable to use as an example for the "varaible injection" example.
      Or if you want to be able to define a new variable via something like "singal(set,variable_name,variable_value)", you can follow the example on 29:35 .
      Hope this helps!

  • @Badral-Din_S
    @Badral-Din_S 6 місяців тому +1

    Can we use it for normal dialogues? I mean without the option to choose (yes or no) (right or left), thank you

    • @ezthedev
      @ezthedev  6 місяців тому +1

      Certainly! The choices are only implemented incase you need it! Otherwise, you can "move" to the next node by doing .next() without providing any choice index! I think there might be one example in this video between choices.. haha if not let me know if you need help figuring out!

    • @Badral-Din_S
      @Badral-Din_S 6 місяців тому

      @@ezthedev Thank You Very much 😊

  • @xxdray64
    @xxdray64 Рік тому +1

    Incredible! Just started learning Godot, and I just have one question. Is it possible to change the dialogue_json variable through code by passing in a JSON so I could use this node with different conversations? Whenever I try to change it, I get the error of "Trying to assign value of type 'String' to a variable of type 'JSON'." In short, is there a way to use a JSON as an argument without using just its string file path?

    • @ezthedev
      @ezthedev  Рік тому +1

      Hiya thanks for using the tool!
      Let me see if I'm understanding this right. You want to programmatically change contents of the JSON file generated by the plug-in?
      It might help me understand better if you can tell me the specific desired beahvior!

    • @xxdray64
      @xxdray64 Рік тому +1

      Sorry for the confusion. I don't want to change the contents of a single JSON. I want to have multiple JSONs, and be able to give it a different one whenever it's called. Like, what I was trying to do initially was have one scene that would initiate a dialogue scene, and as it does this, it would give give a new value to a Singleton file's variable called "DialogueToLoadNext." Then, when the dialogue system loads up, it would read the path from the auto loaded Singleton, and load whatever conversation JSON it's pointing to. But this is where the error comes in, as it is trying to grab a JSON but only finds a string. Is there any way I can achieve this without making a new copy of the node for each individual conversation JSON?@@ezthedev

    • @ezthedev
      @ezthedev  Рік тому +1

      I see! Well, underneath the hood when you hand over the json file to the "EzDialogueReader" Node to ".start()", it reads and loads the json as Resource object called DialogueResource, which I think would help with what you want to do. Let me make some changes so that it can be used easier for your case(might take me some time haha)

    • @xxdray64
      @xxdray64 Рік тому +1

      I appreciate the help! You're really going above and beyond here. Thank you

    • @ezthedev
      @ezthedev  Рік тому +1

      Haha always happy to help and see the game makers follow their goals!

  • @АндрейДильман-ф6ь

    What about localisation functionality?

    • @ezthedev
      @ezthedev  Рік тому

      It's coming up ! By next 2 major patches! That's the plan

  • @Spaced0ut000
    @Spaced0ut000 11 місяців тому +1

    how do you transfer the github file it isnt working for me in the addons

    • @ezthedev
      @ezthedev  11 місяців тому

      Hey! Sorry you are having dome trouble. Could you tell me more in detail exactly what you are trying to do? I'm not quite understanding where you are trying to transfer the file to.
      If it is to your project, you can download first then copy and paste the folder.

    • @EvanOdson
      @EvanOdson 10 місяців тому +1

      @@ezthedev I'll step in here, if y'all don't mind! I've downloaded and imported the ez_dialogue folder into an addons folder in my project, just as you did. I can see it in the plugins section of project settings, BUT when I go to enable it, I get the following error:
      Unable to load addon script from path: 'res://addons/ez_dialogue/ez_dialogue.gd'. This might be due to a code error in that script.
      Disabling the addon at 'res://addons/ez_dialogue/plugin.cfg' to prevent further errors.
      I am using Godot 3.5 - I hope that's not the issue.... it very well could be, and I'd understand (not ready to jump to Godot 4 just yet)
      Thanks for any and all assistance!

    • @ezthedev
      @ezthedev  10 місяців тому

      Oh interesting! I have not tested the plugin with 3.5.. I have a feeling that might not work since I know there are some keywords and code in the plugin that only works in 4.0+

  • @nightlock7702
    @nightlock7702 Рік тому +1

    Is it possible to make it display one line at a time?

    • @ezthedev
      @ezthedev  Рік тому

      hi thanks for watching!
      Do you mean one line and wait for user interaction then next?
      or do you mean you want animated text display like some old school RPG?

  • @elderdragon7856
    @elderdragon7856 Рік тому +1

    Is it possible to export for HTML after installing this plugin?

    • @ezthedev
      @ezthedev  Рік тому +1

      Do you mean could the game be exported as HTML normally from Godot? I usually export my games as Web play, so it should be able to.
      Although, I know Godot web export does have some known issues generally.
      Or did you mean something different?

    • @elderdragon7856
      @elderdragon7856 Рік тому +1

      @@ezthedev yes, exactly that. Than you!

  • @Theraot
    @Theraot Рік тому +2

    The demo is leaking the buttons. Yes, you removed them, but you didn't free them. Nodes are not reference counted.

    • @ezthedev
      @ezthedev  Рік тому

      oh interesting!
      You mean the demo in the repo?
      I'm utilizing "queue_free()" which seems to indicate it internally dealloc and if there is any unhandled reference that reference would be invalid.
      I checked the debugger's Node count during the demo's run and it does seem to drop the node count when buttons are removed. Is there something else that needs to be done, and which monitoring should I be looking at to confirm this?

    • @Theraot
      @Theraot Рік тому +2

      @@ezthedevI meant in the video, when you use remove_child. If I had found something like this in the repository, I would have made an issue on github.
      And yes, queue_free should free the nodes sometime between the current frame and the next. There is a lot more to how it works, but almost always it is what you want.

    • @ezthedev
      @ezthedev  Рік тому

      Ah! I see! Haha thanks for pointing it out!

  • @komkowvadim
    @komkowvadim 11 місяців тому +1

    hi i am using c# will your plugin works anyway?

    • @ezthedev
      @ezthedev  11 місяців тому

      Hi! I don't see why it wouldn't! But I haven't personally tried it out yet!
      I havent looked too deeply yet, but there seems to be a solution/discussion regarding using the plugin with c# and it seems one of the users were able to work it out! Please check it out and if you need more support feel free to let me know!
      github.com/real-ezTheDev/GodotEzDialoguePlugin/issues/7

  • @royandugu8685
    @royandugu8685 2 місяці тому +1

    Does this work for C# ?

    • @ezthedev
      @ezthedev  2 місяці тому +1

      It should! Conceptually thr class and it's functions for the dialogue should be same as any other gdscript to c# usage.
      I've had some users say they were able to use it with c#! So i know it can be used, But also had some people ask how they would do it. I have not worked with c# in godot so I don't have a direct answer... so it'll be a but of experiment for me to try and figure out exactly how that might work.

  • @azdelux5182
    @azdelux5182 5 місяців тому +1

    Can you give another link to your discord please ? all those you sent are dead now

    • @ezthedev
      @ezthedev  5 місяців тому

      Ah! Yea sorry haha to prevent spam bot joining I put time limit on links! Here's the new one you can use!
      discord.com/invite/kEtrbtf5

  • @DiscourseElysium
    @DiscourseElysium 3 місяці тому +1

    cant get it to install properly but looks cool

    • @ezthedev
      @ezthedev  3 місяці тому

      Hi! What version of godot are you using? It's for 4.x so if you are using previous version that might be the issue. Otherwise, I can help you!

    • @DiscourseElysium
      @DiscourseElysium 3 місяці тому

      @@ezthedev thanks for the reply! It’s the latest version which I think is 4.3, but maybe it’s because I’m on a Mac or something?

    • @ezthedev
      @ezthedev  3 місяці тому

      @@DiscourseElysium hmmmm it shouldn't impact the OS version, but to help you better what are you seeing as the problem? what part of the plugin just not working when installing?

    • @DiscourseElysium
      @DiscourseElysium 3 місяці тому +1

      @@ezthedev when I drag and drop I get an error on the bottom of Godot that says something like "failed to load plugin with parse error"

    • @ezthedev
      @ezthedev  3 місяці тому

      @@DiscourseElysium very interesting let me try to replicate and get back to you

  • @gwrgrw4077
    @gwrgrw4077 Рік тому +1

    Hey, great addon, I really like it but I feel there needs to be some kind of tutorial on how to implement it in an actual game like an FPS (I've barely seen tutorials on those and I need one rn). I'm having trouble mainly with the game showing different dialogue depending on what is instantiating it (For example if I click button 1, i wanna get button1dialog.json as the dialog tree, but if I click button 2, i wanna get button2dialog.json)

    • @ezthedev
      @ezthedev  Рік тому

      I'll look at some opportunity to answer specific questions like these later!
      For this particular example, you can always have a button call EzDialogue.start_dialogue(button1dialogue,state)
      that way you are "starting" the dialogue with two different dialogue file when clicking on a button.
      Now , if you mean you want it so that you can have a dialogue that looks like
      ?> button 1 {
      signal(start_new_dialogue,button1dialogue)
      }
      ?> button 2 {
      signal(start_new_dialogue,button2dialogue)
      }
      you can implement your "custom signal" named "start_new_dialogue" to close out any on going dialogue logic and start a new dialogue.

  • @Zap-Plays
    @Zap-Plays 11 місяців тому +1

    I was finally able to come back to this tutorial and finish it! EzDialogue works wonders and I'm hoping it can be my go to dialogue system for when I'm trying to make a game, especially since I'm an amatuer.
    Idk if you can answer this or if maybe you're planning to address questions in an update video, but I'm currently trying to attach the EzDialogue system to any NPC the player interacts with. I have an interaction system that I got from the channel DashNothing, but when I try to impliment EzDialogue into this interaction system, either the game crashes or EzDialogue doesn't pop up at all. I'm simply trying to have it where when a character walks up to a NPC and the button pressed[E] to interact with said NPC is pressed, EzDialogue is triggered. If there's any way you can help, I'd greatly appreciate, if not, I totally understand as i'm asking for something out of the scope of the video.

    • @ezthedev
      @ezthedev  11 місяців тому +1

      Hi! Thanks for using the plugin and watching the video!
      The use case you are mentioning with interacting should work normally. (In fact, my game uses such interaction.)
      I'll have to check out the interaction system you mentioned to better understand, but at base, it should work if you trigger ".start_dialogue" wherever you want to trigger the interaction. There maybe nuisances with giving control focus between different UI and such.. hmm
      I'll try and cover it on my next "answering questions" video!

  • @Sum1Dumb103
    @Sum1Dumb103 6 місяців тому +1

    I get this error:
    Failed to load script "res://addons/ez_dialogue/ez_dialogue.gd" with error "Compilation failed"
    and also this one:
    Failed to load script "res://addons/ez_dialogue/main_screen/main_panel.gd" with error "Parse error"

    • @ezthedev
      @ezthedev  6 місяців тому

      Ooo this is as soon as you paste the addon and enable it in your project? If so, what version of godot are you using? The plugin support is only for newer versions of godot (4.x)

    • @ezthedev
      @ezthedev  6 місяців тому

      Also, please make sure you are usijg latest version of the main branch. Meanwhile I'll try to test in a bit and see if I get the same error!

    • @ezthedev
      @ezthedev  6 місяців тому

      it seems like i can add the plugin without error on my godot 4.2.2
      Are you facing this in a very specific part of the video? Would love to help you if you can share your project via github!