Announcement

Collapse
No announcement yet.

Dialogue Plugin

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

    #31
    Originally posted by SaviorNT View Post
    My only complaint so far is the ability to mouse-zoom in/out when creating the data asset. If this was implemented, I would be in heaven
    The zoom has been implemented in version 1.1, please see post #27 for more details.

    Originally posted by SaviorNT View Post
    Basically, a dialog tree that has editable Title | Description.. the arrows and such should remain the same. I'd buy said product for $9.99 (you guys already have the structure and such, so might be easy to strip the functionality and leave the node system intact?) Granted I could just use this system and not actually branch it to anything, but it would be nice to have something that doesn't compile / add any extra coding to the game size. For example, take my "current" use of the plugin:
    We currently have no plans to release a node editor without the dialogue functionality.
    Dialogue Plugin

    Comment


      #32
      We recorded a video tutorial on conditions and events for people who are interested:

      Last edited by Glabrezu; 06-05-2016, 08:48 AM.
      Dialogue Plugin

      Comment


        #33
        I tried to follow the video but nothing seems to change, like I said in a previous post, I've never touched C++ before so I'm not too sure what I'm doing wrong, I tried making a boolean condition but can't quite figure it out.Click image for larger version

Name:	CPP_Code.png
Views:	1
Size:	141.5 KB
ID:	1107749
        Last edited by Hafgren; 06-05-2016, 05:01 PM.

        Comment


          #34
          Is there a way to know when the dialogue is finished?

          Comment


            #35
            Originally posted by Hafgren View Post
            I tried to follow the video but nothing seems to change, like I said in a previous post, I've never touched C++ before so I'm not too sure what I'm doing wrong, I tried making a boolean condition but can't quite figure it out.
            1. Actually the compiler seems to ignore your code entirely, because what I see on the screenshot shouldn't compile.

            See post #37.

            2. Regarding the actual code and how to fix it.

            Suppose the NPC character has a bool "isPartyMember" in it (in blueprints). If it's true, this means the character is in your party. So, to check for it in dialogues, you can add:



            When you edit the dialogue, check "Has Conditions" and check "Must Be In Party" if you want to display that line only if the NPC you're talking to is in your party. You will also have to add the actual logic that checks "isPartyMember" in the UMG widget, as per the video.

            To access the NPC you're talking to (so you can access its bool "isPartyMember") in the UMG Widget blueprint, you need to do the following:

            1. Go into your dialogue widget and add a variable of your NPC class. Check "Editable" and "Expose on Spawn".
            I used ThirdPersonCharacter, but you need to use whatever class you use for NPCs:




            2. When you create the Widget, you must assign the NPC you're talking to.



            And so then you'll be able to check "isPartyMember" in your logic.
            Last edited by Glabrezu; 06-06-2016, 03:59 AM.
            Dialogue Plugin

            Comment


              #36
              Originally posted by Koraemon View Post
              Is there a way to know when the dialogue is finished?
              The dialogue exits in Dialogue widget -> ToNpcReply function.

              Dialogue Plugin

              Comment


                #37
                Originally posted by Hafgren View Post
                [...]
                Alright, so I bought the plugin myself to see how it works. It turns out it's injected into the engine, so you need to do a few extra steps to be able to edit the code.

                Here are the steps that were missing from the documentation and the video. They need to be performed before everything you see on the conditions/events tutorial: Missing steps
                Dialogue Plugin

                Comment


                  #38
                  Cool stuff, just bought it tonight myself and am excited to try it out! Should save some time as I continue battling programming AI and haven't the time to delve into too much interface work. I was wondering, is it possible to do something simple like adding a cast-to/set/get node and reference directly into the dialogue node interface? Such as being able to have your own functions accessible directly from the dialogue graph. Something like that would save having to compile C++ at all for events and triggers, then again it doesn't seem difficult at all to do that with the guide you provided.

                  Awesome stuff! The way it's graph-based makes complete sense to me for easily being able to see dialogue branching in a quest. Seems very well thought out in that you could fool someone into believing it ships with UE4 by default

                  [EDIT]Nevermind I figured out a nice solution (at least for my purposes) that I figured I'd share if anyone else wanted to do something similar, after following the provided video tutorials from the author and making a few tweaks.
                  http://i.imgur.com/RfP7ptB.jpg

                  Basically the tag system works well with anything else from the tutorial. I'm used to blueprints but this was my first time using C++ so I very funnily thought the Matinee was a specific function/variable and not just describing the variable FName, just renamed it to say QuestControllerBP instead of MatineeActor to maintain coherence . I chose instead to use an actor blueprint to store my custom gameplay-related events like doors opening, for unlike matinees, actor blueprints can be placed in multiple levels and easily be reused. Not to say Matinees aren't bad either, especially for the example given in how it can animate normally static objects. Heck, I might end up calling matinees through my own actor blueprint so I can have camera angles during dialogue

                  Anyways I basically made a new blank actor blueprint called QuestControllerMainBP, gave it a simple int variable (default 0), and gave it a new blank function called questchanged. Then I simply told it in my custom Dialogue Widget to find the class (just like in the video), change the integer, and then run the event questchanged. Now on any new blueprint I make a child of the QuestControllerMainBP, I can simply drag out from the event QuestChanged and do simple if statements to check which queststage the integer is currently set to, allowing me to trigger whatever I want to happen with blueprints depending on the stage set during whatever dialogue option triggered it. (IE, in the same dialogue tree, one option could set it to be 1, which would cause the QuestControllerMainBP child with a corresponding tag such as Quest1, to cause the NPC to become hostile. If I instead set it to 2, I could have it so the same blueprint gives the player coin, opens a door, triggers an animation or animations on multiple objects/whatever. The reasoning behind function vs event tick being it'll only check the quest stage when it should while the player goes through the appropriate node in the dialogue tree.

                  Basically with this setup I should be able to have one QuestController that works with all the possible outcomes of a single Dialogue Branch, kind of inspired by how Oblivion and Skyrim relied upon QuestStages to basically define everything. Bonus points for conditions, meaning I'll probably be able to make it so I can have one dialogue tree for multiple rounds of conversations as a quest progresses. (I'm a fan of having things condensed, organized, and child-based)

                  But that's just my solution, the plugin itself is setup great and works wonderfully! It's a joy being able to write and see everything laid out, while easily altering how the nodes path to each other or expand. Thanks for the release
                  Attached Files
                  Last edited by Deathstick; 06-07-2016, 09:32 PM.

                  Comment


                    #39
                    Finally bought this after weeks of looking at it.

                    I did however email codespartan.supp@gmail.com to try and get myself added to the Github. I made a foolish mistake of moving to 4.12 a week ago, and can't actually use the plugin yet xD.
                    Current Project - *shush shush* Ehh.. When its ready?

                    Comment


                      #40
                      is there a way to bind the keys to dpad on a controller like in fallout4?
                      https://gyazo.com/25e1a868ae3dbaab87214adfafeab00c
                      Last edited by Koraemon; 06-07-2016, 06:32 PM.

                      Comment


                        #41
                        Looks like the marketplace version has been updated and you can now download the 4.12 version via marketplace.
                        Current Project - *shush shush* Ehh.. When its ready?

                        Comment


                          #42
                          Originally posted by Deathstick View Post
                          But that's just my solution, the plugin itself is setup great and works wonderfully! It's a joy being able to write and see everything laid out, while easily altering how the nodes path to each other or expand. Thanks for the release
                          Thanks, we're glad that you found the Dialogue Plugin useful. Be sure to post screenies of your game when you're ready

                          Originally posted by Koraemon View Post
                          is there a way to bind the keys to dpad on a controller like in fallout4?
                          https://gyazo.com/25e1a868ae3dbaab87214adfafeab00c
                          Yes. You'll have to customize the UMG widget for that.
                          Dialogue Plugin

                          Comment


                            #43
                            This plugin has been great so far but I've hit a wall trying to figure out how to combine multiple text replacement macros. What I'm trying to do is setup a "replace "%pctitle% and "%pcsurname"" within the same dialogue. I thought I could achieve it through the use of an append function (as shown below) but the dialogue will only replace whichever one is plugged into "A" on the append node and leave the others as "%variablename%". Is there a certain way of going about achieving this? Thank you.

                            Click image for larger version

