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. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,702
    Hi @virror - Yes. It requires some scripting. You'll need to create a dialogue database instance and add it using DialogueManager.AddDatabase(). You can create it from Chat Mapper-format XML or manually by creating the individual parts of the DialogueDatabase (actor list, conversation list, etc.).
     
  2. daniel_m_e_91

    daniel_m_e_91

    Joined:
    Feb 9, 2015
    Posts:
    1
    I'm having a problem I hope someone could help me with. I'm using Dialogue System to easily implement dialogues into my interactiv story. It all works really well exept I am having a problem when trying to use the continue button to advance the text. This is very important as we do not have any voice overs, so the player has to have time to read all of the text, but at the same time, I don't want the text to stay on screen for too long.

    I have looked at the prefab that has a continue button, but I am unable to reproduce it, as the "ContinueButton(GUIButton)" script is nowhere to be found but in that one spesific prefab.

    I am using PlayMaker, as I don't have much experience with scripting.
     
  3. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,702
    Hi @daniel_m_e_91 - The good news is that you don't need to do any scripting. What GUI system are you using? (new Unity UI, legacy Unity GUI, etc.)

    For Unity UI, create a regular Unity UI button in the dialogue UI. In the button's OnClick() section, click the "+" in the lower right to add an event handler. Assign the dialogue UI (UnityUIDialogueUI) to it, and then select "UnityUIDialogueUI.OnContinue" from the dropdown menu. Then assign this button to the dialogue UI's NPC Subtitle > Continue Button field. More details are here.

    For Unity GUI, create a GUButton in the dialogue UI (Component > Dialogue System > UI > Unity GUI > Button). Expand its Trigger section. For the Message field, enter "OnContinue". Set Target to your dialogue UI, as shown in the example below:


    Finally, assign the button to the dialogue UI's Continue Button field(s):

    You only need to assign the PC continue button if the PC shows subtitles. More details are here.

    In either case, on the Dialogue Manager GameObject set Subtitle Settings > Continue Button to an appropriate setting, such as Always.
     
  4. virror

    virror

    Joined:
    Feb 3, 2012
    Posts:
    2,963
    OK, great to hear! But does that include the possibility to make visual tree based editor like in your screens or are that something that has to be implemented by myself? I guess in runtime you only provide the underlying framework and the rest is up to the user? Im not afraid of scripting ; )
     
  5. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,702
    You have to implement that yourself. The Dialogue System includes full source code to the visual editor, but it uses EditorGUI, so without modification it won't work in runtime environments.
     
  6. virror

    virror

    Joined:
    Feb 3, 2012
    Posts:
    2,963
    O, thanx for your answer : )
     
  7. RandAlThor

    RandAlThor

    Joined:
    Dec 2, 2007
    Posts:
    1,293
    TonyLi, Text Mesh Pro has released a new beta that let it work with Unity´s UI and other new features. Do you see problems here or will you change your connection so they will work together again or better?
     
  8. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,702
    I'll check out the new TextMesh Pro. The support package already works with Unity UI, but if the new beta provides a better way, I'll include it in the next release!
     
  9. RandAlThor

    RandAlThor

    Joined:
    Dec 2, 2007
    Posts:
    1,293
    Nice. And a fast answer :)
     
  10. LNMRae

    LNMRae

    Joined:
    Dec 28, 2012
    Posts:
    48
    Hello, I was the one who requested the ORK integration sometime ago. I just wanted to pop in and say, "Wow," and, "Thank you SO much!" I haven't had the time until recently to work on my game project and I can't believe how easy it was to set up the Dialogue System to work with it. Made me giddy to get it displaying a message in just a few minutes. I can't wait to really get into checking out all the features of the Dialogue System.

    Again, thank you so much for fulfilling my request. You really went above and beyond with this asset.
     
  11. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,702
    Hi @LNMRae - Thanks for the kind words! If any questions or feature ideas come up as you dig deeper into the system, please feel free to post here or email me at tony (at) pixelcrushers.com.
     
  12. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,702
    Some updated support packages are available on the Pixel Crushers customer download site. Please PM me your invoice number if you need access.
    • Realistic FPS Prefab Support: In this updated support package, the RFPS Hunger, Health, and Thirst GUIs are now updated when syncing values from Lua (e.g., after conversations, when switching levels, and when loading games).
    • S-Inventory Support: This updated support package removes from a base S-Inventory support script an inadvertent reference to the S-Inventory + RFPS namespace.
    • Unity UI Support: This updated support package addresses a timing issue with Unity UI barks that use show and hide animations. If barks are shown in rapid succession before the previous one hides, this updated support package now correctly hides the bark at the end of all of them.
     
  13. LNMRae

    LNMRae

    Joined:
    Dec 28, 2012
    Posts:
    48
    Sort of in reference to what was being discussed about the continue button in order to foward text manually, I was wondering if it's possible to progress text via a button input? Such as hitting enter on the keyboard, or just clicking the mouse in general? I see you can hit 'escape' in order to exit the conversation entirely, but what about forwarding it?
     
  14. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,702
    Hi @LNMRae - Yes. (Keep in mind also that the UI subsystem is decoupled from the rest of the Dialogue System. If you don't like the way it works, you can drop in your own UI and the rest of the Dialogue System will play nicely with it.)

    I'm not sure exactly what behavior you're after, so I'll describe a few of the built-in behaviors:

    By default, the cancel key/button (which defaults to 'Escape' and no gamepad button assigned) has two behaviors:
    1. If a character is delivering a line (subtitle), it skips to the next stage in the conversation (i.e., the next line or response menu).
    2. If the player response menu is showing, it exits the conversation entirely.
    You can change the cancel key to 'Enter' if you want.

    You can also configure continue buttons, which skip to the next stage in the conversation when clicked. If a continue button is configured, the conversation will wait at the end of the line until the button is clicked.

    You can optionally customize this further to not wait if the next stage is a response menu.

    If you're using a typewriter effect, you can configure a two-step continue, where the first click fast-forwards the typewriter effect to the end, and the second click actually continues to the next stage.

    Depending on the GUI system you use, you can assign keys and/or gamepad buttons to the continue button.

    If you want to click anywhere to continue, just make your continue button the size of the whole screen, and make it invisible.

    So that's my shotgun approach to your question. If I didn't hit what you're looking for, please give me an example of what you're thinking of doing.
     
    Last edited: Feb 12, 2015
  15. LNMRae

    LNMRae

    Joined:
    Dec 28, 2012
    Posts:
    48
    Having a GUI button the size of a screen but invisible sounds like a good way to handle the behavior I was thinking about. Also, the cancel key behavior works perfectly for forwarding the dialogue, though I have another question now after playing around with the settings. Right now, the way it works is when it comes up on a response menu, it will just exit out of the dialogue without requiring a response if you hit the exit key. Is it possible to make it so that exiting out of the dialogue without selecting an answer is impossible?

    Also, I realized I'm having a small issue with ORK integration. I have two actors set up in the dialogue manager (the player and an NPC). When I go into the event editor and create a Start Conversation node, if the Actor is set to Object: Actor and Conversant is also set to Object: Actor, neither of their names are appearing under the dropdown box. I've set both of them up with the Player and NPC wizard. Is there something else I need to be doing in order to tag them properly for the Start Conversation node?
     
  16. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,702
    Hi @LNMRae - In this case, disable the cancel key entirely (set it to None) and use an invisible continue button. Set the continue button's trigger key to Escape (or whatever you want to use).

    Yes, one extra step, and it's entirely an ORK thing so it applies to other types of ORK events, too, not just the Dialogue System:
    1. In the event editor, click on the Event Settings node. This is the first node in the event.
    2. Scroll down to Event Actors.
    3. Click Add Actor.
    4. Configure the actor. Usually you can just click the Event Object checkbox. This tells ORK to use the GameObject that's involved in the event (i.e., the NPC). Tweak the other settings to your liking.
    5. Go back to the Start Conversation node. The actor should now appear in the dropdown menu.
    BTW, if you don't want to use ORK events, you can just use the Dialogue System's triggers. (See How to Set Up NPCs)
     
  17. Alic

    Alic

    Joined:
    Aug 6, 2013
    Posts:
    137
    Hey Tony, I'm currently integrating your dialogue system a little more deeply with Cinema Director for my game. I'd like to be able to create one cutscene in Cinema Director, and play out an entire conversation within that cutscene, with events which trigger each line of dialogue within the conversation. I could just make one cutscene for every line of dialogue and use the sequence field on each line, or one conversation for every line of dialogue and call DialogueManager.StartConversation() for each line, but it seems like it would feel better while working to write one conversation and then sync that conversation to one cutscene timeline. Of course, this would only be for cases when the cutscene doesn't need to branch.

    I have everything working for simply advancing the dialogue (calling onContinue on the UI is quite simple) but now I'm getting greedy. It would be cool to be able to make the dialogue event on the timeline associate with a specific dialogue entry. This would allow the cutscene to stay in sync with the dialogue even while scrubbing around in the cutscene timeline. Is there info anywhere on how to advance a conversation to a specific line, based on index or anything else?

    Thanks for reading, sorry I went on for a bit.
     
  18. LNMRae

    LNMRae

    Joined:
    Dec 28, 2012
    Posts:
    48
    Sounds perfect, exactly what I was looking to accomplish. Thanks so much for all the great help!
     
  19. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,702
    Hi @Alic - I recently added this to the in-house roadmap. Hopefully it'll be in the next release, scheduled for Tuesday. You'll be able to specify a dialogue entry ID to jump to.
    @LNMRae - My pleasure! If any other questions come up, feel free to post here or email me.
     
  20. Alic

    Alic

    Joined:
    Aug 6, 2013
    Posts:
    137
    Seriously? I'm confused, how do you read customers' minds? Thanks Tony :p

    *edit* In case you haven't thought of it yet, one really awesome convenience for working with dialog entries would be an attribute like [ConversationPopup] which could list all the dialogue entries in a conversation selected by a locally scoped conversation field.
     
    Last edited: Feb 14, 2015
  21. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,702
    I have to confess it's the opposite on this one. Before you, two other people requested the same thing. It took a while to sink in, but I finally got the message. :)


    -----

    Updated S-Inventory + Realistic FPS Prefab Support Package

    There's an updated S-Inventory + RPFS Support package on the Pixel Crushers download site. You can also download it here: SInventory_Support_2015-02-13.unitypackage

    It contains these fixes:
    • SInventoryConsumables (e.g., medkits) now don't increase above the maximum hit point ceiling.
    • SInventoryConsumables (medkits, food, drink) from item groups (chests) now work.
    • Ammo from item groups now count in RFPS.
    I reported a tiny bug to the developer of S-Inventory. If you drop an entire stack of ammo, it doesn't call the event hook to let RFPS know, so your RFPS ammo count will be higher than your S-Inventory ammo count. As soon the bug is fixed, this will work properly; no updated support package should be needed.
     
  22. PhosphorUnity

    PhosphorUnity

    Joined:
    Jan 22, 2014
    Posts:
    39
    I'm new to making a 2D game in Unity- can you make 2D cutscenes in Dialogue System, or is that not recommended?
     
  23. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,702
    Hi @stickleZ - 2D and 3D both work fine in the Dialogue System. Keep in mind that cutscenes in the Dialogue System are specified in text commands, like "Zoom2D(speaker); Voice(ready_aim_fire); Animation(fireBow)". It's much more convenient for writers. If you want to use an interactive visual cutscene editor, the Dialogue System supports uSequencer, Cinema Director, and Animator Timeline Editor, all of which support 2D.
     
  24. PhosphorUnity

    PhosphorUnity

    Joined:
    Jan 22, 2014
    Posts:
    39
    awesome- thanks!
     
  25. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,702
    If you're building for 64-bit iOS using Unity's new IL2CPP, a patch is available on the Pixel Crushers download site. It includes a workaround for an IL2CPP bug. If you need access, please PM me your invoice number.
     
  26. hike1

    hike1

    Joined:
    Sep 6, 2009
    Posts:
    401
  27. hike1

    hike1

    Joined:
    Sep 6, 2009
    Posts:
    401
  28. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,702
  29. RealAspireGames

    RealAspireGames

    Joined:
    Dec 24, 2013
    Posts:
    265
    Hi there!
    Just a quick question is there any way to get rid of the usable text on conversation. Every time I walk up to an NPC and press a key to talk the usable script text gets in the way of the dialog!
     
  30. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,702
    Hi @godofwarfare115 - Add a Set Component Enabled On Dialogue Event to your player. You can read more about it in this section of How to Set Up the Player (PC), but that section is mainly just a link to the Set Component Enabled On Dialogue Event page. There's also a page on How to Set Up NPCs,

    On your player's Set Component Enabled On Dialogue Event, set the Trigger to OnConversation. Add the player's Selector component to the On Start and On End sections, and set the On Start entry's state to False.
     
  31. hike1

    hike1

    Joined:
    Sep 6, 2009
    Posts:
    401
    Reupped the demo, missing a raven, moved them far off so you wouldn't kill them
    before you got the quest (which means no quest).

    Easiest dialog system I've used, and I've tried them all ;--]

    https://dl.dropboxusercontent.com/u/102638093/arpg_dialog.zip
    Actually 17MB

    Credits-

    "Cosmo" and "Tizeta" are by Tizeta from Blendswap.com
    The ravens are from 4toonstudios 'low-poly cartoon pack' on Unity Asset store
    Rudy is from Autodesk Pinocchio, now Character Generator

    Chest is by Nobiax, Blendswap or Opengameart.org
    Key is by YD Blendswap
    Bird is by Pantherone Blendswap or Opengameart
     
  32. sheffieldlad

    sheffieldlad

    Joined:
    Oct 9, 2013
    Posts:
    154
    Hi @TonyLi

    I bought this the other day, Just have a quick question.

    During a conversation, I would like to have my camera show the player a location in a different section of the map. What's the easiest way to do this?
    Should I use an alternative sequencer camera? if so, what should I do about the audio listener? I'm planning to have voice acted conversations in my project.

    (sorry if this question has been asked before, I skim read the forum but 27 pages is a lot to lok through :) )
    Many thanks,

    Paul.
     
  33. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,702
    Hi Paul, thanks for buying the Dialogue System!

    Create an empty GameObject at the desired camera position. For example, let's say the GameObject is named "camAngle1". In the dialogue entry where you want to show the location, set the Sequence field to something like:

    Camera(camAngle1); Delay({{end}})

    Camera(camAngle1) moves the sequencer camera to the position of the GameObject camAngle1. Delay({{end}}) pauses the dialogue entry for a duration based on the length of the dialogue text.

    You could get fancier and add fades:

    Fade(out,0.5); Camera(camAngle1)@0.5; Fade(in,0.5)@0.5

    You can use an alternate sequencer camera, but you don't have to. If you haven't assigned a sequencer camera to the Dialogue Manager, it'll borrow the main camera and put it back when it's done. The rules for how it uses sequencer cameras are here.

    As an alternative, you can use SwitchCamera() to temporarily change to a different camera that you've already positioned.

    Voice acting adds another consideration if your audio listener is on the camera and you're using 3D positional sound. If the camera is far away from the conversation participants, its audio listener won't hear the voice acting. Here are some ways you can handle this:
    • Set the voice acted clips to 2D. Most players want to hear voice acting at full volume anyway and control the volume using game options.
    • Use SetActive() and/or SetEnabled() to activate your special-location camera and temporarily deactivate the other camera (let's say it's called myMainCamera):
      SetActive(mySpecialCamera); SetEnabled(Camera,false,myMainCamera)
    • Write a custom sequencer command to do either of the above, or any other special handling you want.
    Or, if you want detailed control of very complex sequences, consider using a timeline editor such as uSequencer or Cinema Director. You can kick off these sequences from a dialogue entry with a single sequencer command such as:

    uSeq(myBigSequence)
     
    sheffieldlad likes this.
  34. sheffieldlad

    sheffieldlad

    Joined:
    Oct 9, 2013
    Posts:
    154
    Loving this asset. Many thanks @TonyLi
     
    TonyLi likes this.
  35. williamian

    williamian

    Joined:
    Dec 31, 2012
    Posts:
    119
    Hey, some questions.

    1. When I hover on a player to begin convo, the area is very small, any way to increase it?

    2. The reticule used to to indicate range, is there way to move it, say above the npc or object or at least a different place on screen?

    Great product by the way. Thanks.
     
  36. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,702
    Hi @williamian - Thanks! Glad you like the Dialogue System! I just replied to your email, and I'll post it here for others' benefit, too.

    To detect "usables", the Selector runs a raycast. To increase the detection area, increase the NPC's collider size. If you don't want to do this, create a child GameObject on a special layer (for example, call the layer "Selection") and give it a bigger collider. In the Feature Demo example scene, Private Hart has a child GameObject called "AI" that does this.

    Yes. It depends on the GUI system you're using.

    If you're using legacy Unity GUI (which is the default), take a look at the Topdown Demo scene. It uses an override component called Selector Follow Target to place the reticle on the NPC instead of at the top of the screen.

    With the new Unity UI (and also with NGUI), you set up the default reticle wherever you want on the canvas. If you want to place it on/above the NPC, you can use an override component. For an override example with Unity UI, play the Unity UI example scene and target Sergeant Graves.

    And you can hook in your own override component if you don't like how any of the existing options work.

    Here are some useful documentation links:
    Unity UI:
     
  37. RandAlThor

    RandAlThor

    Joined:
    Dec 2, 2007
    Posts:
    1,293
    Hi TonyLi,
    i saw that you support the action rpg starter kit from hitbear studio and they have now a top down version of that kit too.
    Do your asset support it too? I think they are working the same and hope that i can use it with your asset so maybe you have it and know more about it so i can buy it. Here is the link to the asset i mean https://www.assetstore.unity3d.com/en/#!/content/28864 .

    Edit:
    It look like this is only in jscript and not like the other translated to csharp at least when i try to see al the files in the asset store.
     
    Last edited: Feb 18, 2015
  38. Antiker90

    Antiker90

    Joined:
    Oct 2, 2013
    Posts:
    22
    I have a small question. And i dont find somewhere the right Answer :D
    I have see the Variabels in the Database. I have alsow see some Example with this:
    You're [lua(Actor["Player"].Age)]? You don't look a day over [lua(Actor["Player"].Age - 1)]!
    So now i must do a Variable for Age in your Database. But i want to have the Age from the Player Manager Script. So when the Player is +1 year must alsow updated the Text. How is that Possible?

    Also then EXP at ending from Quests. How i can give the PlayerManager.cs EXP+ 100 at end a quest. And alsow maby Gold. Ore when the Player gives a good Answer he become a good or evil Point.
    And like this i have menny Bools and menny things where im Interrested...
    All the Scripts are in c#

    I hope you can help and the Option are somewhere :D
     
  39. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,702
    Hi @RandAlThor - I can add it to consideration for the roadmap. There are some large features on the roadmap before it, and since it's in UnityScript I won't know whether support is practical until I dig into it. If you're looking for an immediate framework, consider using Action-RPG Starter Kit. I believe you can adjust the camera to make it somewhat top-down.

    Hi @Antiker90 - Add the Age field to the Actor:

    In your PlayerManager.cs:
    Code (csharp):
    1. using PixelCrushers.DialogueSystem;
    2.  
    3. public void IncreaseAge() {
    4.     var currentAge = DialogueLua.GetActorField("Player", "Age").AsInt;
    5.     DialogueLua.SetActorField("Player", "Age", currentAge + 1);
    6. }
    Add the Exp field to your quest:

    In your PlayerManager.cs:
    Code (csharp):
    1. public void FinishQuest(string questTitle) {
    2.     myExp += DialogueLua.GetQuestField(questTitle, "Exp").AsInt;
    3. }
    If you want to do this from a dialogue entry's Script field, you can register a C# function with Lua.
     
  40. Antiker90

    Antiker90

    Joined:
    Oct 2, 2013
    Posts:
    22
    Thank you verry mutch for this fast answer and that on this Time! The Age works great.
    But something is strange.

    First i have this script
    Code (CSharp):
    1. using PixelCrushers.DialogueSystem;
    2.  
    3.     public string NPCName;
    4.         public int Be;
    5.  
    6.     void Update () {
    7.         Be = DialogueLua.GetActorField("NPCName", "Be").AsInt;
    8.     }
    9.  
    10.  
    when i ride the NPCName in the Inspector it dosent work. At Debug.Log it shows the right name but it dosent update the right Be int.
    When i ride:
    Be = DialogueLua.GetActorField("Jhon", "Be").AsInt;
    it works... so its not so nice to make for each NPC a new Script. I dont anderstand the Problem.
    Alsow i dont like the idea to check every time is something changed at the int. Better i find i can ride directly at the Scipt feald a Lua Coud and Talk with the Manager Scripts on Player and NPCs. But thats not so important.

    About the Exp... I have madethis like your good looking example... All is the Same... But it dosent work.
    I think i must Activate this public void FinishQuest(string questTitle)
    in the Script Line at the Talk... But i dont no what... Maby you have some more Informations what i have forget... This Lua think i dont like :D

    Thank you for your good and fast help!
     
  41. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,702
    Change this to:
    Code (csharp):
    1. public string NPCName;
    2. public int Be;
    3.  
    4. void Update () {
    5.     Be = DialogueLua.GetActorField(NPCName, "Be").AsInt;
    6. }
    (No quotes around NPCName.)


    Here is a different solution. In this solution, you will not add fields to the dialogue database. Instead, Lua will access the values of your C# script.
    Code (csharp):
    1. using UnityEngine;
    2. using PixelCrushers.DialogueSystem;
    3.  
    4. public class PlayerManager : MonoBehaviour {
    5.  
    6.     public int age;
    7.     public int exp;
    8.  
    9.     void Start() {
    10.         Lua.RegisterFunction("GetAge", this, typeof(PlayerManager).GetMethod("GetAge"));
    11.         Lua.RegisterFunction("SetAge", this, typeof(PlayerManager).GetMethod("SetAge"));
    12.         Lua.RegisterFunction("AddExp", this, typeof(PlayerManager).GetMethod("AddExp"));
    13.     }
    14.  
    15.     public double GetAge() {
    16.         return age;
    17.     }
    18.  
    19.     public void SetAge(double newAge) {
    20.         age = (int) newAge;
    21.     }
    22.  
    23.     public void AddExp(double amount) {
    24.         exp += amount;
    25.     }
    26. }
    In the code above, the PlayerManager script registers three functions with Lua: GetAge(), SetAge(x), and AddExp(x).

    In your dialogue entries, you can use these functions in the Conditions and Script fields, and in the [lua()] tag. For example:

    • Dialogue Text: "You are [lua(GetAge())] years old!"

    • Conditions: GetAge() < 21
    • Dialogue Text: "Sorry, you're too young to buy a beer."

    • Dialogue Text: "Happy Birthday!"
    • Script: SetAge( GetAge() + 1 )

    • Dialogue Text: "You completed the quest!"
    • Script: Quest["MyQuest"].state = "success"; AddExp(Quest["MyQuest"].Exp)
     
  42. Antiker90

    Antiker90

    Joined:
    Oct 2, 2013
    Posts:
    22
    Haha im so stupid abboud the NPCName :D Dont know way i havent see that... Maby the time...

    The rest is perfekt perfekt PERFEKT! Thank you for the greait help. And nice Asset
     
  43. sheffieldlad

    sheffieldlad

    Joined:
    Oct 9, 2013
    Posts:
    154
    Hi @TonyLi
    What's the best way of pausing dialogue for the duration of an audio clip before it moves onto the next person in the conversation?

    I've tried AudioWait(myAudioClip) but it never moves onto the next conversation.
    I'm happy to just use the default sequencer camera angles for now.

    thanks

    EDIT: I should add, this is what I am currently using at the moment.
    Audio(Kate/Kate1, listener)->Message(Done);Camera(Medium Left); required Camera(Medium Left, listener)@Message(Done)
     
  44. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,702
    Hi @Antiker90 - Thanks! Glad I could help!

    Hi @sheffieldlad - AudioWait() should do it. Does this Sequence move onto the next person?

    Camera(Medium Left); required Camera(Medium Left, listener)@{{end}}

    If so, then try this:

    AudioWait(Kate/Kate1, listener)->Message(AudioDone); Camera(Medium Left); required Camera(Medium Left, listener)@Message(AudioDone)

    If that doesn't work, are there any warnings in the console? Please feel free to send screenshots or an example project to tony (at) pixelcrushers.com.
     
    sheffieldlad likes this.
  45. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,702
    Just posting a quick update on the next release. It's a few days behind schedule. Everything is done and has been through QA except a final feature addition to the Adventure Creator support package, which should hopefully be done in 1-2 days. The release will have updates for several third-party support packages, including Adventure Creator, RPG Kit, Realistic FPS Prefab, S-Inventory, TextMesh Pro, and others.
     
    sheffieldlad likes this.
  46. sheffieldlad

    sheffieldlad

    Joined:
    Oct 9, 2013
    Posts:
    154
    a thanks Tony,

    I'm just on my way out of the door but when I get back I'll give that a go.
     
  47. sheffieldlad

    sheffieldlad

    Joined:
    Oct 9, 2013
    Posts:
    154
    Camera(Medium Left); required Camera(Medium Left, listener)@{{end}}

    works fine

    AudioWait(Kate/Kate1, listener)->Message(AudioDone); Camera(Medium Left); required Camera(Medium Left, listener)@Message(AudioDone)

    However never moves onto the next actor.
    No console messages.
    What would you like me to take screenies of?
    If you let me know of any settings which could be causing this then I will send screenies/alter settings to whatever you advise.
    I can't send a sample project, my project is huge.

    Many thanks
     
  48. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,702
    Does this sequence work?

    AudioWait(Kate/Kate1, listener)​

    This is without the camera commands and messages. It should help determine whether the problem is with AudioWait or messaging.
     
  49. sheffieldlad

    sheffieldlad

    Joined:
    Oct 9, 2013
    Posts:
    154
    No, the conversation doesn't move on.
     
  50. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,702
    That's great info. We cut the problem space in half. Does a different audio clip work? How long is Kate1?