Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

[RELEASED] Dialogue System for Unity - easy conversations, quests, and more!

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

  1. AngelBeatsZzz

    AngelBeatsZzz

    Joined:
    Nov 24, 2017
    Posts:
    239
    I get it, thanks.:)
     
  2. AngelBeatsZzz

    AngelBeatsZzz

    Joined:
    Nov 24, 2017
    Posts:
    239
    I have unchecked "Dont Destroy On Load" but it's not work. Do you know why?
     
  3. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,670
    A couple other components may also set the Dialogue Manager GameObject to "Don't Destroy On Load". Check your Dialogue Manager for these components:
    • Input Device Manager: Untick Singleton.

    • Save System: This must always be "Don't Destroy On Load" because it needs to survive scene changes. If this component is on your Dialogue Manager, move it to a separate GameObject.
    BTW, it's generally recommended to leave the Dialogue Manager's Don't Destroy On Load ticked so you can retain the Dialogue System's runtime state (e.g., variables values and quest states) across scenes.
     
  4. AngelBeatsZzz

    AngelBeatsZzz

    Joined:
    Nov 24, 2017
    Posts:
    239
    I get it, thanks.
     
  5. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,670
    Glad to help!

    BTW, if for some reason you don't want to use "Don't Destroy On Load" but you want to retain the Dialogue System's runtime state across scene changes, call PersistentDataManager.GetSaveData() before the scene change, and PersistentDataManager.ApplySaveData() after. Example:
    Code (csharp):
    1. string s = PersistentDataManager.GetSaveData();
    2. SceneManager.LoadScene("A New Scene");
    3. PersistentDataManager.ApplySaveData(s);
     
  6. SickaGames1

    SickaGames1

    Joined:
    Jan 15, 2018
    Posts:
    1,268
    Hi Tony,

    I am trying to install EMM and I followed your tutorial, but this is the end product:

    NullReferenceException: Object reference not set to an instance of an object
    PixelCrushers.DialogueSystem.QuestStateListener+<Start>c__Iterator0.MoveNext () (at Assets/Plugins/Pixel Crushers/Dialogue System/Scripts/Quest Subsystem/QuestStateListener.cs:99)
    UnityEngine.SetupCoroutine.InvokeMoveNext (IEnumerator enumerator, IntPtr returnValueAddress) (at C:/buildslave/unity/build/Runtime/Export/Coroutines.cs:17)
     
  7. AngelBeatsZzz

    AngelBeatsZzz

    Joined:
    Nov 24, 2017
    Posts:
    239
    Wow, you almost did everything.;)
     
  8. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,670
    Hi @SickaGamer - I'll make sure this error doesn't appear in version 2.0.5, which is being released tomorrow. In the meantime, I think if you add a QuestStateDispatcher component to your MainMenu's Dialogue Manager, it should be fine. To add a QuestStateDispatcher, search for a script named "QuestStateDispatcher" in the Project view. Then drag it onto the Dialogue Manager.
     
  9. SickaGames1

    SickaGames1

    Joined:
    Jan 15, 2018
    Posts:
    1,268
    If that fixes it, I will just download your update when it released! Thanks!
     
  10. SickaGames1

    SickaGames1

    Joined:
    Jan 15, 2018
    Posts:
    1,268
    Did 2.05 get released?
     
  11. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,670
    Yes, it just takes a while to upload everything to the Asset Store, since the Dialogue System, Quest Machine, Love/Hate, and the Save Systems for UFPS and RFPS all got updates.
     
  12. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,670
    Dialogue System for Unity 2.0.5 Released!

    Version 2.0.5 is now available on the Pixel Crushers customer download site and should be available on the Asset Store in 5-10 business days. (If anyone needs access to the Pixel Crushers customer download site, please PM me your Asset Store invoice number.)

    This is a big update. Some of the major highlights are:


    Note: If you're using Unity 2018+, Unity's Package Manager allows you to disable the Physics2D package. In Unity 2018+, the Dialogue System doesn't assume that you've enabled Physics2D. To tell the Dialogue System that you've enabled Physics2D, select menu item Tools > Common > Misc > Enable Physics2D Support. If you're using Unity 2017 or earlier, you don't need to do this.


    Version 2.0.5 Release Notes
    Core:

    • Changes:
      • CHANGED: In Unity 2018+, if you need the Dialogue System to support 2D physics, you must now define the compiler symbol USE_PHYSICS2D.
      • CHANGED: AudioWWW() sequencer command has been deprecated.
      • CHANGED: Group nodes now run their OnExecute events.
      • CHANGED: Renamed Lua "Library" folder to "LuaLibrary" to accommodate version control ignore lists. If updating from a previous version and you want this name change, you will need to manually rename it.
    • Misc:
      • Updated for .NET Standard 2.0 compatibility.
      • Fixed .NET4 issue when a class named Assets is defined in the global namespace.
      • Removed copyright symbol from script file header comments. (Bug in Unity 2017-2018 inspector can't handle this symbol.)
      • TimedEvent now has option to count time by # of frames.
      • Tag masks on TriggerEvent and CollisionEvent now support >32 tags.
    • Editor:
      • Added new localization export/import feature on Dialogue Editor's Database tab.
      • Watches tab now shows correct quest entries in dropdown menu for selected quest instead of first watched quest.
      • To reduce database size, if a node's Title is set to the default "New Dialogue Entry", it will be cleared as soon as you enter Dialogue Text or Menu Text.
      • Exposed Allow Simultaneous Conversations checkbox.
      • If unticking Dialogue Manager's Don't Destroy On Load, now checks Input Device Manager & Save System for Don't Destroy On Load.
      • Added Control Graphic Raycasters checkbox to InputDeviceManager.
    • Lua & Sequences:
      • Added RandomizeNextEntry() sequencer command & Lua function.
      • Added conversation position stack Lua functions (save & return to conversation positions).
      • Lua wizard multiple quest entry dropdowns now match their respective quests.
      • LuaInterpreter now implements short circuit evaluation of 'and'/'or'.
      • LuaInterpreter math.random(x) now returns values [1..x] to conform to Lua standard.
      • TextInput() sequencer command now looks for text field UIs in the current dialogue UI first.
      • SequencerShortcuts now maintains a stack. If you remove a shortcut, previous shortcut on stack takes effect again.
      • Added Timeline ContinueConversation track.
    • Scripting:
      • Added: DialogueLua.GetSimStatus() function.
      • Fixed attributes [VariablePopup], [ActorPopup], and [QuestPopup] which weren't populating dropdown lists in all circumstances.
      • Fixed ConversationView.OnConversationContinueAll(), which when manually called wouldn't notify listeners in certain circumstances.
      • Added DialogueSystemController.initializationComplete event, isInitialized property.
      • DialogueSystemTrigger methods are now virtual.
    • Save System:
      • Added Assign Unique Keys menu item for Savers.
      • If Active Saver activates inactive target, it now also tells target's other savers to apply data.
      • PersistentDataManager now initializes new quest info and SimStatus when loading games saved with previous versions of database.
      • ConversationStateSaver no longer requires that conversation has conversant assigned.
      • ConversationStateSaver now stops active conversation if saved game had no active conversation.
      • AnimatorSaver now saves parameter values as well as states.
    • UI:
      • Added Sci-fi Standard Dialogue UI.
      • Fixed StandardDialogueUI null reference exception when a custom menu panel didn't have a canvas.
      • If a custom StandardUISubtitlePanel is already closed, it will no longer play the unfocus animation on start of conversation.
      • Fixed NullReferenceException in SelectorUseStandardUIElements after changing scenes.
      • Fixed StandardUIQuestLogWindow Show Details On Select feature.
      • Added "Add EventSystem If Needed" checkboxes to Standard & Unity UI dialogue UIs & quest log windows.
      • StandardUIMenuPanel now prevents second button clicks while menu panel is playing hide animation.
      • TextMesh Pro: TextMeshProTypewriterEffect now properly recognizes alternate audio clips.
      • Fixed QuestStateListener null reference exception when unable to add a QuestStateDispatcher.
    Third Party Support:
    • articy:draft: Instructions and Jumps are now converted as blank nodes with None() sequences instead of Group nodes.
    • Corgi Platformer Engine: Improved appearance of dialogue bubble.
    • Invector Controller: Added Lua functions to get/set stats and add items to inventory. Saves items & stats.
    • Inventory Pro: Stats and inventory are now integrated with Save System.
    • Opsive Ultimate Character Controller: Added support.
    • PlayMaker: Added GetCurrentConversationInfo action. Fixed PlayMakerLua unregistering if on multiple Dialogue Managers. Fixed GetLocalizedText. Added GetLocalizedVersion to GetLuaField.
    • Rog Inventory Engine: Updated actor prefab.
    • uMMORPG: Updated for uMMORPG 1.140+.
    • uSurvival: Added support.
     
    Last edited: Oct 24, 2018
    superwendel and Shinzironine like this.
  13. SickaGames1

    SickaGames1

    Joined:
    Jan 15, 2018
    Posts:
    1,268
    Updated to 2.0.5 and now I am getting this error:

    Some objects were not cleaned up when closing the scene. (Did you spawn new GameObjects from OnDestroy?)
    The following scene GameObjects were found:
    QuestStateDispatcher
     
  14. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,670
    Hi @SickaGamer - I replied to your PM. When we confirm an answer, I'll reply back here, too, in case someone else gets in the same situation in the future.
     
  15. AngelBeatsZzz

    AngelBeatsZzz

    Joined:
    Nov 24, 2017
    Posts:
    239
    "On Excute()" in the dialog node doesn't work. How do I use it?
     
  16. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,670
    Hi @AngelBeatsZzz - What do you mean by "it doesn't work"? Please note that you can't assign scene objects because the dialogue database itself isn't part of any scene. Here's more info: OnExecute() UnityEvent.

    If you need to activate a scene object, use the SetActive() sequencer command instead. Or use SetEnabled() if you need to activate a component on a GameObject. There are other sequencer commands to do things to scene objects, such as playing animation states.
     
  17. AngelBeatsZzz

    AngelBeatsZzz

    Joined:
    Nov 24, 2017
    Posts:
    239
    Understand, I get it, thanks for reply.;)
     
  18. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,670
    Dialogue System for Unity 2.0.5 Available On Asset Store

    Version 2.0.5 is now available for download on the Asset Store.

    The release notes are in this post.


    Reminder: In Unity 2018+, it's now possible to disable the built-in Physics2D package. For this reason, the Dialogue System plays nicely and doesn't assume that Physics2D is enabled, which would cause compiler errors if it's disabled. If you're making a 2D project in Unity 2018+, select menu item Tools > Pixel Crushers > Common > Misc > Enable Physics 2D Support to tell the Dialogue System that you're using 2D. If you're using Unity 2017 or older, you can skip this.
     
    Last edited: Oct 26, 2018
  19. MC_Grove

    MC_Grove

    Joined:
    May 26, 2015
    Posts:
    17
    Help with TimeLine, how to start each phrase from the separate dialog at the right time in the timeline?
     
  20. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,670
    Hi @MC_Grove - This isn't the normal way that the Dialogue System is designed to work with Timeline, but it's possible. Here's how:

    Make each phrase a "leaf" of the conversation tree:

    upload_2018-10-26_14-53-10.png

    In Timeline, add a Conversation Track. At times in the timeline, add Start Conversation clips. Tick Jump To Specific Entry, and specify the Entry ID.

    upload_2018-10-26_14-51-35.png

    This will work by starting each phrase as a conversation.


    However, the Dialogue System was really designed to work with Timeline in two different ways:

    1. Write your conversation like normal (as shown below). Set the continue button mode to Always. In Timeline, add a Continue Conversation Track. At times in the timeline, add Continue Conversation clips. This will move the conversation from one phrase to the next.

    upload_2018-10-26_14-55-42.png

    2. Or, play your conversation outside of Timeline. Instead, when you need to run a timeline inside a specific dialogue entry node, use the Timeline() sequencer command. See the Dialogue System's Timeline & Cinemachine documentation for more info.
     
  21. MC_Grove

    MC_Grove

    Joined:
    May 26, 2015
    Posts:
    17

    The first method, which is not correct, how to adjust it so that the canvas was always and did not pop up a warning that I cannot start the second dialog because the first one has not ended?
     
  22. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,670
    Hi,
    You need to make sure the first one ends first. Or use the Continue Conversation Track as described later in my reply, which is the preferred way to set up timing.
     
  23. MC_Grove

    MC_Grove

    Joined:
    May 26, 2015
    Posts:
    17

    If you use the continue button, is it necessary for the player to press it? It's just that my timeline is automatic and the dialogs should appear at the right time, like subtitles
     
  24. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,670
    Hi @MC_Grove - The Continue Conversation Track will automatically simulate a continue button click. Instead of setting the Continue Button mode to Always, which will show the continue button, you can set the Sequence to WaitForMessage(Forever) instead. This will keep the continue button hidden, but the Continue Conversation Track will still be able to continue the conversation to the next entry.

    I put together two examples for you:

    TimelineConversationExamples_2018-10-26.unitypackage

    Example 1 uses a Continue Conversation Track. The conversation overrides the Default Sequence, setting it to WaitForMessage(Forever).

    Example 2 uses individual Start Conversation clips in a Conversation Track. Each dialogue entry's Sequence is short enough that the entry finishes before the next Start Conversation clip.
     
  25. MC_Grove

    MC_Grove

    Joined:
    May 26, 2015
    Posts:
    17
    In the first example, I have an error, no Continue Conversation Track

    Screenshot_1.jpg
     
  26. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,670
    Hi,
    Please update to version 2.0.5. Continue Conversation Track is new in 2.0.5.
     
  27. MC_Grove

    MC_Grove

    Joined:
    May 26, 2015
    Posts:
    17
    Thanks, it was updated and with the help of continue everything builds well, but such a question, it does not accept an empty dialogue?
     
  28. DMRhodes

    DMRhodes

    Joined:
    May 21, 2015
    Posts:
    81
    Wow. Great stuff, thank you for the update. A quick question for clarification.

    Regarding the RandomizeNextEntry() Function

    Currently if I want random dialogue, I would, for example, set a node (1) to roll a script MathRandom(3) value and the subsequent nodes (2, 3, 4) to a RandomValue = 1/2/3 condition. If I understand this right this implies I can have a dialogue node move on to the next connected node randomly without setting any mathRandom or randomvalue conditions? Just by using the RandomizeNextEntry() sequencer command?

    This sounds like a great QOL improvement for me.

    What happens if a subsequent child node (2, 3, 4) has an additional condition that isn't met? Will node (1) then 'reroll' and attempt to randomly open a new node, or will it default to the first option?

    Thank you for your time.
     
  29. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,670
    Hi @MC_Grove - I'm not sure I understand. But if your node has empty Dialogue Text, you can set its Sequence to "Continue()" to make the conversation skip past it. You can either type it manually or select "+" > Continue > Simulate Continue Button Click:

    upload_2018-10-27_9-23-9.png

    You might do this, for example, if the node has Conditions, or a Script that you want to run to update quest states, but you don't need it to show any subtitle.


    Hi @Candy-Bomber - It will 'reroll'. That is, it's guaranteed to choose a node whose condition is true.

    Let's take this example, where we're on the node "Hey". The conditions on child nodes A and C are true, but the condition on B is false:

    upload_2018-10-27_9-27-38.png

    At the point that "Hey" plays, it will have checked conditions on A/B/C and generated a list of valid responses (A & C).

    When "Hey" finishes, it will choose from the valid responses (either A or C).
     
  30. MC_Grove

    MC_Grove

    Joined:
    May 26, 2015
    Posts:
    17
    I look at the manual, but I can’t figure out how to implement the following, my timeline comes to SequenceTreck, the timeline stops, there is a choice of answers on different topics and then let's say you click to finish the dialogue and the timeline continues to work, the problem is that the timeline starts but SequenceTreck slows it down again, as the scale stops at the beginning of the SequenceTreck, how can this be fixed?
     
  31. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,670
    Hi - I'm sorry, I don't understand. Can you post a screenshot?
     
  32. MC_Grove

    MC_Grove

    Joined:
    May 26, 2015
    Posts:
    17
    I have a timeline, it reaches frame 1255, the Sequencer is working (screen-1)

    Screenshot_1.jpg

    There is a conversation on all topics (screen-2)

    Screenshot_4.jpg

    Then the player ends the conversation and timeline starts again (screen-3)

    Screenshot_2.jpg Screenshot_3.jpg

    Timeline stops again due to PlaySequenceClip (screen-1)

    Screenshot_1.jpg

    How is this fixed?
     
  33. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,670
    @MC_Grove - Thank you. Those screenshots were very helpful. You don't need a Play Sequence track. I recommend setting it up like this:

    upload_2018-10-27_13-48-26.png

    In your scene, before the response menu, set the node's Sequence to:

    Timeline(pause, TimeLine)​

    After the response menu, you will need a blank node. Set its Sequence to:

    Timeline(resume, TimeLine, , nostop)​

    The special keyword "nostop" will allow the timeline to continue in this special case.

    I attached an example scene to this post (Timeline Example 3).
     

    Attached Files:

  34. MC_Grove

    MC_Grove

    Joined:
    May 26, 2015
    Posts:
    17
    Thanks for the help, now you can write powerful cut scenes with interactive dialogue)
     
    TonyLi likes this.
  35. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,670
    Glad to help!
     
  36. Cleverlie

    Cleverlie

    Joined:
    Dec 23, 2013
    Posts:
    219
    Hi @TonyLi , I have a question, is there a chance that you can contact with the developer of I2 Localization to make a better integration with his asset? the reason is because as stated here

    Dialogue System's current integration with I2:
    maybe a way to have a I2 Term attached to for example the "Dialogue Text" parameter of the dialogue entries? and that the Dialogue System actually retrieves the translation for the term, in runtime, using the I2 API?

    my understanding is that the current integration is just copying the translations from I2 database to your own DS database (text table), this is done in editor only right?

    thanks
     
  37. Cleverlie

    Cleverlie

    Joined:
    Dec 23, 2013
    Posts:
    219
    also, in the latest version of I2:


    that change is making the third party integration throw some errors:

    Assets/Pixel Crushers/Dialogue System/Third Party Support/I2 Localization Support/Scripts/Editor/DSToI2Window.cs(356,27): error CS1502: The best overloaded method match for `UnityEditor.EditorUtility.SetDirty(UnityEngine.Object)' has some invalid arguments



    Assets/Pixel Crushers/Dialogue System/Third Party Support/I2 Localization Support/Scripts/Editor/DSToI2Window.cs(356,70): error CS1503: Argument `#1' cannot convert `I2.Loc.LanguageSourceData' expression to type `UnityEngine.Object'




    I'll try to come out with a fix for that and let you know how it went
     
  38. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,670
    Hi @Cleverlie - I worked with the i2 dev on the first version of the integration. I'll update the support package this week for compatibility with version 2.8.9.

    You're correct that the current integration pulls data from the i2 ScriptableObject using an editor window. I can add an option to pull translations at runtime from the i2 ScriptableObject. Both Frank's i2 code and the Dialogue System's code does processing on text. For example, in the Dialogue System "Hello, [var=Actor]" will dynamically insert the player's name. So the runtime option will first pull from i2 and then process the Dialogue System's dynamic replacements.
     
    Cleverlie likes this.
  39. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,670
    @Cleverlie - The Dialogue System Extras page has an updated i2 Localization support package that's updated for i2 Localization 2.8.9. The Dialogue System Use I2 Language component now has an additional checkbox to pull subtitle translations from i2 Localization at runtime. If you use this checkbox, you don't need to repopulate the dialogue database (i.e., don't click "From I2" on the DS To I2 window).


    For RT-Voice users, the Extras page also has an updated support package for the latest version of RT-Voice, which had an API change.
     
    Cleverlie likes this.
  40. Shinzironine

    Shinzironine

    Joined:
    Nov 30, 2013
    Posts:
    32
    I have several issues with RandomizeNextEntry() unfortunately. First issue that I've stumbled upon, is that the Lua function is registered as a static call with a null target, so it simply does not work (there is an exception). This one is fixed with a 'this' call easily. Unfortunately this function still does not work if it is in a first group node in the conversation, since it seems that the StartConversation method of a DialogueSystemController is not called until there is node with a dialogue text, it means that the m_conversationController is still a null. I have a quick hacky workaround for this as well, but I think the first group node should be supported (or even a call in a Start node).
     
  41. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,670
    Hi @Shinzironine - I'll double check the Lua registration. Since it's static, null should work as the target. If it were non-static, it wouold need an object (i.e., 'this'). Anyway, I'll investigate this and also make sure it supports group nodes as the first node in the conversation, and I'll get an update out very soon. BTW, you can also use the RandomizeNextEntry() sequencer command as an alternative.
     
  42. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    4,030
    @TonyLi I just started putting in scene portals in my game and I see an issue that I don't know how to fix. In my main scene I have a quest to destroy 9 items. Each of these items has the IncrementOnDestroy script with the Increment On set to Disable. This works fine while I'm in the scene. However, as soon as I trigger a scene portal and the new scene loads, all of the IncrementOnDestroy scripts are triggered and the quest is completed. So, these scripts are not handling the case where a scene is unloading, which must be causing them to become disabled.

    [EDIT]
    I'm using Dialogue System 2.04 and Unity 5.6.4p3.

    [EDIT 2]
    Strange. I'm looking at the code and it looks like it has code to handle level unloading, but it's not working in this case. I'll try some debug and see what I find out.

    [EDIT 3]
    I think I know what it is. I haven't added all the required components yet. I don't have a PeristentDataManager, etc. I'll set up properly and all should work. Sorry for the bother.

    [EDIT 4]
    All working now. Yay!
     
    Last edited: Oct 30, 2018
  43. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,670
    Hi @magique - Sounds like all's good now. Should others run into this in the future, just add a DialogueSystemSaver component, for example to the Dialogue Manager. This ties the Dialogue System into the Save System. The ScenePortal component is a part of the Save System, and IncrementOnDestroy is part of the Dialogue System.
     
  44. closetgeekshow

    closetgeekshow

    Joined:
    Jun 6, 2014
    Posts:
    125
    @TonyLi I'm having a weird issue with the RFPS and Dialogue System integration. Alerts are not working when triggered by Dialogue System On Pick Up Item.

    I thought it was something I was doing wrong in my own project but I made a new project containing only RFPS and Dialogue System and I'm getting the same behaviour.

    Test case:
    Install RFPSP Support
    Open Pixel Crushers\Dialogue System\Third Party Support\Example\RFPSP Example
    Go to Sad Robot and accept his quest
    Go into house and pickup shotgun - it's my presumption that an alert should appear when doing this but it does not.

    Is this function bugged in some fashion? Am I misunderstanding how alerts on pickup work?
     
  45. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,670
    Hi @closetgeekshow - I'll investigate this today and reply back here. I'm out of the office at the moment, so it will be about 4 hours from now.
     
  46. closetgeekshow

    closetgeekshow

    Joined:
    Jun 6, 2014
    Posts:
    125
    Thanks, no rush.
     
  47. closetgeekshow

    closetgeekshow

    Joined:
    Jun 6, 2014
    Posts:
    125
    While you're looking at that. It also seems the Kill 4 Zombies quest isn't working.
     
  48. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,670
    Okay, the scene's fixed in this updated package: RFPSP_Support_2018-10-30.unitypackage

    RFPSP's NPCs no longer disappear immediately, so Increment On Destroy won't fire immediately. I updated the zombies to use their OnDie() events instead. OnDie() calls a Dialogue System Trigger that increments the counter.

    The latest RFPSP had a change that caused pickup alerts to not show; that's fixed, too.

    I also added a quest tracker HUD to make it easier to see what quests are active.
     
    Last edited: Oct 31, 2018
  49. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,670
    Hi @Shinzironine - I PM'ed you a patch that should fix the RandomizeNextEntry() issues. I'll include this in an upcoming patch on the Pixel Crushers customer download site and in the next Asset Store update.
     
    Shinzironine likes this.
  50. closetgeekshow

    closetgeekshow

    Joined:
    Jun 6, 2014
    Posts:
    125
    Works great now, thank you for the prompt update!
     
    TonyLi likes this.