Announcement

Collapse
No announcement yet.

Dialogue Plugin

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Has anyone tried using this with a first-person game?

    Comment


      Hi there,

      I am trying to get access to dialogue events in blueprint. When I break the DialogueNode, I do not see Events or Conditions. How can I see them in Blueprints? To try and expose to BP, I modified Dialogue.h from:
      Code:
      UPROPERTY(Instanced, EditDefaultsOnly, Category = "Dialogue Node")
      TArray<UDialogueEvents*> Events;
      to:
      Code:
      UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Dialogue Node")
      TArray<UDialogueEvents*> Events;
      to no avail.

      Anybody have any suggestions?
      Attached Files

      Comment


        To anyone having trouble compiling this with 4.24 now that TScopedPointer is fully deprecated:

        Change DialogueViewportWidget.h line 218 to
        Code:
        TUniquePtr<FDialogueZoomLevelsContainer> ZoomLevels;
        and DialogueViewportWidget.cpp line 128 to
        Code:
        ZoomLevels = TUniquePtr<FDialogueZoomLevelsContainer>(new FDialogueFixedZoomLevelsContainer());

        Comment


          Originally posted by hydr0k View Post
          Hi there,

          I am trying to get access to dialogue events in blueprint. When I break the DialogueNode, I do not see Events or Conditions. How can I see them in Blueprints? To try and expose to BP, I modified Dialogue.h from:
          Code:
          UPROPERTY(Instanced, EditDefaultsOnly, Category = "Dialogue Node")
          TArray<UDialogueEvents*> Events;
          to:
          Code:
          UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Dialogue Node")
          TArray<UDialogueEvents*> Events;
          to no avail.

          Anybody have any suggestions?
          Adding "BlueprintReadWrite" worked for me.

          Have you copied the plugin into your project, removed the plugin from engine (in Epic Launcher), changed the lines in your project's version of the plugin, then recompiled the project? Because you may have done everything right, but your project is using the engine's plugin, not your project's version of the plugin.
          MMO Starter Kit
          Dialogue Plugin
          Voxel Plugin
          Character Customization: Female
          Character Customization: Male

          Comment


            Originally posted by CodeSpartan View Post

            Adding "BlueprintReadWrite" worked for me.

            Have you copied the plugin into your project, removed the plugin from engine (in Epic Launcher), changed the lines in your project's version of the plugin, then recompiled the project? Because you may have done everything right, but your project is using the engine's plugin, not your project's version of the plugin.
            Hey thanks a ton CodeSpartan, your suggestion worked like a charm. Appreciate the support. Cheers!

            Comment


              Originally posted by Namesis View Post
              Hi,

              I have few questions.

              1. Is there is a input box for NPC Name. I tried adding %npcname% but it wont take it. is there a way to show the NPC Name (on the run, say same Dialogue but different NPCs). This is where the "Calvin" name shows up. Not in the PC Answer or NPC Answer part.

              2. Is there a way to add a input text? meaning, if you have this "Guild NPC" that can create guilds, so in one of the PC_Answers the player can write in a inputbox"DialogPluginGuild" (instead of choosing, since everyone wants their own guildname).. then hit continue to create it.
              bump on this question

              /10char

              Comment


                Originally posted by JR_SilentGames View Post


                In case anyone else had this issue, it was resolved by rebuilding after downgrading VS2019 to 16.2 (issue occurs on 16.3).
                Upgrading VS2019 to 16.4.1 also seems to fix the issue.

                Comment


                  Is there any way to import Dialogue payloads?

                  Export seems to work without issue (pushes the data structure into COPY or T3D file, which is human-readable), but I can't find a way to import that data back into a Dialogue object in-engine.

                  Comment


                    Is there a way to check if a node has been visited?
                    Lets say you only want an NPC to say something once, then say something else every time

                    Comment


                      Originally posted by the_tubby1 View Post
                      Is there a way to check if a node has been visited?
                      Lets say you only want an NPC to say something once, then say something else every time
                      Yes you have to make a system for managing that. But it will be condition branch. Here's something I made quick, but it will depend on your needs.
                      So whats happening is in a branch I set a condition. In that condition I set a position of an array, and check that value. I would set that value if I had already talked to the person. So default all values are 0 for everything I need to track. When I talk to someone I set that position in the array to 1. When I do what they asked, I set it to 2. Each of those are saved on the player character, and pulled up and checked against in the condition in the dialogue tree. Its basically setting up a simple quest system. You'd probably want to use a data table since this will be harder to manage, and prone to bugs in human error.

                      Click image for larger version  Name:	gamestates.jpg Views:	0 Size:	80.8 KB ID:	1703394
                      Last edited by daveSchoneveld; 01-01-2020, 12:23 PM.
                      www.youtube.com/user/destruct007

                      Comment


                        Is there a way to get color or rich fonts in the dialogue plugin text?

                        What I want to is 1, Highlight key words. and 2. show extra information, in my case what language they are speaking.

                        Ex "You'll find him in the Barons Den near the south side docks" (French)

                        I first looked into using the vars but that's not going to work unless its added to the code.

                        EDIT SOLVED! in 4.20 there is a Rich Text Block. Following this, I can now do exactly what I wanted, it does take a bit of set up to get to work but its pretty straight forward. Match the text box in all settings then replace it's 2 reference in the graph.
                        https://www.unrealengine.com/en-US/t...ich-text-block

                        EDIT2 I'm pretty excited about this. So awesome!Click image for larger version

Name:	result.jpg
Views:	257
Size:	30.3 KB
ID:	1703411
                        Click image for larger version

