Announcement

Collapse
No announcement yet.

Dialogue Plugin

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

  • replied
    Looks like the marketplace version has been updated and you can now download the 4.12 version via marketplace.

    Leave a comment:


  • replied
    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.

    Leave a comment:


  • replied
    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.

    Leave a comment:


  • replied
    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.

    Leave a comment:


  • replied
    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

    Leave a comment:


  • replied
    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.

    Leave a comment:


  • replied
    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.

    Leave a comment:


  • replied
    Is there a way to know when the dialogue is finished?

    Leave a comment:


  • replied
    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.

    Leave a comment:


  • replied
    We recorded a video tutorial on conditions and events for people who are interested:

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

    Leave a comment:


  • replied
    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.

    Leave a comment:


  • replied
    Hi guys, awesome plugin!

    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

    Also, I was hoping, you see, I also have another need for something like this, as so far as how the nodes are organized, but without any functionality behind those nodes

    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:

    Click image for larger version

Name:	dialog.PNG
Views:	1
Size:	120.3 KB
ID:	1107714
    Last edited by SaviorNT; 06-04-2016, 10:57 PM.

    Leave a comment:


  • replied
    Originally posted by UCotman View Post
    Hello, this is just awesome!

    Considering C++ code. Is the code portable, so I can recompile plugin for Mac, Linux, Mobile or Consoles?

    Kind regards
    Hi. We haven't tested and we don't provide support for those platforms at this time.

    Leave a comment:


  • replied
    Hello, this is just awesome!

    Considering C++ code. Is the code portable, so I can recompile plugin for Mac, Linux, Mobile or Consoles?

    Kind regards

    Leave a comment:


  • replied
    UE 4.12 got released today, and so we just submitted Dialogue Plugin v1.1 to the Marketplace for review:
    • New: Zoom was introduced to allow easy workflow with large dialogues.
    • Code optimizations were implemented: 300+ nodes in the same dialogue are no longer causing performance issues. The number of dialogue nodes is now virtually unlimited.
    • Bugfix: UMG Widget no longer executes all children NPC lines that return "true", but only the first one found to be "true". A "break" was missing.
    • Bugfix: The asset tab now correctly displays which dialogue you're editing, followed by a '*' if it's currently dirty.

    We don't know how much time it'll take for the new version to get approved, so if you're in a hurry to get it, just send us an email to codespartan.supp@gmail.com with proofs of purchase (and your GitLab account name) and we'll add you to a private repository where you can grab updates as soon we roll them out.

    Leave a comment:

Working...
X