best way to launch sequence?
best way to launch sequence?
Hi tony! one question.
i have a simple tree with some decisions, and if the player choose a especial one i will want to launch a sequence to teleport to another scene, the problem is if i put de sequence in the same node of the response the sequence is launched before the dialogue and if i put a blank node with only the sequence this will execute after dialogue but dont hide de dialogue and show a blank panel of the dialogue.
what im making wrong?
thanks you men
i have a simple tree with some decisions, and if the player choose a especial one i will want to launch a sequence to teleport to another scene, the problem is if i put de sequence in the same node of the response the sequence is launched before the dialogue and if i put a blank node with only the sequence this will execute after dialogue but dont hide de dialogue and show a blank panel of the dialogue.
what im making wrong?
thanks you men
Re: best way to launch sequence?
Hi Alfonso,
Try setting the node's Sequence to something like:
This will teleport only after showing the dialogue text for a time.
If you're using continue buttons, you can set it to:
This will not run until 99,999 seconds, or as soon as the player clicks the Continue button.
If you want to use a blank node, set its Sequence to:
This tells the Dialogue Manager to not spend any time showing the node.
Try setting the node's Sequence to something like:
Code: Select all
LoadLevel(anotherScene)@{{end}}
If you're using continue buttons, you can set it to:
Code: Select all
required LoadLevel(anotherScene)@99999
If you want to use a blank node, set its Sequence to:
Code: Select all
None()
Re: best way to launch sequence?
great!! i knew that i'm missed something i will try now
Re: best way to launch sequence?
dont work any option.
where is the sequence called? it's possible that i overwrote the method who call the sequencer or something?
i'm using a custom sequence but if i dont put anything is called fine but at the start of the node.
where is the sequence called? it's possible that i overwrote the method who call the sequencer or something?
i'm using a custom sequence but if i dont put anything is called fine but at the start of the node.
Re: best way to launch sequence?
Another customer also reported that commands are running at the beginning of a dialogue entry instead of their scheduled time. I'll look into this today and reply back here.
Re: best way to launch sequence?
i debugged the dialogue and i'm receiving this two line in the console and looks like it trying to play the sequencer but then come in blank and override it?
Hope this help
Hope this help
Code: Select all
Dialogue System: Sequencer.Play( LoadLevel(TestingAlfonso)@9999 )
UnityEngine.Debug:Log(Object)
PixelCrushers.DialogueSystem.Sequencer:PlayCommand(String, Boolean, Single, String, String, String[])
PixelCrushers.DialogueSystem.Sequencer:PlaySequence(String)
PixelCrushers.DialogueSystem.Sequencer:PlaySequence(String, Boolean, Boolean)
PixelCrushers.DialogueSystem.ConversationView:StartSubtitle(Subtitle, Boolean, Boolean)
PixelCrushers.DialogueSystem.ConversationController:GotoState(ConversationState)
PixelCrushers.DialogueSystem.ConversationController:OnSelectedResponse(Object, SelectedResponseEventArgs)
PixelCrushers.DialogueSystem.ConversationView:SelectResponse(SelectedResponseEventArgs)
PixelCrushers.DialogueSystem.ConversationView:OnSelectedResponse(Object, SelectedResponseEventArgs)
PixelCrushers.DialogueSystem.AbstractDialogueUI:OnClick(Object)
PixelCrushers.DialogueSystem.CSUIDialogue:OnClick(Object) (at Assets/Dialogue System/CrossingSouls/CSUIDialogue.cs:100)
UnityEngine.Component:SendMessage(String, Object, SendMessageOptions)
PixelCrushers.DialogueSystem.UnityUIResponseButton:OnClick() (at Assets/Dialogue System/Scripts/Supplemental/UI/Dialogue UI/UnityUIResponseButton.cs:151)
UnityEngine.EventSystems.ExecuteEvents:Execute(GameObject, BaseEventData, EventFunction`1)
InControl.InControlInputModule:SendButtonEventToSelectedObject() (at Assets/Plugins/InControl/Source/GUI/InControlInputModule.cs:155)
InControl.InControlInputModule:Process() (at Assets/Plugins/InControl/Source/GUI/InControlInputModule.cs:132)
UnityEngine.EventSystems.EventSystem:Update()
Dialogue System: Sequencer received a blank string as a command name
UnityEngine.Debug:Log(Object)
PixelCrushers.DialogueSystem.Sequencer:ActivateCommand(String, String, String[])
PixelCrushers.DialogueSystem.Sequencer:PlayCommand(String, Boolean, Single, String, String, String[])
PixelCrushers.DialogueSystem.Sequencer:PlaySequence(String)
PixelCrushers.DialogueSystem.Sequencer:PlaySequence(String, Boolean, Boolean)
PixelCrushers.DialogueSystem.ConversationView:StartSubtitle(Subtitle, Boolean, Boolean)
PixelCrushers.DialogueSystem.ConversationController:GotoState(ConversationState)
PixelCrushers.DialogueSystem.ConversationController:OnSelectedResponse(Object, SelectedResponseEventArgs)
PixelCrushers.DialogueSystem.ConversationView:SelectResponse(SelectedResponseEventArgs)
PixelCrushers.DialogueSystem.ConversationView:OnSelectedResponse(Object, SelectedResponseEventArgs)
PixelCrushers.DialogueSystem.AbstractDialogueUI:OnClick(Object)
PixelCrushers.DialogueSystem.CSUIDialogue:OnClick(Object) (at Assets/Dialogue System/CrossingSouls/CSUIDialogue.cs:100)
UnityEngine.Component:SendMessage(String, Object, SendMessageOptions)
PixelCrushers.DialogueSystem.UnityUIResponseButton:OnClick() (at Assets/Dialogue System/Scripts/Supplemental/UI/Dialogue UI/UnityUIResponseButton.cs:151)
UnityEngine.EventSystems.ExecuteEvents:Execute(GameObject, BaseEventData, EventFunction`1)
InControl.InControlInputModule:SendButtonEventToSelectedObject() (at Assets/Plugins/InControl/Source/GUI/InControlInputModule.cs:155)
InControl.InControlInputModule:Process() (at Assets/Plugins/InControl/Source/GUI/InControlInputModule.cs:132)
UnityEngine.EventSystems.EventSystem:Update()
Re: best way to launch sequence?
The second line:
probably just indicates that you have a semicolon ( ; ) at the end, such as:
The grammar of sequences uses semicolons to divide commands. It's just reporting that it think there's an empty command after the semicolon. It's harmless.
As soon as I have a chance, I'll look into this and reply back here.
Code: Select all
Dialogue System: Sequencer received a blank string as a command name
Code: Select all
LoadLevel(TestingAlfonso)@9999;
As soon as I have a chance, I'll look into this and reply back here.
Re: best way to launch sequence?
Everything seems to be okay. Here's how I tested it:
On the Dialogue Manager, I ticked Show PC Subtitles During Line and set Continue Button to Always because I think that's how your Dialogue Manager is set up. My Dialogue Manager also has a Level Manager component.
When I selected the response button "Take me to the Server Room", it waited until I clicked the Continue Button. Then it changed scenes to the Server Room.
On the Dialogue Manager, I ticked Show PC Subtitles During Line and set Continue Button to Always because I think that's how your Dialogue Manager is set up. My Dialogue Manager also has a Level Manager component.
When I selected the response button "Take me to the Server Room", it waited until I clicked the Continue Button. Then it changed scenes to the Server Room.
Re: best way to launch sequence?
hi Tony
yes i have that settings in my Dialogue Manager, but its no working for me, dont know why, i tested this options with my custom sequencer
1º Teleport(TestingAlfonso, Teleport2) == work fine but fired before show the dialogue text, the normal behave.
2º Teleport(TestingAlfonso, Teleport2)@9999 == not work, anything happens
3º requiered Teleport(TestingAlfonso, Teleport2)@9999 == not work, anything happens
each option show the same in the Debug (but with their own command)
my hierarchy is CSBubbleDialogue -> CSUIDialogue -> AbstractDialogueUI
it has something relevant for the sequencer that i maybe was deleted in my custom class?
EDIT: other weird thing is if in the end node i use a sequencer like LoadLevel the DialogueSystem don't hide the panel
yes i have that settings in my Dialogue Manager, but its no working for me, dont know why, i tested this options with my custom sequencer
1º Teleport(TestingAlfonso, Teleport2) == work fine but fired before show the dialogue text, the normal behave.
2º Teleport(TestingAlfonso, Teleport2)@9999 == not work, anything happens
3º requiered Teleport(TestingAlfonso, Teleport2)@9999 == not work, anything happens
each option show the same in the Debug (but with their own command)
Code: Select all
Dialogue System: Sequencer.Play( Teleport(TestingAlfonso, Teleport2)@9999 )
UnityEngine.Debug:Log(Object)
PixelCrushers.DialogueSystem.Sequencer:PlayCommand(String, Boolean, Single, String, String, String[])
PixelCrushers.DialogueSystem.Sequencer:PlaySequence(String)
PixelCrushers.DialogueSystem.Sequencer:PlaySequence(String, Boolean, Boolean)
PixelCrushers.DialogueSystem.ConversationView:StartSubtitle(Subtitle, Boolean, Boolean)
PixelCrushers.DialogueSystem.ConversationController:GotoState(ConversationState)
PixelCrushers.DialogueSystem.ConversationController:OnSelectedResponse(Object, SelectedResponseEventArgs)
PixelCrushers.DialogueSystem.ConversationView:SelectResponse(SelectedResponseEventArgs)
PixelCrushers.DialogueSystem.ConversationView:OnSelectedResponse(Object, SelectedResponseEventArgs)
PixelCrushers.DialogueSystem.AbstractDialogueUI:OnClick(Object)
UnityEngine.Component:SendMessage(String, Object, SendMessageOptions)
PixelCrushers.DialogueSystem.UnityUIResponseButton:OnClick() (at Assets/Dialogue System/Scripts/Supplemental/UI/Dialogue UI/UnityUIResponseButton.cs:151)
UnityEngine.EventSystems.ExecuteEvents:Execute(GameObject, BaseEventData, EventFunction`1)
InControl.InControlInputModule:SendButtonEventToSelectedObject() (at Assets/Plugins/InControl/Source/GUI/InControlInputModule.cs:155)
InControl.InControlInputModule:Process() (at Assets/Plugins/InControl/Source/GUI/InControlInputModule.cs:132)
UnityEngine.EventSystems.EventSystem:Update()
it has something relevant for the sequencer that i maybe was deleted in my custom class?
EDIT: other weird thing is if in the end node i use a sequencer like LoadLevel the DialogueSystem don't hide the panel
Re: best way to launch sequence?
Hi Alfonso,
If that doesn't work, try to copy-and-paste this:
It won't wait for the Continue Button, but it will wait for some amount of time to show the text.
If either works, please let me know. This will be more information to help debug the issue.
Could it just be a typo? "required" is misspelled. Try to copy-and-paste this:alfonso wrote:3º requiered Teleport(TestingAlfonso, Teleport2)@9999 == not work, anything happens
Code: Select all
required Teleport(TestingAlfonso, Teleport2)@9999
Code: Select all
required Teleport(TestingAlfonso, Teleport2)@{{end}}
If either works, please let me know. This will be more information to help debug the issue.