Trigger conditions: multiple buttons

I have created a slide with 6 buttons (pictures), that link to different slides. I've managed to set up the slides so the learner always gets back to the home slide, but now I want to prevent them from clicking the Next button on the home slide to move forward with the presentation until they've clicked on these 6 buttons and seen the slides they correspond to. How can I do that?

17 Replies
Mike Enders


A couple of ways to approach this...but the simplest...

Create a menu slide with your two buttons.

Add a layer to the menu slide.  For the sake of illustration, we'll call this layer "must visit"

Add the trigger for each button to go to it's associated scene

Create a visited state for each button (if it doesn't already have one)

You would then create the following triggers at the player level (meaning, create them with no objects selected on the screen).

Trigger set 1 tells Storyline to jump to the next slide IF button #1 is visited AND button #2 is visited.

Trigger set #2 tells Storyline to show layer must visit if Button #1 is NOT visited OR if Button #2 is NOT visited.

(Note: On the Must visit layer, I'd add a solid background to cover the base layer, and then add a message about needing to visit both areas before continuing.  Include another button to close that layer and return them to the base layer.)

The outcome of your triggers would look something like this:

Now...the downside to this method is that the learner doesn't need to complete the scenes to get the buttons to switch to visited. They just need to click those buttons to switch them to the visited state.  So they could click, hit the previous button to go back, etc. The way around this is to use variables that flip the buttons to a unique visited state only after the scene is finished..let me know if you'd like to go down that path...


Mel Ruth

You can also set the initial state of the NEXT button to be "Hidden", then use the conditional triggers to change its state to "Normal" when all of the required buttons are "Visited".  That way, the user can't try to click NEXT before they've seen everything else you want them to see and it will only show them the button when they're supposed to click on it.  This would also negate the necessity for the "Must visit" layer.

I also like animating buttons' entries so that they catch the user's attention when they do come in and the user knows that they are supposed to click on it.

Just another suggestion!

Chris Willis

Well now that i have that down i have a new one to try and work out.  I will eventually have 5 different courses in one storyline file.  I have a "Navigation Screen" for the entry screen.  Now the Name of the course is a link that will lead to the appropriate scene, and when they are done with that scene, they will be lead back to this screen.  But what i need to happen is when they click the next button at the end of each course i need that corresponding check box to be selected  to show they finished that "module"  Any ideas?  Since this screen is by itself i am not able to link the triggers from other scenes or slides.

Mike Enders


That was the second path I mentioned earlier...this is where variables come in. Variables allow you to track information across slides.'d do this...

1. Create a True False variable for each menu button and set it to false. (Let's call the variables scene1complete, scene2complete, etc.)

2. Create a custom state for each navigation slide button (call the state "finished") and give it a unique look or check mark or something similar.  This is where your checkbox object comes in...or whatever you want to be adjusted.

3. On the nav slide, set a player level trigger that says "change state of menu button 1 (or your object) to "finished" when slide timeline starts if scene1complete = value of true. 

4. Now, at the end of each scene you'll have a trigger on the last slide that fires right before the jump to menu slide trigger.  This trigger will say adjust variable scene1complete to True when user clicks next button.

So what happens then, is user clicks menu button 1 to go to scene 1, finishes scene 1, then clicks next button to jump back to menu. This click (created in step #4) adjusts the variable to True.  Back on the menu slide, we have the trigger (created in step#3) that sees the variable as being switched to true and therefore changes the state of the menu button to "finished".

Let me know if this is confusing...I can always do a Screenr.


Chris Willis

Normal 0 false false false oNotPromoteQF /> EN-US X-NONE X-NONE MicrosoftInternetExplorer4

/* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-parent:""; mso-padding-alt:0in 5.4pt 0in 5.4pt; mso-para-margin:0in; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Times New Roman","serif";}

Okay you may have to do some screen shots.

1.       I puta “next button” on my results slide of the test on day 1.

2.       Icreated a variable under the manage project variables, whichreads      Done1….True/False……False.

3.       Ithen created a trigger on the “next button” to jump to my navigation slide,submit results, and adjust a variable. Which reads Adjustvariable……done1…. =assignment…..value…..true…..user clicks……object “nextbutton”

4.       Thenon the navigation slide where I want the check box to be checked I added aslide trigger that reads……change state of…….day1checkbox……selected…..timelinestarts……day1checkbox…….on condition  variable….done1…..==equalto….value….true

So far nothing is happening on the navigation slide.

Leslie McKerchie

Hi Jaime and welcome to E-Learning Heroes :)

Looks like those are still good instructions, even if they are a bit dated. I see that Walt reached out to help you with a similar question here and linked to a sample file for you to take a look.

If you're still having difficulty, feel free to share your .story file so that you can get some community help with your specific set-up.