13 Replies
Claudio Rosinol-Conforti

Thanks Judy. I added that button but I still do not see a way to indicate how many times the user can retry. I want to set it to 4 times. I also found out that if I want to limit the number of attempts to 4 I would have to add a variable. When I tested this, I did not have such option under triggers. According to Articulate, when I add the retry button users have unlimited attempts.

Judy Nollet

Maria answered while I was preparing a demo file to show how to limit the attempts. Well, I'll put it here anyway.

It follows the basic directions in the link Maria provided. However, I started the "attempts" variable with a value of 1, since the user will have made 1 attempt when they first reach the Results slide.

Also, I put the triggers for hiding the Retry button on the layers. Why? Because I can make the layers "Reset to initial state," which allows me to use "when the timeline starts on this layer" as the "when" in the triggers. (This avoids resetting the base layer, which would be more likely to impact other triggers and/or animations.)

The demo has notes on the Results slide to explain the programming.

Joe Hauglie

Claudio, I encountered a few similar things when I was working in SL3. How many attempts are you wanting the user to have? You can still create and increment the variable (for example, call it "attempts" as Judy does) each time that the learner hits the Retry button. As noted elsewhere, make that increment action the second trigger associated with the button (Retry adds the other two shown in the example automatically, at least in SL360). 

I think you can accomplish this but you may need to consider how many attempts you want the learner to get (2, 3, 4... at four attempts and the learner is still not passing, I would question whether the learner actually learned much at all...).  Judy's explanation is quite helpful, and I suspect you will be able to succeed here...without much more "retrying..." :D

Claudio Rosinol-Conforti

Thanks Joe. I wanted up to 4, and I agree with you. I learned that if I do not have any variables the user will have unlimited attempts. Since adding the variable is so much hassle I am thinking I will just let it as unlimited times. Articulate seems to be too complicated to just change the number of attempts. :)

Joe Hauglie

What I did with SL3 was to create an offscreen object and a variable that increments by 1. The object had multiple states (colors, to make it easy for me, and named them 01, 02, etc). The variable ("Attempts," for example) starts at 0 and I set that value on the last slide the learner sees before starting the quiz.

Learner takes the quiz. On the Results slide, the offscreen object changes to state01 and the Attempts variable increments by 1. If the result is "Does not pass/Fail," the learner can retake the quiz.

Repeat this process.

At the 4th attempt, if the learner still does not pass, change the state of the "Retry" button - Use "edit states" to make it really obvious and change the text to show "Continue" instead of "retry." The condition under which that state appears is when "Attempts" >/ 3 (greater than/ equal to) and the state of the offscreen object is state04 (or whatever). I learned in SL3 that sometimes it pays to have a double-edge sword so that if the variable didn't reset or change somehow at least the offscreen object trigger should work.

Don't give up, Claudio - you've still got a couple tries left... (-:

Judy Nollet

I'm sorry the demo won't open for you. I didn't think I added anything specific to 360...

Well, here's a breakdown:

I created a Number variable called attempts:

I added a trigger to the RETRY button that adds 1 to that variable:

Notice that this trigger appears before the one that jumps to another slide. That's because a trigger can't run if the program has already left the slide that the trigger is on.

On each layer, I added a trigger to hide the RETRY button when the layer's timeline starts with a condition that looks at the number of attempts: 

For the demo, I limited it to 2 attempts. Just change that number as desired.

To ensure that trigger executes every time the user returns to the Results slide, I set the layer's properties to "Reset to initial state" (which replays the timeline).