Page 1 of 1

fast forward examples

Posted: Thu Apr 06, 2023 3:06 pm
by fkkcloud
Hello,

I am trying to implement auto skip and fast forward examples for dialogue scenes. Is there any example that I start from or reference to?

Thank you!

Re: fast forward examples

Posted: Thu Apr 06, 2023 3:59 pm
by Tony Li
Hi,

Yes, see the ConversationControl script. If you're using an older DS version that doesn't have the ConversationControl script, here's a copy from DS 2.2.35:

DS_2_2_35_ConversationControl.unitypackage

API Reference: ConversationControl
  • ToggleAutoPlay(): Toggles continue button mode between Always and Never.
  • SkipAll(): Skips all subtitles until response menu or end of conversation is reached.
  • StopSkipAll(): Stops SkipAll().

Re: fast forward examples

Posted: Fri Apr 07, 2023 3:47 am
by fkkcloud
Thank you as always.

It seems like ToggleAutoPlay sorta does what I need but I need to smash the button as just pressing 1 time won't automatically autoplay them all.

Also, how does this handle sequence command like below?

Code: Select all

CamOn(vcams, vcam_PostCine_1_A)@0.6;
SetActive(CineActors, false)@0.6;

SetActive(Spawner_Dateables_Lina, true)@1;
SetActive(Spawner_Player, true)@1;

Facial(Lina, Shy, Blush2)@1.1;
AnimImm(Lina, SitIdle_School2)@1.1;
AnimImm(Player, SchoolSit_Nervous)@1.1;
SetPanel(Lina, 0)@1.1;

Dim(out, 0.5)@1.2;

CamOn(vcams, vcam_PostCine_1_B)@1.2;

{{c5}}
Thank you

Re: fast forward examples

Posted: Fri Apr 07, 2023 8:10 am
by Tony Li
Hi,

ToggleAutoPlay() only flips the Dialogue Manager's Continue Button dropdown between Always and Never:

toggleAutoPlay.png
toggleAutoPlay.png (88.87 KiB) Viewed 491 times

You shouldn't have to repeatedly smash the button.

ToggleAutoPlay() by itself will not have any effect on sequences. However, if the player clicks the continue button before the sequence is done, sequencer commands that are still waiting to play will not play. For example, if the player clicks the continue button before 1 second has elapsed, this command will not play:

Code: Select all

SetActive(Spawner_Player, true)@1;
If you put the keyword "required" in front of a sequencer command, it will play even if the player clicks continue button it's time to play the command:

Code: Select all

required SetActive(Spawner_Player, true)@1;

SkipAll(), on the other hand, will make the conversation act as if the player is clicking the continue button as soon as each dialogue entry starts. Sequencer commands that start with "required" will still play, but other sequencer commands may not play.


If you want to speed up the typewriter effect instead of skipping ahead, see this post.