Name:	append1.jpg
Views:	1
Size:	463.6 KB
ID:	1107958

                            Comment


                              #44
                              Originally posted by Jazz View Post
                              This plugin has been great so far but I've hit a wall trying to figure out how to combine multiple text replacement macros. What I'm trying to do is setup a "replace "%pctitle% and "%pcsurname"" within the same dialogue. I thought I could achieve it through the use of an append function (as shown below) but the dialogue will only replace whichever one is plugged into "A" on the append node and leave the others as "%variablename%". Is there a certain way of going about achieving this? Thank you.

                              [ATTACH=CONFIG]96867[/ATTACH]
                              From what I see, it looks like you just need to filter the string twice by doing a replace, set your options, then use that replace return value as the source for the next replace. I'm not in front of UE4, so I can't be for certain but that should work for what you are trying to do.
                              Current Project - *shush shush* Ehh.. When its ready?

                              Comment


                                #45
                                Originally posted by Arixsus View Post
                                From what I see, it looks like you just need to filter the string twice by doing a replace, set your options, then use that replace return value as the source for the next replace. I'm not in front of UE4, so I can't be for certain but that should work for what you are trying to do.
                                That worked perfectly thank you! Of all the things I tried it never occurred to me to do that.

                                Comment

                                Working...
                                X