Page 1 of 1

LoadLevel Errors

Posted: Sat Feb 10, 2018 5:52 am
by Caidran
Hello,

I'm having some odd issues this morning. When loading a level via LoadLevel() today the game hangs and the error appears to be when syncing the AdventureCreator variables to the DS LUA table.

NullReferenceException: Object reference not set to an instance of an object
PixelCrushers.DialogueSystem.AdventureCreator.AdventureCreatorBridge.SyncVariablesToLua () (at Assets/Dialogue System/Third Party Support/Adventure Creator/Scripts/AdventureCreatorBridge.cs:370)
PixelCrushers.DialogueSystem.AdventureCreator.AdventureCreatorBridge.SyncAdventureCreatorToLua () (at Assets/Dialogue System/Third Party Support/Adventure Creator/Scripts/AdventureCreatorBridge.cs:355)
PixelCrushers.DialogueSystem.SequencerCommands.SequencerCommandAC.OnDestroy () (at Assets/Dialogue System/Third Party Support/Adventure Creator/Scripts/Sequencer Commands/SequencerCommandAC.cs:111)

Line 370;
public void SyncVariablesToLua()
{
370 SyncVarListToLua(AC.KickStarter.runtimeVariables.globalVars, true);
SyncVarListToLua(AC.KickStarter.localVariables.localVars, false);
}

I'll update this post if I manage to resolve this issue but I'm not entirely sure what is causing it, I've created a few new global variables in AC but have done this no differently than I have done previously.

Cheers

Re: LoadLevel Errors

Posted: Sat Feb 10, 2018 7:41 am
by Caidran
Resolved this, I had the following;

Dialogue Manager:
Persistent Data Settings;
Record Persistent Data On -> All game objects

Changing this to;
Record Persistent Data On -> Registered gameobjects only

Fixed the problem. User error! :)

Re: LoadLevel Errors

Posted: Sat Feb 10, 2018 8:15 am
by Tony Li
Hmm, I don't see why changing that setting would cause it to hang. I'll look into this anyway, but I'm glad it's working for you now.

Re: LoadLevel Errors

Posted: Sat Feb 10, 2018 9:24 am
by Caidran
I'm not sure myself to be honest, I'm sure I've had it set to that previously in this build.

Off topic for this thread but I'm conscious of the fact that I've been creating a fair few recently and I'm sure I'm missing something simple here...

I am ending a conversation with a loadlevel() sequence and when the new level loads, the conversation trigger there starts the next conversation as expected however the first dialogue entry appears for a second and then disappears, the rest of the conversation does not appear to occur. If I link the previous scene conversation to the new conversation, the issue goes away however this prevents being able to easily use the LoadRandomLevel() sequence.
I'll post some of the console output, it does seem that the conversation trigger is working and it starts the conversation so I can't understand why it would just suddenly stop, the first dialogue entry doesn't even have a chance to full type the text out before it closes. I have tried this with and without an actor gameobject defined, I generally don't have actors defined in the conversations as gameobjects. (Visual novel/adventure style game)

Any ideas where I should start looking for why this is occurring?

Code: Select all

Dialogue System: Starting conversation 'Journey1', actor=, conversant=ConversationTriggers (UnityEngine.Transform).
UnityEngine.Debug:Log(Object, Object)
PixelCrushers.DialogueSystem.DialogueSystemController:StartConversation(String, Transform, Transform, Int32)
PixelCrushers.DialogueSystem.DialogueSystemController:StartConversation(String, Transform, Transform)
PixelCrushers.DialogueSystem.DialogueManager:StartConversation(String, Transform, Transform)
PixelCrushers.DialogueSystem.ConversationStarter:StartConversation(Transform)
PixelCrushers.DialogueSystem.ConversationStarter:TryStartConversation(Transform, Transform)
PixelCrushers.DialogueSystem.ConversationStarter:TryStartConversation(Transform)
PixelCrushers.DialogueSystem.<StartConversationAfterOneFrame>c__Iterator1B:MoveNext()
UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)

Code: Select all

Dialogue System: Add Link (CharacterA): ID=32:1 'dialogue text here'' (True)
UnityEngine.Debug:Log(Object)
PixelCrushers.DialogueSystem.ConversationModel:EvaluateLinksAtPriority(ConditionPriority, DialogueEntry, List`1, List`1, List`1, Boolean)
PixelCrushers.DialogueSystem.ConversationModel:EvaluateLinks(DialogueEntry, List`1, List`1, List`1, Boolean)
PixelCrushers.DialogueSystem.ConversationModel:GetState(DialogueEntry, Boolean, Boolean, Boolean)
PixelCrushers.DialogueSystem.ConversationModel:.ctor(DialogueDatabase, String, Transform, Transform, Boolean, IsDialogueEntryValidDelegate, Int32, Boolean, Boolean)
PixelCrushers.DialogueSystem.DialogueSystemController:StartConversation(String, Transform, Transform, Int32)
PixelCrushers.DialogueSystem.DialogueSystemController:StartConversation(String, Transform, Transform)
PixelCrushers.DialogueSystem.DialogueManager:StartConversation(String, Transform, Transform)
PixelCrushers.DialogueSystem.ConversationStarter:StartConversation(Transform)
PixelCrushers.DialogueSystem.ConversationStarter:TryStartConversation(Transform, Transform)
PixelCrushers.DialogueSystem.ConversationStarter:TryStartConversation(Transform)
PixelCrushers.DialogueSystem.<StartConversationAfterOneFrame>c__Iterator1B:MoveNext()
UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)

Code: Select all

Dialogue System: ConversationTriggers says ''
UnityEngine.Debug:Log(Object)
PixelCrushers.DialogueSystem.ConversationView:StartSubtitle(Subtitle, Boolean, Boolean)
PixelCrushers.DialogueSystem.ConversationController:GotoState(ConversationState)
PixelCrushers.DialogueSystem.ConversationController:.ctor(ConversationModel, ConversationView, Boolean, EndConversationDelegate)
PixelCrushers.DialogueSystem.DialogueSystemController:StartConversation(String, Transform, Transform, Int32)
PixelCrushers.DialogueSystem.DialogueSystemController:StartConversation(String, Transform, Transform)
PixelCrushers.DialogueSystem.DialogueManager:StartConversation(String, Transform, Transform)
PixelCrushers.DialogueSystem.ConversationStarter:StartConversation(Transform)
PixelCrushers.DialogueSystem.ConversationStarter:TryStartConversation(Transform, Transform)
PixelCrushers.DialogueSystem.ConversationStarter:TryStartConversation(Transform)
PixelCrushers.DialogueSystem.<StartConversationAfterOneFrame>c__Iterator1B:MoveNext()
UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)
Cheers

Re: LoadLevel Errors

Posted: Sat Feb 10, 2018 11:20 am
by Tony Li
Hi,

This may be a dialogue panel animation issue. Version 1.7.7.1 introduced a bug that affected some animation setups. It's fixed in the upcoming 1.7.7.2 and the Unity UI Support package on the Dialogue System Extras page. Can you make a backup of your project and import the updated Unity UI Support package?

Re: LoadLevel Errors

Posted: Sat Feb 10, 2018 12:31 pm
by Caidran
That's solved the problem Tony.

Cheers :)