Name:	setup.jpg
Views:	294
Size:	92.9 KB
ID:	1703410
                        Last edited by daveSchoneveld; 01-01-2020, 01:50 PM.
                        www.youtube.com/user/destruct007

                        Comment


                          Originally posted by daveSchoneveld View Post
                          Is there a way to get color or rich fonts in the dialogue plugin text?

                          What I want to is 1, Highlight key words. and 2. show extra information, in my case what language they are speaking.

                          Ex "You'll find him in the Barons Den near the south side docks" (French)

                          I first looked into using the vars but that's not going to work unless its added to the code.

                          EDIT SOLVED! in 4.20 there is a Rich Text Block. Following this, I can now do exactly what I wanted, it does take a bit of set up to get to work but its pretty straight forward. Match the text box in all settings then replace it's 2 reference in the graph.
                          https://www.unrealengine.com/en-US/t...ich-text-block

                          EDIT2 I'm pretty excited about this. So awesome!Click image for larger version  Name:	result.jpg Views:	34 Size:	30.3 KB ID:	1703411
                          Click image for larger version  Name:	setup.jpg Views:	38 Size:	92.9 KB ID:	1703410
                          Great idea, I'll try to add it in the next version out of the box for other users.


                          Originally posted by jwainwright View Post
                          Is there any way to import Dialogue payloads?

                          Export seems to work without issue (pushes the data structure into COPY or T3D file, which is human-readable), but I can't find a way to import that data back into a Dialogue object in-engine.

                          Ctrl+v is supposed to "paste" whatever human-readable serialized nodes you have in your clipboard buffer. It creates all these nodes, and they're supposed linked the same way, etc. I can't imagine you haven't tried it though?
                          This was exactly the idea - that two writers can share this json-like text between themselves with a simple copy-paste through some instant messaging like Discord. I also wanted to serialize conditions/events, but never went that far.
                          Last edited by CodeSpartan; 01-06-2020, 10:10 PM.
                          MMO Starter Kit
                          Dialogue Plugin
                          Voxel Plugin
                          Character Customization: Female
                          Character Customization: Male

                          Comment


                            Originally posted by Namesis View Post
                            Hi,

                            I have few questions.

                            1. Is there is a input box for NPC Name. I tried adding %npcname% but it wont take it. is there a way to show the NPC Name (on the run, say same Dialogue but different NPCs). This is where the "Calvin" name shows up. Not in the PC Answer or NPC Answer part.

                            2. Is there a way to add a input text? meaning, if you have this "Guild NPC" that can create guilds, so in one of the PC_Answers the player can write"DialogPluginGuild" (instead of choosing, since everyone wants their own guildname).. then hit continue to create it.
                            In short, for 1 you have to pull the name from your NPC actor in your Get_npcname function. You may want to save a reference to the NPC you're talking to in your character, for instance. Just follow the tutorial on %variable%-like strings here.

                            And for 2 all you have to do is call a dialogue event that would display a widget on your screen with an input field. But it's a bit more advanced, because you'd also want to tie it in with some other mechanics, like "you can only progress in the dialogue once you've typed something in", which isn't exactly complicated, but would require some blueprints experience.
                            Last edited by CodeSpartan; 01-06-2020, 10:06 PM.
                            MMO Starter Kit
                            Dialogue Plugin
                            Voxel Plugin
                            Character Customization: Female
                            Character Customization: Male

                            Comment


                              Originally posted by CodeSpartan View Post
                              Ctrl+v is supposed to "paste" whatever human-readable serialized nodes you have in your clipboard buffer. It creates all these nodes, and they're supposed linked the same way, etc. I can't imagine you haven't tried it though?
                              This was exactly the idea - that two writers can share this json-like text between themselves with a simple copy-paste through some instant messaging like Discord. I also wanted to serialize conditions/events, but never went that far.
                              I did find that it pasted a JSON format when spit out into a text editor after I asked, which will work closely enough for what I want to do. I'm essentially looking at how feasible it'd be to convert a large articy:draft project to this dialogue plugin (through some home-brewed python).

                              With the JSON formatting I can get 80% of the way there (script converts articy exported dialogues/objects to dialogue plugin JSON) The rest will be manually importing/connecting/etc individual pieces and building, as you said, conditions and the like.

                              Events and conditions being serializable would be a big win.

                              I think my original ask was if there was a way to have a specific filetype imported to unreal as a dialogue (binary) object. So I could (in theory) manually build out the JSON for a conversation, stick it into a file ("file.dlg" or somesuch), and have Unreal be able to import/reimport/etc. It'd allow third party implementations of how to organize and build dialogue trees. If that makes sense?

                              Comment


                                Originally posted by CodeSpartan View Post

                                In short, for 1 you have to pull the name from your NPC actor in your Get_npcname function. You may want to save a reference to the NPC you're talking to in your character, for instance. Just follow the tutorial on %variable%-like strings here.

                                And for 2 all you have to do is call a dialogue event that would display a widget on your screen with an input field. But it's a bit more advanced, because you'd also want to tie it in with some other mechanics, like "you can only progress in the dialogue once you've typed something in", which isn't exactly complicated, but would require some blueprints experience.
                                Hello, I have a quick one for you I'm hoping you can assist with... There was actually a PM sent I believe, regarding it but I have a feeling you may have missed it. In any case, if all of your great plugins and toolkits are of any indication I know you're incredibly busy, but if you could find the time to PM me it would be greatly appreciated. Thank you!

                                Comment

                                Working...
                                X