• Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.

Multiple trigger cinematic skip

Level 12
Joined
Jul 5, 2014
Messages
551
Hi. It's me again. Normally, I can make cinematic sequence that works properly and can be skipped properly. However, I got into trouble with one that has multiple triggers running one after the other due to it's length (and structure). On top of that, it has a Dialog that pops up, asking about a reward to choose. All triggers have the same if/then/else skip placed in it and I also put an alternative trigger about the Dialog in case the player skips the cutscene. Is there a solution or I should cram all triggers into a single one to make the skip work?
 
Level 45
Joined
Feb 27, 2007
Messages
5,578
You can make a single trigger that checks for the skip event, which then sets a boolean variable to true if a player tries to skip (and does nothing else). In your other triggers you can then check that boolean variable any time you want to see if a skip has been queued. This allows you to create multiple possible skip points that all ‘work’ together.

After checking the boolean, if it’s true do whatever you need to skip the rest and then reset the variable to false. If it was already false do nothing. This means you only need one skip event and it doesn’t have to be properly timed.
 
Level 12
Joined
Jul 5, 2014
Messages
551
You can make a single trigger that checks for the skip event, which then sets a boolean variable to true if a player tries to skip (and does nothing else). In your other triggers you can then check that boolean variable any time you want to see if a skip has been queued. This allows you to create multiple possible skip points that all ‘work’ together.

After checking the boolean, if it’s true do whatever you need to skip the rest and then reset the variable to false. If it was already false do nothing. This means you only need one skip event and it doesn’t have to be properly timed.
If you're describing what the demo campaign does, it is exactly what I did.
 
Level 45
Joined
Feb 27, 2007
Messages
5,578
I have no idea. Not near an editor and I don’t think I’ve ever looked at campaign skips. You can’t really make an all-purpose ‘skip’ function since what needs to happen for each skip is likely different (new units to make or units to remove or items to give, etc.). What you could do, though, is make the whole campaign a series of triggers in the process exact sequence the map will play out. Then you determine which step in the campaign you’re skipping from (call it step N), then run CleanupTrigger[N] and SetupTrigger[N+1].
 
Level 12
Joined
Jul 5, 2014
Messages
551
Campaign skips what I've seen always have one cinematic in one trigger that has skip check boolean after every "wait". My cinematic goes on through at least 3 triggers, so the question is whether the boolean is designed for a single trigger cinematic or it works with one that runs triggers one after the other until the cinematic ends.
 
Level 45
Joined
Feb 27, 2007
Messages
5,578
Well the idea is you check the boolean every time and if it’s ever true you set it back to false and perform the current skip. It works no matter when you set the boolean. If you know how far to skip ahead you can hardcode a cut to wherever you like, but I’d guess most of the time that requires a separate set of actions to ‘re-sync’ after skipping forward for each possible skip point. By building a trigger array of cleanup and ‘next steps’ you you always just run the next pair of triggers (or run cleanup and then whichever trigger you want to skip ahead to).

It’s possible I don’t understand your concern/confusion.
 
Level 12
Joined
Jul 5, 2014
Messages
551
Following the campaign example, I use different boolean for every cinematic. I guess I could be more practical and just use one. I think that shouldn't be an issue here.

I set up the skip to end up in the last state with things like heroes standing in the right way, mid-cinematic changes like removing actors, opening door, etc all put in the skip trigger to perform instantly.

For some odd reason, when I skip, I end up in mid cinematic with things going chaotic. That didn't happen with single-trigger cinematic (as in the turn on - turn off cinematic happens within one trigger).

So, normal, working cinematic goes:

1. Cinematic trigger
2. Skip trigger (with instantly setting game elements in the changed position the cimematic did)
3. Any other cleanup trigger that runs either after 1 or 2.

My problematic trigger sequence goes:

1. After mission cinematic ("yay we did it")
2. Still in cinematic cuts to an enemy ("they did it. Now I do something too.")
3. Still in cinematic cuts to heroes returning to the quest giver.
4-5. Dialog offer and result about picking reward while the cinematic plays
6. Still in cinematic learning about the enemy doing their thing which will start a new quest.
7. Cinematic skip trigger that includes trigger 4 but a condition checks if the cinematic was skipped and if it has been, the dialog choice activates an alternative version of trigger 5 which gives the reward but doesn't run trigger 6 afterwards.

I guess you can see the complexity issue here. Triggers 1-6 is a single continuous cinematic. And while they all have the "if boolean true, skip the remaining actions" I don't know whether the cinematic skip boolean can skip all 6 trigger's actions.
 
Top