SetContinueMode(false); makes conversation to Continue() right away.

Announcements, support questions, and discussion for the Dialogue System.
Post Reply
fkkcloud
Posts: 298
Joined: Mon Oct 05, 2020 6:00 am

SetContinueMode(false); makes conversation to Continue() right away.

Post by fkkcloud »

Hi,

SetContinueMode(false); makes the converastion to Continue() right away.
Without SetContinueMode(false), everything seems to work fine.

I have Continue Button set to "Always"


Also, would sequence command "Timeline(mode, timeline, [nowait], [nostop]. [#:binding]...)" work with Continue Button set to "Always"? Would it stop the player for pressing and continue to the next node?
(right now it is not, I think I am missing some setting that makes both SetContinueMode(false) or Timeline(..) without nowait specified to actually just Continue() on press )
User avatar
Tony Li
Posts: 22049
Joined: Thu Jul 18, 2013 1:27 pm

Re: SetContinueMode(false); makes conversation to Continue() right away.

Post by Tony Li »

Hi,
fkkcloud wrote: Fri Nov 27, 2020 2:31 amSetContinueMode(false); makes the converastion to Continue() right away.
If you want to turn off continue button mode after a duration of time, use something like this:

Code: Select all

SetContinueMode(false)@{{end}}
This will wait for a duration based on the text length. Then it will turn off the continue button requirement.

fkkcloud wrote: Fri Nov 27, 2020 2:31 amAlso, would sequence command "Timeline(mode, timeline, [nowait], [nostop]. [#:binding]...)" work with Continue Button set to "Always"?
No. Timeline and the conversation mostly run independently from each other.

If you want to continue a conversation at a specific point in the timeline:

1. Set the conversation's Continue Button mode to Always.
2. Use a dialogue UI that doesn't show the continue button (so the player can't click it manually).
3. At the point in the timeline, use the Continue Conversation action.

If you want to do the opposite -- pause the timeline until the player clicks the continue button:

1. Set the conversation's Continue Button mode to Always.
2. Use a dialogue UI that shows the continue button.
3. Set the conversation's Default Sequence to:

Code: Select all

Timeline(speed, YourTimelineName, 0); // "Pause" timeline.
required Timeline(speed, YourTimelineName, 1)@Message(WaitForContinue) // "Resume"
Two notes:
  • "YourTimelineName" is the GameObject that has your timeline.
  • To pause the timeline, set the speed to zero. (See the note in Timeline() sequencer command.)
SystemId
Posts: 30
Joined: Thu Aug 08, 2019 1:31 pm

Re: SetContinueMode(false); makes conversation to Continue() right away.

Post by SystemId »

Sorry to revive this post, but I am trying to find a way to have a Timeline itself Pause (Set the speed to 0) the Timeline when it reaches the end of a Dialogue Entry, and resume when a continue button is pressed.

The instructions here seem to be similar to what I want, but a little Different.

Do I somehow have the continue button itself (In the Dialogue UI)send some "Message" to somehow continue the timeline? I rather not name the timeline, and just have the timeline that is playing the conversation know to continue.
Attachments
Dialogue_Timeline01.JPG
Dialogue_Timeline01.JPG (51.08 KiB) Viewed 477 times
User avatar
Tony Li
Posts: 22049
Joined: Thu Jul 18, 2013 1:27 pm

Re: SetContinueMode(false); makes conversation to Continue() right away.

Post by Tony Li »

Hi,

Try using the Timeline() sequencer command. For example, to pause the speaker's timeline at the end of the duration determined by the text length, set the Sequence to:

Code: Select all

Timeline(speed, speaker, 0)@{{end}}
You might want the next entry to resume the timeline as soon as it starts, so you can set its Sequence (or the Dialogue Manager's Default Sequence) to:

Code: Select all

Timeline(speed, speaker, 1);
Timeline(speed, speaker, 0)@{{end}}
SystemId
Posts: 30
Joined: Thu Aug 08, 2019 1:31 pm

Re: SetContinueMode(false); makes conversation to Continue() right away.

Post by SystemId »

: ( Do you have a link to example projects using a Timeline? I must be doing something incorrect with how I am setting things up.

My Timeline sequencer commands do not seem to be affecting my timeline.

I am using the Dialogue System's Timeline Trigger to play a Timeline Asset on a Linked Director, with my Actors in the bindings.
User avatar
Tony Li
Posts: 22049
Joined: Thu Jul 18, 2013 1:27 pm

Re: SetContinueMode(false); makes conversation to Continue() right away.

Post by Tony Li »

Hi,

I don't have a prepared example that does what you're describing. If your Timeline() sequencer commands aren't affecting the timeline, make sure the subject is correct. That's the second parameter to Timeline(). You can specify 'speaker', 'listener', or a GameObject name. If you use 'speaker' or 'listener', you can verify which GameObjects are being used as the speaker and listener by setting the Dialogue Manager's Other Settings > Debug Level to Info. Keep an eye on the Console window while the Timeline() commands run.

Also watch the Console for any errors or warnings.

Finally, double check that the USE_TIMELINE scripting define symbol is set. (Menu item Tools > Pixel Crushers > Dialogue System > Welcome Window.)
Post Reply