Announcement

Collapse
No announcement yet.

Dialogue Plugin

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

    #76
    Originally posted by MarGon View Post
    hi,
    very usefull plugin. works fine for me, but is there anywhere a overview how the variable types are called in c++? i especialy search for actor class refference.
    thanks
    Depends on what you want to do with that.

    If you want to spawn an Actor of a certain class, you can use the following:
    TSubclassOf<AActor> ActorToSpawn;

    Or if you want to kill a certain character, you could use the tag system.
    Dialogue Plugin

    Comment


      #77
      Hi,
      Is there a way to grey out dialog line that do not fulfill conditions instead of not showing it?

      Comment


        #78
        Originally posted by sgorazd View Post
        Hi,
        Is there a way to grey out dialog line that do not fulfill conditions instead of not showing it?
        Sure, it can be done by modifying the UMG widget. If you need help with that, don't hesitate to ask.
        Dialogue Plugin

        Comment


          #79
          Hey there. I'm really interested in your plugin mainly because another plugin hasn't been updated since 4.11 and I REALLY want to take advantage of 4.12. Found this baby and saw how....evolved it is compared to the other one. I have a couple of questions though.

          - How acceptable is this plugin for a primarily blueprint project? I'd rather stick to blueprints, to save time and money for the project.

          - I see that when you put a player choice node, it allows you to click on it, but goes right into the reply from the NPC. Can you make it so the player's dialogue is spoken when clicked on the choice? My character is fully realized and I don't want him to be a mute.

          - Is there any hope for Articy:draft integration in the future?

          - Is there a plan to export import dialogue text into CSV/XML and/or offer Localization features?

          - Last, I made my own node that handles my own bank of Global Variables. Both Get and Set. Is it possible to change how conditions are handled, therefore utilizing my own bank to handle condition checks?

          Thanks for your time! Much appreciated. I look forward to diving into this excellent plugin.
          Current Project: Shadow Over Isolation

          Comment


            #80
            Wait a minute I'm doing a dialog game, does this mean Unreal can handle environment variables for flags? Have a look at this script because I use truckloads of environment Variables flags in my own Dialog but this is not written for the Unreal Engine but written as a windows console script. to allow me to test all the dialog branches and storyline events out in my game.

            But my game has got over 20,000 lines of interweaving text dialog, In order for it to work, I had to first define a huge amount of environment variable tags (flags) first. (over two thousand flags to keep track of everything, this includes keeping track of entities, loot drops and so on) I don't think Blueprints alone can handle tens of thousands of lines of dialog and thousands of tags. You would need a tag string text file database.

            if %vypercaptain% EQU 1 goto vypertour1
            if %snohatch% EQU 1 echo. Jones: Commander, we have a problem down here in the brig with the Snowhatch.
            if %snohatch% EQU 1 echo.
            if %snohatch% EQU 1 echo. Commander: What is the trouble?
            if %snohatch% EQU 1 echo.
            if %snohatch% EQU 1 echo. Jones: Well sir, its changed color.
            if %snohatch% EQU 1 echo.
            if %snohatch% EQU 1 echo. Commander: Oh? I better come take a look and see for myself.
            if %snohatch% EQU 1 if %loana% EQU 1 echo. Loana: Sounds like trouble.
            if %snohatch% EQU 1 echo.
            if %snohatch% EQU 1 echo.
            if %snohatch% EQU 1 echo. A) Visit the brig
            if %snohatch% EQU 1 echo.
            if %snohatch% EQU 1 set /p x1=
            rem if %snohatch% EQU 1 if %x1%==a goto REM NOT YET
            echo.
            if %tesscredits% GTR 600000 echo. You have enough credits to buy the Mark III Scanner.
            echo.
            if %goofaceslip% EQU 1 goto medgoo

            rem = If Party has all 10 plants, jump to Medical Bay to Doctor Thompson Poison Plant Storyline Script
            if %poisonbatch% EQU 1 goto docpoisonplant
            if %rosednasample% EQU 1 goto docrose
            if %stinkyvinus% EQU 1 goto vinus2
            if %kartifact% EQU 1 goto kreomvin
            if %debriscourse% EQU 1 goto debrisjh
            if %stormtell% EQU 1 goto exitthestation
            if %stormtell% EQU 0 echo.
            if %nc7shipreport% EQU 1 goto bridgereporteng
            cls
            echo.
            if %droidmemup% EQU 1 goto compucore
            if %hospvendes% EQU 1 echo. Skinar: Whew that was close Commander, they nearly succeeded in jaming the signal
            if %hospvendes% EQU 1 echo. A second longer and I would not have been able to transport you outta there in time.
            if %hospvendes% EQU 1 echo.
            if %hospvendes% EQU 1 echo. Commander: Worry about that later right now, work on clearing the docking codes so we can
            if %hospvendes% EQU 1 echo. launch the ship and get the hell outta here. I'm going to the Infirmary to
            if %hospvendes% EQU 1 echo. give her the medical supplies.
            if %hospvendes% EQU 1 pause && goto medoc
            if %hurtleonix% EQU 1 echo. Skinar: Go see the doctor
            if %hurtleonix% EQU 1 echo. she has the Leonix under observation.
            if %hurtleonix% EQU 1 echo.
            if %secureguard% EQU 1 echo. There's a security guard standing nearby watching you. . .
            if %malpractice% EQU 1 if %secureguard% EQU 1 echo. Storm: Why did you have to mess with the hospital for, this security guy gives me the creeps.
            if %malpractice% EQU 1 if %secureguard% EQU 1 sound play Storm1142.wav
            if %medy% EQU 1 echo. You have a new message.
            if %loana% EQU 1 if %vinusdone% EQU 1 echo. Jones: You have some messages, Commander.

            rem -- If Loana Party Member is dead ---
            if %loanadead% EQU echo. Jones: Commander, Central wants to speak to you you in the Vidcom Room. && bg sleep 4000 && echo. Comander: I'll get right on it && bg sleep 4000 && goto vidcom

            rem -- If Vinus is destroyed ----
            if %vplanetwarn% EQU 1 echo. Jones; Commander, Central wants to talk to you right now on Vidcom, it's urgent. && bg sleep 3000 && goto vidcom2
            echo.

            Rem -- If Kreom Artifact has been found ----
            if %kreomfind% EQU 1 echo. Storm: I know where the Telos System is. Let me see the Galaxymap. && sound play Storm121.wav && bg sleep 5000
            if %kreomfind% EQU 1 echo.
            set /a rprogress=%rprogress%+2
            if %rprogress% GTR 10 set rprogress=10
            echo. Research Progress: %rprogress% of 10
            echo.

            Rem -- If you found The Slipstream device and Rex is in the Party.

            if %spacefold% EQU 1 if %rex% EQU 1 echo. Titan Suns Rex: So what do you guys what to show me that's so important?
            if %spacefold% EQU 1 if %rex% EQU 1 echo.

            I have 10 party members in my game but this script shows all the different events happening at different stages of the game with different party members or events happening in one location, the main bridge which get triggered off at different times depending on the players progress in the game. So the dialog at the moment won't make much sense because its triggering off from other dozens of events elsewhere
            in the script.

            I don't know how to write my script into Unreal Blueprint Format or C++

            And I also use random counters as well in some of the dialog so NPC's can choose to respond back differently.

            set /a spin=%random% %%4+1
            if %spin% EQU 1 echo. Ensign Peters; Commander, Admiral Odys is back again, he says he has
            if %spin% EQU 1 echo. found your mission briefing.
            if %spin% EQU 2 echo. Ensign Peters: Commander, you can't just leave the Admiral sitting there.
            if %spin% EQU 3 echo. Ensign Peters: You are required to talk with him now.
            if %spin% EQU 4 echo. Ensign Peters: I will leave it in your hands.
            Last edited by tozan; 07-28-2016, 07:09 PM.

            Comment


              #81
              Originally posted by sbnewsom View Post
              - How acceptable is this plugin for a primarily blueprint project? I'd rather stick to blueprints, to save time and money for the project.
              Basic functionality (displaying dialogues and playing voiceover) can be done in a pure blueprint project. To add events and conditions, you need to edit one C++ file, but only the most basic C++ knowledge is required, and if you have any problems with that, just feel free to ask.

              Originally posted by sbnewsom View Post
              - I see that when you put a player choice node, it allows you to click on it, but goes right into the reply from the NPC. Can you make it so the player's dialogue is spoken when clicked on the choice? My character is fully realized and I don't want him to be a mute.
              Sure, I made a mini guide on how to do that in post #47.

              Originally posted by sbnewsom View Post
              - Is there any hope for Articy:draft integration in the future?
              Not planned at the moment.

              Originally posted by sbnewsom View Post
              - Is there a plan to export import dialogue text into CSV/XML and/or offer Localization features?
              Native UE4 localization is fully supported. I plan to add export/import if there's a demand for it.

              Originally posted by sbnewsom View Post
              - Last, I made my own node that handles my own bank of Global Variables. Both Get and Set. Is it possible to change how conditions are handled, therefore utilizing my own bank to handle condition checks?
              You can use your own nodes in condition logic. However, like I said before, adding new condition fields requires changing a C++ file.
              Dialogue Plugin

              Comment


                #82
                So I managed to dive in and after a ton of modifications I got it working really well.

                The problem I'm having right now is that Conditions aren't working during NPC nodes. The conditions work properly with PC nodes, but when I have the NPC change conversation depending if the player has an item or if its a specific day, it defaults to the left most node no matter what. Is this a bug? I can confirm that the conditions I added work. Just not when used from NPC nodes.

                EDIT: Nevermind, I just added a condition check for NPC responses and now everything works.

                Any ideas on how to add a local bool so that once a PC Reply is selected, it won't show up again?
                Last edited by sbnewsom; 07-30-2016, 01:36 AM.
                Current Project: Shadow Over Isolation

                Comment


                  #83
                  Originally posted by sbnewsom View Post
                  Any ideas on how to add a local bool so that once a PC Reply is selected, it won't show up again?
                  Here's how I'd do it:

                  Make an array of structs "VisitedDialogues" on GameInstance or on PlayerState. Could also put it on PlayerController. Whichever you prefer, just make sure it's persistent between levels.

                  The struct "VisitedDialogues" itself should contain:
                  1) A reference to a dialogue asset
                  2) An array of ints. These will contain the node IDs that you've already clicked before.

                  Then, I assume you don't want to hide any nodes that end the dialogue, even if you've clicked them before, right? Because that may result in inescapable dialogues
                  Save your reply here, so you avoid saving the dialogue ending nodes in your history:



                  Then insert a simple check in the "DisplayReplies" event (it spawns reply lines), so you don't spawn the ones you've already clicked before. You can find it in DemoDialogueWidget -> Event Graph.

                  If you have troubles with these explanations or need a more thorough guide, don't hesitate to ask.
                  Last edited by Glabrezu; 07-30-2016, 08:24 AM.
                  Dialogue Plugin

                  Comment


                    #84
                    Originally posted by Glabrezu View Post
                    Here's how I'd do it:

                    [Visited Dialogues Explanation]
                    Thanks so much Glabrezu! I don't know if I was being daft and the crunch was getting to me, but that works perfectly well.

                    In addition to implementing it, I exposed some a bool to the PC Nodes that allow the developer choose whether the node will be stored into the gameinstance list.

                    Thanks so much! Also, I managed to avoid dead ends by turning nodes that don't go into another node as instructions to close out the Dialogue System and return to game. This freed up the space so there won't be needless wires going to the goodbye/end node.

                    It took getting use to this plugin throughout yesterday, but I have to say it turned out to be EXACTLY what I want.
                    Current Project: Shadow Over Isolation

                    Comment


                      #85
                      Hello, I seem to be running into a problem but have no idea how to fix it. My conditions don't work when applied to an NPC node but do work when applied to a PC node. Is there an extra step I'm missing that's needed for them to work with NPC nodes?

                      Comment


                        #86
                        Originally posted by Jazz View Post
                        Hello, I seem to be running into a problem but have no idea how to fix it. My conditions don't work when applied to an NPC node but do work when applied to a PC node. Is there an extra step I'm missing that's needed for them to work with NPC nodes?
                        Looks like a known bug that will be fixed in the next version.

                        Please try this hotfix at the bottom of post #53.
                        MMO Starter Kit
                        Dialogue Plugin
                        Voxel Plugin
                        Character Customization: Female
                        Character Custmization: Male

                        Comment


                          #87
                          Hi

                          As a guy who recently bought your plugin i must say that the simple stuff is solid - everything works as intended and pretty easy to use. But is there any plan for the further development? In case it's only bug fixing than i must say the price is questionable with no camera placement and sequencer support...

                          Comment


                            #88
                            Originally posted by Roland_Price View Post
                            Hi

                            As a guy who recently bought your plugin i must say that the simple stuff is solid - everything works as intended and pretty easy to use. But is there any plan for the further development? In case it's only bug fixing than i must say the price is questionable with no camera placement and sequencer support...
                            Hi,

                            You could easily add sequencer events, the second video tutorial demonstrates how to add matinee events, but adding sequencer would be very similar. And the reason we didn't add camera behaviour is because it's generally easy to implement on your own and each game needs a different implementation. The focus of this plugin is to provide a custom made, built-in node-based dialogue editor.
                            MMO Starter Kit
                            Dialogue Plugin
                            Voxel Plugin
                            Character Customization: Female
                            Character Custmization: Male

                            Comment


                              #89
                              Originally posted by CodeSpartan View Post
                              Hi,

                              You could easily add sequencer events, the second video tutorial demonstrates how to add matinee events, but adding sequencer would be very similar. And the reason we didn't add camera behaviour is because it's generally easy to implement on your own and each game needs a different implementation. The focus of this plugin is to provide a custom made, built-in node-based dialogue editor.
                              So i guess that's a solid "no" on the further development? It would be really cool if you'd consider adding at least a camera behavior. I'd say this way your plugin will cover the audience of lazy game designers as well ) I'm not talking about something complex like my colleagues did for Witcher 3, but it would be cool to have a possibility to tie a more or less full dialogue producing pipeline to one tool

                              Comment


                                #90
                                Originally posted by Roland_Price View Post
                                So i guess that's a solid "no" on the further development? It would be really cool if you'd consider adding at least a camera behavior. I'd say this way your plugin will cover the audience of lazy game designers as well ) I'm not talking about something complex like my colleagues did for Witcher 3, but it would be cool to have a possibility to tie a more or less full dialogue producing pipeline to one tool
                                We'll consider it if we see there is a lot of demand for this. Thanks for the suggestion.
                                MMO Starter Kit
                                Dialogue Plugin
                                Voxel Plugin
                                Character Customization: Female
                                Character Custmization: Male

                                Comment

                                Working...
                                X