Make a layer appear after multiple conditions are met.

Apr 25, 2020

Hey learning people!

I'm working on a software simulation for a call center right now and I could use a little help. I need a layer to appear after 2 conditions are met.

1. The timeline on the base layer ends (This contains the call audio)

2. The user has made it to the last layer in the simulation.

Originally I set up my trigger as follows

Action: Show Layer

When: Timeline Ends on this slide (The base layer)

  • If: the variable I set for the button that takes you the the last layer = true

However, it appears that the layer I need to show will only appear if the variable = true at the moment the timeline ends on the base layer. If the learner doesn't get to the last slide before the timeline ends, it doesn't work. I need it to appear when both are true even if the learner doesn't get get to the last layer before the timeline ends.

Any ideas? I'm surprised that the trigger wizard doesn't have a "When: conditions are met" option.


6 Replies
Tom Jager

Hey Wendy,

Thanks for responding. The actual slide is pretty large with 25+ layers. This is a good example of what I am trying to do though.

This simulation is for a call center. The intent is to simulate what it would be like to fill out a customer request form during a real call. The learner needs to finish the simulation using the call audio they hear before moving on to the next section. 

I'm trying to get the last layer titled "Test Layer" to appear after the learner meets both of these conditions in any order.

1. The call audio on the base layer completes (The timeline ends on the base layer)

2. The learner has arrived at the final layer of the simulation. (In this case, layer 6)

The issue is that if the learner falls behind and doesn't finish the simulation portion before the end of the call audio on the base layer, they last layer with the continue simulation button won't appear at all because the variable "visited" wasn't true at the moment the timeline on the base layer ended.


Wendy Farmer

Have you tried using the 'pause timeline of baselayer' option on the layer?

This KB article may help you specifically

Pause timeline of base layer
This pauses the base layer, including animations and audio, while the current layer is visible. The base layer's timeline will resume where it left off when the current layer is closed.


Tom Jager

Hey Wendy,

I actually don't need the base layer to pause when new layers come up. In fact, it's important that the call audio on the base layer plays out during the simulation. I need a specific layer to come up when these conditions are met in any order.

1. The timeline ends

2. The simulation is completed

Essentially, I don't want the last layer to pop up until after the learner listens to the whole call, and has successfully used the information in the call to complete the simulation.

The issue I'm running into is this. If the learner falls behind of the call audio and doesn't get to the last slide until after the timeline has already ended, the layer will not appear. Because in that scenario, the variable I set to indicate that the learner completed the simulation does not read as True at the moment the timeline on the base layer ends. 

I think the biggest issue here is the WHEN portion of the trigger. It looks like Storyline only checks the variables at the exact moment something happens and not just when specific conditions are met.

Sarah Hodge

Hi Tom! Thank you for the example file. I made some edits to it: 

  • Variable: Since it's important they listen to the full audio, I added a variable (Audio). This will make it a lot easier to work with without worrying about the order.
  • Base Layer: I Set Audio to value true when audio completes. I deleted the trigger to Show Test Layer when timeline ends.
  • Test Layer: I deleted the Test Layer (it only had the callout on it). 
  • #6 Layer: I put the callout on the last layer so if they finish the audio first, it doesn't show up when the scrolling is happening. I edited the callout state to hidden so it only shows when both variables (Visited and Audio) are True. 

I hope that makes sense. I attached the .story file if you want to take a look. Let me know if you have any questions.😊 

Felix Franke

Hi Tom,

what I do sometimes if I am trying to match too many conditions (providing I have understood your setup correctly):

Make every condition change the state of a new off-slide shape (say, a circle) with a trigger.
Then create a trigger that does what you want when all those shapes have the desired state (sometimes it works better if they all do not have state X, need to try).
IIRC this last trigger must be on the base layer because only from there can it "read" states from different layers.

This way you avoid setting variables which I am not so experienced with yet. I would give the different auxiliary shapes different colours or numbers so you can tell which one is which.

Good luck!

This discussion is closed. You can start a new discussion or contact Articulate Support.