Triggers not behaving as expected

The triggers in my courseware upgraded to version 2 are not behaving how they used to when I developed it in Storyline 1.  As far as I can tell, the Next button should be showing the other layers on the same slide before advancing to the next slide the way I have these triggers programmed in both the first and second slides.  I've reviewed the triggers over and over and tried additional conditions in them but cannot figure out how to make the Next button display the other layers.  Although the version of the file that I attached has the simpler triggers, the logic still seems sound to me.  Can someone tell me where the flaw in my logic is and how I can fix this (see slide 2 for the best view of the trigger programming)?  I'll probably be embarrassed when you show me how simple the needed logic is but at least I'll make it work again :-)

15 Replies
David Ward

Thanks for your idea, Wendy.  It works for slide one but, when I tried to replicate the logic on slide 2, it fails (see attached file).  

The Next button gets me to the third layer in slide 2 but not the fourth.  Also, it only gets me to the third layer if I wait 'til the timeline on the second layer finishes.  I have audio (stripped out of this sample file) that plays a while on the second layer but I'd like learners to be able to skip the second layer and go to the third layer by clicking Next without having to wait for the audio on the second layer to finish if they want to.  I don't think I can do that using the custom state that only triggers at the end of the timeline.

Let me take a different approach to this.  Does anyone see the flaw in the logic I used in the file I attached in my original post?  If I can understand the logic flaw, I could probably program the desired function myself.  I used to make this work in Storyline 1 without making any custom state.  I just configured each layer to hide the other layers when it's displayed then have the triggers display the desired layer based  on which one was in a Normal state.  But it doesn't seem to function the same way with Storyline 2.

Christie Pollick

Hi, David - Just in case you'd like to review it, here is some info on upgrading from SL1 to SL2, and there are also a few things we can try to rule out some common issues: Please make sure you are working locally as described here, and you may want to try importing the file into a new file. If you are still having issues, you might want to try to repair Storyline. 

Christie Pollick

Hello again, David - 

After a more thorough review of your file, I wanted to add that it appears to be getting stuck in a loop. It's always going to loop back to the bullet list 1 layer, based on the fact that the state of that first bullet is still displayed, and therefore it's running through the triggers from top to bottom. Maybe instead of the states of those buttons, you could use a variable on each slide instead (so trigger to show the layer based on which variables are true vs. false). So, if Layer 1 is true and Layer 2 and 3 are false, show layer 2 when the user clicks next. If Layer 1 and 2 are true, and 3 is false, show layer 3 when the user clicks next, and so on.

You may want to check out this thread for more information. Also, please bear in mind that your state changes are based on when timeline ends, so presumably the user could be trying to jump ahead before that's occurred, and therefore could be causing issues.

David Ward

I tried all the things you suggested in your first reply, Christie. None of them are the cause. Thanks for looking at the last file I uploaded with the custom "Displayed" state but, as I stated in the reply that I attached it too, that approach isn't working for my needs anyway. Would you please look at the very first file I attached instead? I can't figure out the logic flaw in it.

I have the first layer configured to hide other layers when it's active. The top trigger is the only one that moves to the next slide but only on the condition that the state in the final layer I want to present is Normal. If the first layer is hiding the final layer, wouldn't the condition in the top trigger be false (i.e. the final layer is not in the Normal state)? This is why I don't understand how it jumps to the next slide when the final layer is hidden.

Ashley Terwilliger

Hi David,

Layers don't have states - it's the element on your layer that has a state that you're referring to. I'd agree with Christie's thought in regards to using variables instead, as their value is consistent across slides/layers unless you use a trigger to reset them. Also if you'd like, our support team is happy to look at it further as Christie mentioned. 

David Ward

Thanks for the feedback, Ashley.  When I said the layer was hidden, it was my abbreviated way of saying that an object on the layer is hidden.  With these Slide Layer Properties (see below) on the Intro layer, wouldn't all objects on the Bullet List 3 layer be hidden when showing the Intro layer?

Slide Layer Properties

The Intro layer is shown as soon as slide 2's timeline starts. If an object is on a different layer hidden by the Intro layer, wouldn't that object's state then not be equal to Normal?  That's why I don't understand how this scene can jump from slide 2 to slide 3.  With this trigger (see below), it should only do so on the condition that Bullet list 3 is Normal but that condition would not be met if the Bullet List 3 layer is hidden.

Trigger

It's frustrating me because I should be able to easily accomplish what I need without resorting to variables. I'd prefer to not use variables, if I don't have to, because I don't want to have to add programming to set and track the value of a variable. As far as I can tell, my simple logic in the triggers shown above should work like I need it to.

Ashley Terwilliger

Thanks David - and I see that Abel sent you some additional information based on your slides and was able to determine that it was working as expected and offered some ideas on how to get it to work as you indicated. 

If you're still having difficulty with this set up, you may also want to share a sample here for the community to weigh in on. 

David Ward

I actually found a much simpler solution without having to resort to variables.  I used the mirror image of the logic I had used in Storyline 1.  Instead of testing for the condition that the state is equal to Normal, I simply test for the condition that the state is not equal to Hidden:

Trigger

I still don't understand why this new condition works the way I want it to when the legacy condition does not.  They seem like two different ways of programming the same logic to me.  I also don't understand why my legacy logic worked the way I wanted in Storyline 1 but does not once I upgrade it to Storyline 2.  But at least I found a simple solution.

Ashley Terwilliger

Hi David,

Thanks for sharing that here, I know of at least one issue where SL2 does the "reverse" or mirror as you said in those type of conditions. I also know a lot of our super heroes prefer to use the "not equal to" condition, since most things start out in a normal mode, and this allows for a bit more control on the author part. 

I see that Abel is still testing as well, so I'll keep an eye on it.