How do you fire triggers when value of multiple variables changes?

Hi, folks

Do you know how to fire a trigger when the value of a variable -- or set of variables -- changes?

For example:

  • I have an object set to hidden on slide load.
  • The base layer needs to be set to Resume Saved State for other cross-slide functionality
  • Several objects show corresponding layers on hover (e.g. blue button shows blue layer, etc.).
  • The value of some T/F variables changes on hover (e.g. var=blue changes from false to true).
  • I'd like the hidden object to change state (hidden to normal) once the three "hover-layers" have been viewed (i.e. the value of var=blue, var=red & var=green all change from false to true).

Quite often in Storyline I run up against this kind of limitation. Either I'm doing something wrong / overlooking something... or I need to submit a feature request.  

Without restarting the timeline (which I'm not doing in this case), I don't know how to do this.

Any ideas would be appreciated.

Thanks very much,


2 Replies
El Burgaluva

P.S. Perhaps a simpler way to explain my sticking point might be...

  • Currently, triggers have the following basic syntax: Do [something] when [something happens]
  • This can be augmented: Do [something] when [something happens] IF [certain conditions are met]

My question is...

How can I set triggers using this syntax: Do [something] IF [condition(s) are met]

I want to be able to remove the when element because very often the "when timeline ends" option doesn't allow me to do what I want to do. 

For example, if the timeline has ended and the learner is still exploring various objects on the base layer or other layers -- causing the value of variables to change based on the user's actions -- I want triggers to fire as soon as certain conditions are met -- irrespective of when that is in relation to the timeline.

It seems that I can't get this to occur once the timeline has already ended.

However... I have a nagging feeling that this kind of functionality is, in fact, available in Storyline; I just haven't worked out how to do it!     

El Burgaluva


I've found a workaround. It's not ideal, but it'll do for now. Nevertheless, I'd love to hear any other ideas you might have.

If you're stumbling on the same kind of thing, here's what I did (inspired by a post I read here a couple of weeks ago and which, I recalled -- but can't find! -- after some lunch and a coffee...  

The three layers show a short piece of information on hover. I estimate 2-3secs reading time, maximum. So I set the length of those layers to 3 secs. Then I...

  • created a numerical variable called hover and set the initial value to zero
  • created a trigger on each of the layers: Add 1 to variable:hover when timeline ends
  • created a trigger on the object: Change state to normal when variable:hover changes IF variable:hover is greater than or equal to 3.

Not foolproof, but close enough for the time being.

Keen to hear thoughts, suggestions, improvements, etc.