Search Unity

[70% OFF - FLASH DEAL] Dialogue System for Unity - easy conversations, quests, and more!

Discussion in 'Assets and Asset Store' started by TonyLi, Oct 12, 2013.

  1. Sigma266

    Sigma266

    Joined:
    Mar 25, 2017
    Posts:
    99
    Tonyyy! How have you been? I wasn't able to post for a bit, I was super busy!

    So, I made a messy Raycast script that I use when talking to NPCs ONLY when the ray points to their direction... what I'd like know now is how i'm supposed to let Dialogue System know that.

    One more question, how can use the Fade Effect component with characters' portraits cause I keep trying using it but nothing happens! Thank you!
     
  2. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,706
    Hi @Demonoid74! The easiest way is to put them in a single node and use the RandomElement() Lua function in a [lua(code)] tag:
    • Dialogue Text: [lua( RandomElement("Who's there? | Yes? | Coming!") )]
    Alternatively, if you want to use separate nodes, use the math.random() Lua function as described here. Brief example:
    • [0] START - Script: randomValue=math.random(3)
      • [1] Sequence: None()
        • [2] Dialogue Text: "Who's there?" - Conditions: randomValue==1
        • [3] Dialogue Text: "Yes?" - Conditions: randomValue==2
        • [4] Dialogue Text: "Coming!" - Conditions: randomValue==3
    The Conditions are required because the Dialogue System always uses the first node whose Conditions are true. It doesn't choose randomly. This makes the system deterministic, so the designer always knows what will happen under any given circumstances.

    Conditions are sometimes combined with Priority Level to make them more concise. You can read a bit more about Priority Levels here.

    Yes, in the line's Sequence field use an Audio() or AudioWait() command:
    • Dialogue Text: [the door creaks open]
    • Sequence: AudioWait(door_creak)

    Yes; add a trigger collider to your NPC (e.g., a SphereCollider with a radius of 10), and use a Range Trigger. Add the NPC's Bark On Idle component to the Range Trigger's Components list. When the player moves inside the trigger collider, Bark On Idle will be enabled; when the player moves outside the trigger collider, it will be disabled. Note that Range Trigger doesn't touch the component(s) until the player actually crosses the trigger collider's edge.

    Hi @Sigma266! You can send an OnUse message to the NPC. For example:
    Code (csharp):
    1. hitInfo.transform.SendMessage("OnUse", this.transform, SendMessageOptions.DontRequireReceiver);
    For more detailed examples, see the Selector and ProximitySelector scripts in Scripts / Supplemental / Utility.

    Are you using Unity UI or the legacy Unity GUI? The Fade Effect is only for legacy Unity GUI. In Unity UI, these kinds of effects are usually handled with animations. For example, you could tie it to the Dialogue Panel's or Subtitle Panel's Show/Hide animations. If you get stuck, please describe the point at which you'd like portraits to fade in and out, and I'll try to help out.
     
  3. kk99

    kk99

    Joined:
    Nov 5, 2013
    Posts:
    81
    Hello Tony,

    I have a little question.


    is it possible to let a NPC bark a custom text that comes from a C# script e.g. a server response?

    I started to try implementing it like this but it seems like too much work


    PixelCrushers.DialogueSystem.CharacterInfo speakerInfo;
    PixelCrushers.DialogueSystem.CharacterInfo listenerInfo;
    FormattedText formattedText;
    string sequence;
    string responseMenuSequence;
    DialogueEntry dialogueEntry;

    Subtitle sub = new Subtitle(speakerInfo, listenerInfo, formattedText, sequence, responseMenuSequence, dialogueEntry);

    GameObject.Find("Misa").GetComponent<UnityUIBarkUI>().Bark(sub);


    is there a shorter and better way?
     
  4. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,706
    Hi @kk99! [EDIT: CORRECTED] Yes, DialogueManager.BarkString() accepts a string:
    Code (csharp):
    1. DialogueManager.BarkString("Hello", GameObject.Find("Misa").transform);
    You can also provide a listener transform and a sequence if you want:
    Code (csharp):
    1. DialogueManager.BarkString("Hello", Misa.transform, null, "Animation(Curtsy)");
    [EDIT: Code corrected to use BarkString(), not Bark().]
     
    Last edited: May 8, 2017
    kk99 likes this.
  5. kk99

    kk99

    Joined:
    Nov 5, 2013
    Posts:
    81

    hello, thanks for your quick response. it is not working yet. any idea what might be wrong?

    I created a fresh project to easier debug and I get this warning

    upload_2017-5-8_21-39-58.png
     

    Attached Files:

    Last edited: May 8, 2017
  6. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,706
    Oops, sorry, I forgot that the variant is DialogueManager.BarkString()!

    Code (csharp):
    1. DialogueManager.BarkString("Hello", GameObject.Find("Misa").transform)
     
    kk99 likes this.
  7. kk99

    kk99

    Joined:
    Nov 5, 2013
    Posts:
    81

    that is working perfectly :) many thanks :)




    and for those who are interested, to control the style of the barking with BarkString() you can simply add your Unity Bark UI (script) to your character

    because if you don't add it the barking will look different (I just assume you want your BarkString the same font and color as your regular barking that is triggered without it)


    upload_2017-5-8_21-47-41.png



    so thanks again, I appreciate your support
     
    TonyLi likes this.
  8. strongbox3d

    strongbox3d

    Joined:
    May 8, 2012
    Posts:
    860
    Hello Toni,

    I am trying to use the Unity Selector Display + Selector in the player character and I am finding a problem:

    I have the button "A" of my controller as the "Use" button, and I have the button "A" of my controller as dialogue response and continue button, this is just the logical way to use in the controllers.

    I am using "Select At: Center of Screen". The problem is that every time the conversation reach the end and I press "A" in the controller to end it, the conversation re-starts over. So it is like the Selector doesn't to the "Press button" ending the conversation as if it was the "Press A" for sending the Use event again. What am I doing wrong?

    Regards,
    Carlos
     
  9. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,706
    Hi Carlos - Here's a patch for Selector that's going to be in the next release (due later this week):

    Selector_2017-05-08.unitypackage
     
  10. strongbox3d

    strongbox3d

    Joined:
    May 8, 2012
    Posts:
    860
    Hello TonyLi,

    This new Selector script didn't fix the problem, it still the scripts acts as if it doesn't know that the player is currently in a conversation already, so every time I press the A button in the controller the Selector scripts acts as if I want to start a new conversation despise the fact that the player is in a conversation already. What can I do, to make the Selector script understand that the player is currently in a conversation, so the script doesn't need to select anything while the player is in the conversation, only when the player press the A button of the controller and is not in a conversation?

    This warning appears in the Debug Window as a consequence:

    Dialogue System: Conversation triggered on AncientOne, but another conversation is already active.
    UnityEngine.Debug:LogWarning(Object)
    PixelCrushers.DialogueSystem.ConversationStarter:TryStartConversation(Transform, Transform)
    PixelCrushers.DialogueSystem.ConversationStarter:TryStartConversation(Transform)

    Regards,
    Carlos
     
  11. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,706
    Have you added a Set Component Enabled On Dialogue Event to the player? If you haven't, add it and set the Trigger dropdown to OnConversation. Add elements to the OnStart and OnEnd lists. Assign the Selector to both elements. In OnStart, set its State dropdown to False. (In OnEnd, leave the State as True.)

    You can add other components to OnStart and OnEnd, too -- for example, if you want to disable player movement during conversations.
     
  12. strongbox3d

    strongbox3d

    Joined:
    May 8, 2012
    Posts:
    860
    Sorry, I did added the SetComponentEnabled but I just realized that when I changed the Selector Script at some point I didn't updated the public variable for the script. Now it is working as I added the new Selector script to the variables.

    Regards,
    Carlos
     
  13. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,706
    Great! You'll still want to use the new Selector script because it fixes an issue with controllers.
     
  14. strongbox3d

    strongbox3d

    Joined:
    May 8, 2012
    Posts:
    860
    Hello ToniLi,

    I am trying to catch the "OnUse" sent from the "Selector" to use it in one on my scripts which has a "OpenDoor()" method that I want to fire when the player press "A" button on the controller and the "Selector" send the "OnUse" event. I have been looking through all the documentation but I seem not to be able to find an explanation about using this "OnUse" in my own C# script. Could you give me a hand here?

    I believe that it would be very positive people who are looking into buying your asset, to find more tuts or documentation on how to integrate your system to custom C# scripts, like you did in the case of "SendMessage", "RegisteringToLua", and the "Sequencer" in that Video Tutorial, which helps a lot to understand the way to tie custom C# scripts to the system. This asset is so much more than a simple Dialogue System that it would be a shame that some people give up on buying thinking that it is just that, or because they couldn't understand how to integrate their own scripts to take advantage of all the functionality of the asset.

    Regards,
    Carlos
     
  15. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,706
    Hi Carlos - Selector passes the player's transform to OnUse. For example:

    DebugOnUse.cs
    Code (csharp):
    1. using UnityEngine;
    2.  
    3. public class DebugOnUse : MonoBehaviour
    4. {
    5.     void OnUse(Transform actor)
    6.     {
    7.         Debug.Log("Used by " + actor, this);
    8.     }
    9. }
    Make sure your door has a Usable component as well as a collider that the Selector can detect with a raycast.

    Good point! I'll add more links to the Scripting page.
     
  16. Demonoid74

    Demonoid74

    Joined:
    Jan 20, 2017
    Posts:
    16
    I just got a chance to work on my project again and it all is working perfectly the way I wanted! Thanks very much for the quick reply and exacting instructions. I was messing around with that random conversation branching and that is a super cool feature...can have large , random branching conversations...that just opens up possibilities even further for what can be done...even with basic conversations...amazing asset and thanks for all the help so far!
     
  17. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,706
    Thanks, and happy to help!
     
  18. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,706
    Dialogue System for Unity 1.7.0 Released

    Version 1.7.0 is now available on the Pixel Crushers customer download site. (PM me your Asset Store invoice number if you'd like access.) It should be available on the Asset Store in about 5-7 business days.

    Some highlights:
    • Big improvements to the articy:draft importer: support for nested dialogues and flow fragments, voiceover plugin, and localization plugin.
    • Improvements to TextMesh Pro support (better auto-focus, response autonumbering, etc.).
    • New integration packages for Deftly and Rog.

    Version 1.7.0
    Core
    • Updated to support Unity 2017.1.
    • Changed: CurrentConversationState is now set before OnConversationLine message.
    • Added: Message OnQuestEntryStateChange.
    • Added: {{defaultsequence}} sequencer keyword.
    • Added: AudioWaitOnce() sequencer command.
    • Added: Entrytag formats ActorID_ConvTitle_EntryDescriptor, VoiceOverFile.
    • Improved: Sequence parser is now more robust and memory-efficient.
    • Improved: Lua Console has new option to pause game when open.
    • Improved: IncrementOnDestroy & PersistentDestructible only fire if object is destroyed while application is playing.
    • Fixed: When sending Dialogue System messages (e.g., OnConversationStart) to actor or conversant which is Dialogue Manager, no longer double-sends to Dialogue Manager.
    • Fixed: Actor node color override now also works for player.
    • Unity UI:
      • Added: Wait for Hide Animation checkbox when showing queued alerts.
      • Improved: Optimized Unity UI Quest Tracker for memory and speed.
      • Fixed: 'Animator is not playing a playable' warnings.
    Third Party Support
    • articy:draft: Now handles articy 3.0 string type; recursive dialogues and flow fragments; voiceover plugin support; localization plugin support.
    • Chat Mapper: ChatMapperProject.ToDialogueDatabase() now does same post-processing as Chat Mapper Converter window.
    • NGUI: Updated deprecated API call in Unity 5.3+.
    • Deftly: Added support.
    • Makinom: Updated for Makinom 1.7.0.
    • ORK Framework: Updated for ORK Framework 2.10.
    • Rog: Added support.
    • RPG Kit: Updated for RPG Kit 3.1.7.
    • RT-Voice: Updated for RT-Voice 2.7.1.
    • TextMesh Pro: Updated for feature parity with Unity UI scripts (better auto focus, response autonumbering, etc.).
     
    hopeful and Hormic like this.
  19. flashframe

    flashframe

    Joined:
    Feb 10, 2015
    Posts:
    798
    Great update Tony! What does {{defaultsequence}} do? Is it shorthand for running the default sequence and then adding additional commands 'on top'?
     
  20. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,706
    Yes, that's it exactly. It doesn't include the semicolon ( ; ) separator, so make sure to add that:

    Code (sequencer):
    1. {{defaultsequence}};
    2. SetActive(Fireworks,true)
    I finally rewrote the sequencer parser, too, so it's now more robust, memory-efficient, and a little faster (not that the parsing speed was ever an issue). It accepts nested parentheses, which embarassingly it didn't accept before. So you can finally do this:

    Code (sequencer):
    1. Camera(Closeup, Player(Clone))
     
    flashframe likes this.
  21. flashframe

    flashframe

    Joined:
    Feb 10, 2015
    Posts:
    798
    Great work! Thank you
     
    TonyLi likes this.
  22. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,706
    Version 1.7.0 is now live on the Asset Store!
     
  23. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,706
    The Dialogue System Extras page has a small update package for Unity UI that fixes an Auto Focus bug with dialogue UIs that don't have subtitle panels. If Auto Focus isn't working as you expect in your dialogue UI, please import this package.
     
  24. Sigma266

    Sigma266

    Joined:
    Mar 25, 2017
    Posts:
    99
    I don't think i'm getting this right. By "legacy Unity GUI," you mean objects with components like GUI label, GUI image, GUI button...? If so, i'm using those, but with no results! It's pretty weird because it works fine with the panel. Oh, and it seems that effects like Slide effect(Unity GUI) and Flash effect(Unity GUI) work fine with the portrait, except the fade effect which is the one I need goddamit.
     
  25. RandAlThor

    RandAlThor

    Joined:
    Dec 2, 2007
    Posts:
    1,293
    When importing the Audio Master extra i got 5 errors on Unity 5.6.
    The Dialogue System and the Audio Master are the newest versions.

    Assets/Dialogue System/Third Party Support/Master Audio/Scripts/Sequencer Commands/Master/SequencerCommandMAFireCustomEvent.cs(23,17): error CS1502: The best overloaded method match for `DarkTonic.MasterAudio.MasterAudio.FireCustomEvent(string, UnityEngine.Transform, bool)' has some invalid arguments

    Assets/Dialogue System/Third Party Support/Master Audio/Scripts/Sequencer Commands/Master/SequencerCommandMAFireCustomEvent.cs(23,50): error CS1503: Argument `#2' cannot convert `UnityEngine.Vector3' expression to type `UnityEngine.Transform'

    Assets/Dialogue System/Third Party Support/Master Audio/Scripts/Sequencer Commands/Playlist/SequencerCommandMAResumePlaylist.cs(21,18): error CS0117: `DarkTonic.MasterAudio.MasterAudio' does not contain a definition for `ResumePlaylist'

    Assets/Dialogue System/Third Party Support/Master Audio/Scripts/Sequencer Commands/Playlist/SequencerCommandMAResumePlaylist.cs(25,18): error CS0117: `DarkTonic.MasterAudio.MasterAudio' does not contain a definition for `ResumePlaylist'

    Assets/Dialogue System/Third Party Support/Master Audio/Scripts/Sequencer Commands/Playlist/SequencerCommandMAResumePlaylist.cs(27,18): error CS0117: `DarkTonic.MasterAudio.MasterAudio' does not contain a definition for `ResumePlaylist'

    Can you please help?
     
  26. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,706
    Hi @Sigma266 - Fade options with legacy Unity GUI (GUI Label, etc.) aren't as good as Unity UI. The Fade Effect works by changing the alpha value of the GUI control's GUI style. To set it up:
    1. Make sure the GameObject with the Fade Effect has a GUI Label, GUI Image, GUI Button, or GUI Window component.
    2. Specify a GUI style name in the Gui Style Name field. For example, let's say you want to fade in the subtitle panel, and you've created a style in your GUI skin named "SubtitlePanel". Assign "SubtitlePanel" to the Gui Style Name field.
    3. Assign a Fade Effect. Set Duration to 0; otherwise it will fade out at the end of the duration. (If you want alerts to fade in and out automatically after a duration, in this case you can set Duration to a non-zero value.)
    Note that, unlike Unity UI, this doesn't fade child objects in and out. You can set up additional Fade Effects on each child if necessary.

    Master Audio introduced an API change with their update. I'll be updating the Dialogue System's support package to accommodate the API change today. When it's available for download on the Dialogue System Extras page, I'll reply here. In the meantime, you can temporarily delete those two scripts.
     
  27. RandAlThor

    RandAlThor

    Joined:
    Dec 2, 2007
    Posts:
    1,293
    OK, thank you i will watch the thread.
     
  28. RandAlThor

    RandAlThor

    Joined:
    Dec 2, 2007
    Posts:
    1,293
    Found another error from your supported asset scripts.

    Assets/Dialogue System/Third Party Support/Core GameKit/Scripts/WorldVariableToLuaListener.cs(19,24): error CS0115: `PixelCrushers.DialogueSystem.CoreGameKit.WorldVariableToLuaListener.UpdateValue(int)' is marked as an override but no suitable method found to override

    Also i have importet the Inventory Pro asset wich has an integration for the Dialogue System but then i importet the Quest System Pro and if i remember right you wrote that it is compatible with the Dialogue System but can not found documentation on how to integrate or use this together.
     
  29. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,706
    This package is being updated, too. Dark Tonic recently released updates to all of their assets.

    There are no conflicts between the Dialogue System and Devdog's Quest System Pro, but there's no specific integration package either. However, the Dialogue System provides general methods to make it easier to integrate with other assets such as XXX On Dialogue Event triggers (e.g., Set Active On Dialogue Event), OnConversationStart/End script methods, custom Lua functions, etc.
     
  30. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,706
    No Truce With The Furies wins SxSW Gaming 2017 Best Lore/Concept Award

    Congratulations to ZA/UM for winning SxSW 2017's Best Lore/Concept Award! for No Truce With The Furies (made with the Dialogue System and articy:draft)! One of the judges wrote:
    Geekz.444 recently did an in-depth interview with ZA/UM about No Truce With The Furies if you're interested in learning more behind the scenes details of the game and its development.

    And The Inner Gamer also recently interviewed the team on their game:

     
    Alverik likes this.
  31. RandAlThor

    RandAlThor

    Joined:
    Dec 2, 2007
    Posts:
    1,293
    So do you update the support for that package today too?
    Can i download the updateted files or do i have to wait for an Dialogue System update?
     
  32. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,706
    Yes, you'll be able to download and import both updated packages later today. (I'm out of the office at the moment.) You will not have to wait for a Dialogue System update.
     
  33. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,706
    Hi @RandAlThor - You can download the updated support packages now on the Dialogue System Extras page.
     
  34. RandAlThor

    RandAlThor

    Joined:
    Dec 2, 2007
    Posts:
    1,293
    @TonyLi
    As always, the best support i get from an asset developer.
     
    TonyLi and hopeful like this.
  35. virror

    virror

    Joined:
    Feb 3, 2012
    Posts:
    2,963
  36. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,706
  37. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,706
    Dialogue System for Unity 1.7.1-beta1 Available

    Beta version 1.7.1b1 is available for download on the Pixel Crushers customer download site. If you'd like access, please PM me your Asset Store invoice number.

    Highlights of this beta release:
    • Dialogue Editor: Timed auto-backups of your dialogue database.
    • Dialogue Editor: You can now set variables in the Watches tab and add all variables with one menu item.
    • Dialogue Editor & Localized Text Table Editor: Language text export, useful for TextMesh Pro's Font Asset Creator.
    • (Mutually-exclusive) Bark Groups: When one member barks, the others hide their barks to reduce screen clutter.

    Release Notes
    • Changed: Added Hide() method to the IBarkUI interface.
    • Added Dialogue Manager > Bark Settings.
    • Added Bark Groups.
    • Timed auto-backups in Dialogue Editor (default is every 10 minutes).
    • Language text export in Dialogue Editor and Localized Text Tables. Generates one file per language, which you can use in TextMesh Pro’s Font Asset Creator.
    • Watches tab: Can now set variable values; added “Add All Variables” menu item.
    • articy:draft: (Bug fix) Unticked dialogues are now properly excluded from import.
    • Updated Unity UI, legacy Unity UI, TextMesh Pro, NGUI, TK2D, and DF-GUI bark UIs to add new Hide() method.
     
  38. Sigma266

    Sigma266

    Joined:
    Mar 25, 2017
    Posts:
    99
    I ended up making a Unity UI. I'm having more trouble though. On the response menu's buttons, I have a component that allows me to press a button and proceed a conversation... I want the keys to have the same button pressed, but doing that causes only the first answer to be considered even if, for example, the third button is highlighted. Am I supposed to write a script that tells the Dialogue System that a certain button is highlighted or is there another way in asset itself? Thank you!
     
  39. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,706
    Hi @Sigma266 - Try this:

    1. On the Dialogue Manager, set Subtitle Settings > Continue Button to Always.

    2. Make sure your dialogue UI has a continue button. See the Generic Unity UI Dialogue UI for an example. It should be configured to call the dialogue UI's OnContinue method, or to call its own UnityUIContinueButtonFastForward.OnFastForward method.

    3. Add a UI Button Key Trigger to the continue button. Set the key and/or input button (e.g., "Fire1"). When this key/button is pressed, it will click the button.

    4. Add UI Button Key Triggers to your response menu buttons. Set the key and/or input buttons (e.g., "Fire1", "Fire2", "Fire3", etc.).

    This is how you can implement UIs like this:




    If you instead want to navigate through responses using a joystick d-pad or arrow keys:

    1. Remove all of the UI Button Key Trigger components.

    2. Inspect the dialogue UI, and tick Auto Focus (near the bottom of the component).

    This will focus the continue button when the continue button is visible. When the player response menu is visible, it will focus one of the response buttons, and you can navigate through them using the d-pad/arrow keys.
     
  40. Sigma266

    Sigma266

    Joined:
    Mar 25, 2017
    Posts:
    99
    I tried this, but there's no button to add in the dialogue UI's response menu. In fact, the button doesn't show up when I have to answer.
     
  41. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,706
    I'm sorry; I don't quite understand. It might be easiest if I post an example. Do you want it to work like the screenshot above, where the player can choose responses with the A, B, X, and Y buttons? Or do you want it to work with navigation where you use the d-pad / arrow keys to change the selection, and then press the fire button / spacebar to select it?

    EDIT: This scene has 2 conversations: ButtonControlExample_2017-05-23.unitypackage

    The first conversation demonstrates buttons mapped to keys A, B, C. The second conversation uses navigation.
     
    Last edited: May 24, 2017
  42. Sigma266

    Sigma266

    Joined:
    Mar 25, 2017
    Posts:
    99
    Sorry, my fault for explaining things badly! Anyway, apparently, I set the UI correctly, the only thing I didn't know was that I could continue a conversation or answer a question with the SPACE key(like in the example you showed me), even though I never set that key. Btw, thank you so much for the support, I really have no idea what I'd do without your help haha.
     
  43. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,706
    Glad to help!
     
  44. Sigma266

    Sigma266

    Joined:
    Mar 25, 2017
    Posts:
    99
    Hey, i'm back. So, i'm not sure if this is supposed to happen but... I was trying to change scene by walking on a platform with a trigger and a Sequence Trigger in it. It does change alright, but the next scene won't trigger the sequence I wrote in an object that has the Sequence Trigger in it! For example, I wrote a Fade() sequence that is supposed to start fading in at the beginning of the scene, but it seems to work only IF the scene is accesed by the editor, if it's in game(like, maybe opening a door) it just skips it.
     
  45. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,706
    Hi @Sigma266 - On your Sequence Trigger, what is your Trigger dropdown set to? Does it have a Condition that might be evaluating false when you arrive from another scene? Is there anything helpful logged in the Console window?
     
  46. Sigma266

    Sigma266

    Joined:
    Mar 25, 2017
    Posts:
    99
    My Trigger dropdown was set to "start," but I also tried "enable." And nope, it doesn't have any condition. Luckily I was able to find a solution, I allowed more than one Dialogue Manager in scene, though I think it might bring some problems later... :p
     
  47. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,706
    It probably will bring problems later.

    Is your Sequence Trigger on the Dialogue Manager GameObject or any of its children? If so, can you put it on a different GameObject?
     
  48. Sigma266

    Sigma266

    Joined:
    Mar 25, 2017
    Posts:
    99
    Yup. Just tried. It works. Haha! How the hell did I never try this? Thank you!
     
  49. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,706
    Happy to help! The reason why it works on a different GameObject is that by default the Dialogue Manager persists across scenes changes and destroys any new Dialogue Manager that's in the new scene before the new Dialogue Manager has a chance to start. Since the Dialogue Manager contains the active Lua environment (e.g., state of variables, etc.), this retains the game state correctly when you change scenes.
     
  50. AshyB

    AshyB

    Joined:
    Aug 9, 2012
    Posts:
    191
    @TonyLi Did i read correctly on your pixel crusher forum that you have fixed this bug in the next release?

    Code (csharp):
    1. MissingMethodException: The best match for method OnBarkLine has some invalid parameter.
    I think you said its on the dialogue manager which is a DLL so i can't fix it myself? :)

    Or is this something I've forgotten to implement myself somewhere?

    Btw, is it possible to have on timeout select random response? Instead of choose first response or end conversation.