Announcement

Collapse
No announcement yet.

Dialogue Plugin

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

    Originally posted by sarlewis View Post
    Can someone explain how to make this wonderful project work for a more common type of GAME such as third person type of gameplay. I am having trouble using this plugin in my thirdperson game
    It all depends on your game. I'm going to assume for a second that your third person game has a crosshair, and you want to "talk" to the NPC when the NPC is in your crosshair AND not further than 2 meters away from your character.

    This system would involve Linetraces on Tick, and a basic understanding of what class inheritance is. The simplest would be for your NPCs to inherit from one parent NPC class, and when you do a Linetrace, you check if it casts to an NPC. The more correct approach would be to have a Blueprint Interface, because talking is just a particular case of "using", like opening a book, or looking inside a chest, but this is a more "advanced" way.
    Anyway, to do a Linetrace, you'll need some basic understanding of how to set up Collision Channels.

    If you don't have a crosshair in your game, but simply want to talk to the closest NPC to your character, you'd need to place a collision sphere around your character, and then detect when an NPC enters your sphere. This also involves collision channels.

    If you have a mouse based control scheme, then it's all much easier, and a working example can be found in the demo project linked on the marketplace page.

    I'm not trying to be evasive about answering your question, but game logic in a broad sense is just not part of the dialogue system. Your particular problem requires an interaction system. Incidentally, there are some interaction systems on the marketplace, so I'd recommend looking into them, or getting on Udemy and watching a couple of tutorials on the subjects I've mentioned to get a better grasp on the engine.
    Let me know if you have any questions.
    MMO Starter Kit
    Dialogue Plugin
    Voxel Plugin
    Character Customization: Female
    Character Customization: Male

    Comment


      UE 4.26.0 has a bug, where Rich Text Blocks inside a Retainer Box display garbage. And Dialogue Plugin relies on just that hierarchy. So I can either release a perfectly fine version of the plugin that simply doesn't display rich text correctly in 4.26.0, or delay the release until a hotfix? I don't want to cut out the rich text functionnality just for a short while, and then bring it back in. So I don't know...

      Here's an example of the problem.
      It should display:


      It actually displays:


      I have reported the bug. When the issue appears on the tracker, I'm inviting you all to vote it up. I'll put a link here.
      Last edited by CodeSpartan; 12-06-2020, 10:23 AM.
      MMO Starter Kit
      Dialogue Plugin
      Voxel Plugin
      Character Customization: Female
      Character Customization: Male

      Comment


        I've released the 4.26 version, it features a comments system as described on the previous page. No news about the engine bug that breaks rich text yet.
        Don't migrate for now if you're using rich text.
        Last edited by CodeSpartan; 12-08-2020, 12:35 AM.
        MMO Starter Kit
        Dialogue Plugin
        Voxel Plugin
        Character Customization: Female
        Character Customization: Male

        Comment


          Thank you so much for the detailed explanation on how to implement the delay functionality in C++.
          I'm also really impressed with how fast you made the plugin available for 4.26. I'm loving the comment bubbles!

          Comment


            Hi, love the plugin so far and it seems very straightforward and easy to use, thank you. I am having an issue with calling inside created Dialogue events though. When I want to cast to a placed NPC from within an event (to turn on an attached light bulb, for example) what should I aim to call for? I'm somewhat newer to Unreal so I apologize if this is a basic question. I tried to do a straight CastTo node, but it fails to cast (confirmed with print strings). Calling All Actors of Class doesn't work because, while I can call the actor, I can't Get anything specific from there, such as the light bulb.
            What would be the correct method to talk to placed NPCs in the world from Dialogue Events?

            Comment


              Hello,

              I have an initial dialogue with 3 questions, immediately I would like only one to appear. after that i wanted to set a boolean at the end of it and that when returning to Npc it would show only option B or C (if the boolean return true or false).

              I try but I didnt figure how to work, do I need put a condition in each node?

              And that within each option B or C there would be response variations like "Yes / Yeah / Yep /" each time you back and talk with same Npc. with randomly show some of the asnwers, how I can do that?

              And why not a discord server?

              Thanks in advanced!

              Comment


                How close the dialog without need choose an answer in some cases? Not always. Like NPC say something and the dialogs closes after 2 seconds.

                Comment


                  I'm not getting any remote functionality with this plug-in at all. When I push the bottom face button on the gamepad the only thing that happens is the next button keeps getting highlighted brighter and brighter. Even the left click on the mouse isn't working when I click the next button. The dialogue widget won't go away.You definitely need a discord channel.
                  Last edited by macsmw1id; 12-18-2020, 10:26 AM.

                  Comment


                    Originally posted by macsmw1id View Post
                    I'm not getting any remote functionality with this plug-in at all. When I push the bottom face button on the gamepad the only thing that happens is the next button keeps getting highlighted brighter and brighter. Even the left click on the mouse isn't working when I click the next button. The dialogue widget won't go away.You definitely need a discord channel.
                    Responded to your email.

                    Originally posted by Mostarda TK View Post
                    Hello,

                    I have an initial dialogue with 3 questions, immediately I would like only one to appear. after that i wanted to set a boolean at the end of it and that when returning to Npc it would show only option B or C (if the boolean return true or false).

                    I try but I didnt figure how to work, do I need put a condition in each node?

                    And that within each option B or C there would be response variations like "Yes / Yeah / Yep /" each time you back and talk with same Npc. with randomly show some of the asnwers, how I can do that?

                    And why not a discord server?

                    Thanks in advanced!
                    A lot to unpack here.
                    For your first question where you want A, but then on your next revisit you only want B or C, you have multiple ways to do that.
                    Way #1: the condition on B and C should be "if A was visited and if B should be displayed", and same with C. By "and" I mean the node should simply have two conditions.
                    And the condition on A should be "A wasn't visited?".
                    So you use three bools in total in this case, or maybe just one enum if that works for you.
                    Way #2: have your answer to A lead to a similar node, but it would only have B and C as answers, with appropriate conditions for each.
                    Up to you which approach to use, both would work.

                    As for how to implement a random "Yeah/Yes/Yep", you can use the Text Variables. You type in %yes% into the node, and then define what it should return - you generate a random number and "Switch" on it. More on that in the documentation, paragraph "5. Variables in text".

                    Originally posted by Mostarda TK View Post
                    How close the dialog without need choose an answer in some cases? Not always. Like NPC say something and the dialogs closes after 2 seconds.
                    You can use a Dialogue Event. In this event, simply call a "Remove from Parent" on the dialogue widget reference. The reference has to be saved into a variable when you "create widget of type". You can do it in Character, Controller, Player State or wherever it is that you create the dialogue widget.

                    Originally posted by Mostarda TK View Post
                    And why not a discord server?
                    I prefer email for work, discord for personal stuff.
                    Last edited by CodeSpartan; 12-19-2020, 08:48 AM.
                    MMO Starter Kit
                    Dialogue Plugin
                    Voxel Plugin
                    Character Customization: Female
                    Character Customization: Male

                    Comment


                      Hello, I've been having this problem while packaging my project for linux :

                      "ERROR: Missing precompiled manifest for 'DialoguePlugin'. This module was most likely not flagged for being included in a precompiled build - set 'PrecompileForTargets = PrecompileTargetsType.Any;' in DialoguePlugin.build.cs to override.
                      PackagingResults: Error: Missing precompiled manifest for 'DialoguePlugin'. This module was most likely not flagged for being included in a precompiled build - set 'PrecompileForTargets = PrecompileTargetsType.Any;' in DialoguePlugin.build.cs to override."

                      The plugin is residing in the engine and I have tried setting 'PrecompileForTargets = PrecompileTargetsType.Any;' in DialoguePlugin.build.cs.
                      I'm still receiving the same error.
                      Last edited by yranos; 12-28-2020, 06:17 AM.

                      Comment


                        Originally posted by yranos View Post
                        Hello, I've been having this problem while packaging my project for linux :

                        "ERROR: Missing precompiled manifest for 'DialoguePlugin'. This module was most likely not flagged for being included in a precompiled build - set 'PrecompileForTargets = PrecompileTargetsType.Any;' in DialoguePlugin.build.cs to override.
                        PackagingResults: Error: Missing precompiled manifest for 'DialoguePlugin'. This module was most likely not flagged for being included in a precompiled build - set 'PrecompileForTargets = PrecompileTargetsType.Any;' in DialoguePlugin.build.cs to override."

                        The plugin is residing in the engine and I have tried setting 'PrecompileForTargets = PrecompileTargetsType.Any;' in DialoguePlugin.build.cs.
                        I'm still receiving the same error.
                        Thanks for the report, I'll check it out in the next few days.
                        MMO Starter Kit
                        Dialogue Plugin
                        Voxel Plugin
                        Character Customization: Female
                        Character Customization: Male

                        Comment

                        Working...
                        X