Announcement

Collapse
No announcement yet.

Dialogue Plugin

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

  • replied
    Hey maybe this has been asked already but is there a way to make the text appear with a typewriter effect?

    Leave a comment:


  • replied
    Originally posted by infinitipo View Post
    Could someone please help me out here? I can't get anything, even the base demo of the dialogue system, to work. The documentation is very sparse and vague about some things, so I have no clue how to set anything up. I can make and understand the dialogue trees just fine, but for the life of me can't get any of the plugin to function in-game. I've tried creating my own widgets using the guide, but there's no "To NPC Reply" node available to me, and no explanation on how to make one. Basically, I feel like I just wasted a lot of money on something that looks awesome, but is essentially unusable. If there's any way I could get some actual pointers or could request a refund, that would be much appreciated.

    Cheers
    The plugin works perfectly fine and has been a huge for my game, please don't bash CodeSpartan and his team, if you're new to development just ask for help.

    Leave a comment:


  • replied
    Originally posted by infinitipo View Post
    Could someone please help me out here? I can't get anything, even the base demo of the dialogue system, to work. The documentation is very sparse and vague about some things, so I have no clue how to set anything up. I can make and understand the dialogue trees just fine, but for the life of me can't get any of the plugin to function in-game. I've tried creating my own widgets using the guide, but there's no "To NPC Reply" node available to me, and no explanation on how to make one. Basically, I feel like I just wasted a lot of money on something that looks awesome, but is essentially unusable. If there's any way I could get some actual pointers or could request a refund, that would be much appreciated.

    Cheers
    Hi,

    Have you watched the first tutorial video? It goes over how to create and open a dialogue in game.
    The project that you see in the video can also be downloaded and inspected, the links are on the marketplace page.

    But to give one of the simplest examples of how you can open a dialogue in game is like this:


    This will open a dialogue when you press the K button on your keyboard.
    You can put these blueprints in your Character or in your Controller, it's up to you.

    To do this, you only have to install the plugin through the Epic Launcher and make sure it's activated in your project, no other actions are necessary, no need to even read the documentation, because it goes over concepts that are slightly more complicated.

    Let me know if you need explanations on how to open your Character or Controller.
    Last edited by CodeSpartan; 08-20-2018, 08:28 PM.

    Leave a comment:


  • replied
    Could someone please help me out here? I can't get anything, even the base demo of the dialogue system, to work. The documentation is very sparse and vague about some things, so I have no clue how to set anything up. I can make and understand the dialogue trees just fine, but for the life of me can't get any of the plugin to function in-game. I've tried creating my own widgets using the guide, but there's no "To NPC Reply" node available to me, and no explanation on how to make one. Basically, I feel like I just wasted a lot of money on something that looks awesome, but is essentially unusable. If there's any way I could get some actual pointers or could request a refund, that would be much appreciated.

    Cheers

    Leave a comment:


  • replied
    Originally posted by CodeSpartan View Post

    Try removing the plugin from the engine via Launcher. It looks like your project is using the engine version of the plugin, ignoring the one in your project.
    Yeah, I had tried that right after seeing your reply but the project went haywire, so wasn't sure I should have. After seeing you suggesting to though I went back through and found it went crazy because the only file in the project plugin folder was the dialogue.h class, everything else was empty.
    Reinstalled in and what you had previously posted works perfect.

    Thanks for all the help!

    Leave a comment:


  • replied
    Originally posted by iSpam View Post
    Yes, and no
    Try removing the plugin from the engine via Launcher. It looks like your project is using the engine version of the plugin, ignoring the one in your project.
    Last edited by CodeSpartan; 08-12-2018, 11:28 PM.

    Leave a comment:


  • replied
    Yes, and no

    Leave a comment:


  • replied
    Originally posted by iSpam View Post
    Though the alternative text isn't popping up unfortunately. Did a direct copy and paste so as to avoid any errors on my side.
    Also deleted saved, binaries, and intermediate -> generated vs files -> built solution then re opened the project but no luck.
    Have you copied the plugin from the engine into the project? If so, have you also removed the plugin from engine (in Epic Launcher)?
    Last edited by CodeSpartan; 08-12-2018, 01:26 PM.

    Leave a comment:


  • replied
    Originally posted by CodeSpartan View Post

    Definitely a good idea, but also a very difficult thing to do, unfortunately. So not for the foreseeable future.
    No problem, I had a feeling it would be pretty complicated

    Though the alternative text isn't popping up unfortunately. Did a direct copy and paste so as to avoid any errors on my side.
    Also deleted saved, binaries, and intermediate -> generated vs files -> built solution then re opened the project but no luck.
    Last edited by iSpam; 08-12-2018, 12:21 PM.

    Leave a comment:


  • replied
    Originally posted by iSpam View Post
    Also, would it be possible for you guys to add blueprint style comments to your dialogue viewport? Just makes things easy to organize and shows relevant details at a glance, but I can just as easily use unconnected nodes.
    Definitely a good idea, but also a very difficult thing to do, unfortunately. So not for the foreseeable future.

    Leave a comment:


  • replied
    Originally posted by iSpam View Post
    Seems a lot simpler than I had expected. Should be I just need to add an FText variable in the FDialogueNode struct, then in BP in the reply widget is where I get the break DialogueNode that has the variables, which I assume is really all I need?

    I was looking in your source and found the TextCommitted() in DialogueNodeWidget.cpp as well as the OnNodeTextCommitted() in DialogueViewportWidget.cpp. 99% I don't need to touch the dialogueviewportwidget code as I assume that strictly for the text on the node, and about 90% certain I don't need to touch the dialoguenodewidget.

    Problem is adding a variable FText isn't showing up in the widgets or bp. Checked the break node and it's not there either. Simply copy/pasted the Text variable and changed the name.

    Also, would it be possible for you guys to add blueprint style comments to your dialogue viewport? Just makes things easy to organize and shows relevant details at a glance, but I can just as easily use unconnected nodes.
    In Dialogue.h on above line 62, add:
    Code:
        UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Dialogue Node")
        FText AlternativeText;
    In DialoguePluginEditorSettingsDetails.h, below line 15, add:
    Code:
        void TextAlternativeCommited(const FText& InText, ETextCommit::Type InCommitType, UDialogue* Dialogue, int32 id);
    In DialoguePluginEditorSettingsDetails.cpp, below line 68, add:
    Code:
            CurrentNodeCategory.AddCustomRow(LOCTEXT("AltTextLabel", "AltTextLabel"))
            .WholeRowContent()
            [
                SNew(STextBlock).Font(IDetailLayoutBuilder::GetDetailFont())
                .Text(LOCTEXT("AlternativeText", "Alternative Text"))
            ];
    
            CurrentNodeCategory.AddCustomRow(LOCTEXT("AltTextValue", "AltTextValue"))
            .WholeRowContent()
            [
                SNew(SBox)
                .HeightOverride(100)
                [
                    SNew(SMultiLineEditableTextBox).Text(CurrentNode.AlternativeText)
                    .AutoWrapText(true)
                    .OnTextCommitted(this, &FDialoguePluginEditorSettingsDetails::TextAlternativeCommited, Dialogue, Dialogue->CurrentNodeId)
                    .ModiferKeyForNewLine(EModifierKey::Shift)
                ]
            ];
    Then in the same file, at the end of the file (but above the #undef macro), add:
    Code:
    void FDialoguePluginEditorSettingsDetails::TextAlternativeCommited(const FText& NewText, ETextCommit::Type CommitInfo, UDialogue* Dialogue, int32 id)
    {
        int32 index;
        FDialogueNode CurrentNode = Dialogue->GetNodeById(id, index);
    
        // we don't commit text if it hasn't changed
        if (Dialogue->Data[index].AlternativeText.EqualTo(NewText))
        {
            return;
        }
    
        const FScopedTransaction Transaction(LOCTEXT("AltTextCommited", "Edited Node Alternative Text"));
        Dialogue->Modify();
    
        Dialogue->Data[index].AlternativeText = NewText;
    }
    Now compile, open the project and check if an additional text window has appeared like this:


    If it has, check that it functions correctly, and check if the Ctrl+Z works correctly.

    Leave a comment:


  • replied
    Seems a lot simpler than I had expected. Should be I just need to add an FText variable in the FDialogueNode struct, then in BP in the reply widget is where I get the break DialogueNode that has the variables, which I assume is really all I need?

    I was looking in your source and found the TextCommitted() in DialogueNodeWidget.cpp as well as the OnNodeTextCommitted() in DialogueViewportWidget.cpp. 99% I don't need to touch the dialogueviewportwidget code as I assume that strictly for the text on the node, and about 90% certain I don't need to touch the dialoguenodewidget.

    Problem is adding a variable FText isn't showing up in the widgets or bp. Checked the break node and it's not there either. Simply copy/pasted the Text variable and changed the name.

    Also, would it be possible for you guys to add blueprint style comments to your dialogue viewport? Just makes things easy to organize and shows relevant details at a glance, but I can just as easily use unconnected nodes.

    Leave a comment:


  • replied
    Guys seriously, you just need to manage few nodes to get the finish the voice audio then go to the next nodes.. Don't bother him with that

    Leave a comment:


  • replied
    Let me know if you need assistance with creating a second text field and displaying it inside nodes.

    Leave a comment:


  • replied
    Originally posted by CodeSpartan View Post
    If I understood you correctly, then what you want to do is simply create an event with a Text field, and the logic of the event would open a separate widget and put the Text parameter into the widget. Unless I misunderstood, of course. I didn't quite get what you mean by "separate widget with actual dialogue".
    For the seperate widget I meant that I use a widget component on npc's to display their nodes of the dialogue directly above them. I probably should have thought of that myself, though I think I'm going to first try to add another text field in the nodes themselves, one which will display an overview of what the reply will be, and then another field that will be the spoken words. The spoken words I may create another widget for the player to make their spoken dialogue appear above their own head.
    I worded what I meant kind of weird. Thanks for the idea though, perfect contingency

    Leave a comment:

Working...
X