Advanced Actions in Captivate to Grade a Workflow

22 Jan

After presenting our self paced course at DemoFest in November, it became apparent that we needed to add someway to track if people were actually learning the workflow we are trying to teach.  So we set forth to come up with a way that we could reward those that are able to get the process down within a minimum number of clicks.  Here is the scenario we came up with; at the end of the chapter we would give a quiz that has the students make the clicks as if they are in the software.  We give no direction at first for them to find the click.  If they get the right click in the first 3 clicks they get 10 points.  If they do not get it in the first 3 clicks, a hint caption appears.  Then when the find the right menu option, a hint caption also appears telling them why it is the right click.  When they get the correct click here they get 5 points.  We require a passing grade of 80% of the total points available.  This allows them to “miss” 3-4 clicks in the quiz.

Here is how we did it in Captivate:

First I set up some variables to record the points.  Here is a shot of the user defined variable dialog:

  There are 5 variables in the file:

addtototalpoints – this adds the score of 5 for an answer that comes after the first 3 clicks

correctpoints – this adds the score of 10 points for the correct answer in the first 3 clicks

percentage – this calculates the percentage for the pass/fail of the quiz, this is the percentage number multiplied by 100

percentagenumber – is the decimal number calculated by dividing the totalpoints variable by the captivate variable cpQuizInfoTotalProjectPoints

totalpoints – this is the total points scored in the quiz

With the variables set we now moved creating the items needed on the stage.  First we created two click boxes on each slide.  One for the correct answer and one for the answer after 3 clicks.  The second click box was created with a hint caption to tell the student why they should be clicking the option.  We also created a caption to guide the user that will appear after missing the correct click 3 times.  Once everything was created on the stage the advanced actions were created.  Here are the actions for each slide:

First on entry the slide_enter action is created:

  Each slide has a slide enter action as seen here. The enter action shows the first click box and hides all other items on the stage. Note:  I have also played with setting clickbox1 for 3 seconds and upon a “wrong” answer, having the slide Continue.  Then have the second checkbox start a run for 3 seconds.  It accomplishes the same goal without having to put the enter action.

Here is an image of the advanced action.

Next we created another advanced action if the person did not get the correct clicks in the tries.

This action hides the first click box worth 10 points, shows the caption and shows the second click box worth 5 points.  This action is set on the click box to run after the student has click incorrectly 3 times.

One thing to make sure of when creating the click boxes is the only have the 10 point click box by checking the Add to Total checkbox in the Reporting section of the properties.  If the 5 point click box has the Add to Total checkbox clicked, the points will be added to the total number available for the quiz.  This is not what we want, if we have 8 side we want 80 points to be the best score (10 points for each slide).

See below for the actions:

Now that each slide is set with the slide entities, advanced actions are used to add the score.

  Here you can see the two actions that were added to the clickbox.  The Correctpoints action simply takes the correctpoints variable and adds 10 points to it.  So the variable is simply correctpoints = correctpoints + 10.  The second action Incorrect_slide# simply hides the correct click box and shows the incorrect text box an the caption.

The incorrect clickbox uses the following actions:

  The AddPointstoTotal action simply adds 5 points to the total by using the variable.  So the action is AddPointstoTotal = AddPointstoTotal + 5 and Go to next Slide to advance to the next slide.

Once all the slides are set, we get to scoring the quiz.  On the last slide there is the action set below to total the score:

Here you can see the core being set using the variables from earlier in the post.  This is set on slide entry for the last slide which is the scoring slide.

The final action is used to set the pass fail option.  It is a conditional action to set a pass/fail message.  The action is shown here:

If the percentage is greater than 80 the Pass caption is shown.  If the percentage is less than 80 the Fail caption is shown in the Else condition.

Hopefully this makes sense.  If you have any questions please let me know.  Also any suggestions on how I might be able to this in a more streamlined or better fashion please let me know.  I will try to get a file uploaded in the next few days.


Posted by on January 22, 2012 in Captivate


Tags: , , ,

5 responses to “Advanced Actions in Captivate to Grade a Workflow

  1. Lieve Weymeis (@Lilybiri)

    January 22, 2012 at 5:57 pm

    No need for Continue in the Then portion of the conditional advanced action. That is only necessary in standard advanced actions. So I’m wondering why you have a Continue statement (as first statement, strange) in one standard action and you omitted it in the second one? And is the THEN region not missing in the screenshot of the conditional action? To make the script more flexible I would certainly store the mastery score in a user variable. Are the wrong/correct text captions always the same, or are they different on each question slide? If they are always the same you can set them to display for the rest of project and hide/show them when necessary, which means that the captions have the same ID on each slide and you can avoid a lot of labeling and editing of actions. This was not clear from your text. I have a certain work flow and discipline for labeling, will never have a user variable starting with a r or c because it will show up in the dropdown list between the system variables. If you want, I’d rework this example, although I have already so many, even more complicated use cases on my blog

    • seanputman

      January 22, 2012 at 8:29 pm


      Thank you for the comment and advice. The Continue statement is there because the slide is paused at that point so I thought I needed the Continue there. The Continue comes after the 3 clicks are made and I want the second click box and hint caption to be shown. The text captions are not the same for each slide. Each one will be different. We are hinting at a a particular mouse click that will be a different menu item or on screen selection. Thanks for pointing the lack of the else statement. I have added the image. I know your blog well and you have a lot of great examples. I thought this was something fairly simple someone might find a use for. Thanks again for the comment.


  2. Lieve Weymeis (@Lilybiri)

    January 23, 2012 at 4:01 am

    Thanks Sean. Could you test the conditional advanced action without the Continue? For some strange reason normally it is not necessary there, as it is in the standard actions.

    And since this is aimed at starters with variables and advanced actions, think it would be nice if you mention the Case sensitivity of labels (variables and actions). In the text you mention ‘incorrect_slide#’ whereas the correct label is ‘Incorrect_slide#’. Those small typos can cause a lot of confusion. And give some tips to make the editing process for the duplicate OnEnter actions more fluent.

    Glad that you have a description of the variable visible in the screenshot. It is not really necessary to give it a value 0. Depending on the situation I find it often better, if needed, to set the starting values of the variables in a ‘Reset’ action at the beginning of the first slide. Try to tell the reader, since you do it while defining the variables, what the values of the other variables are.

    If I would recreate this example, I would directly add the 10points to the variable totalpoints as well as the 5points. No need for two different user variables. For this simple case that is not a problem, but often see too much variables created and I am ‘ecological’ (referring to my latest blog post). This will mean that both actions to increment with 10 or with 5 points will be pretty similar and can easily be created by duplicating the action. Moreover you can delete the first Expression in the action TotalPoints, because the total score will already be calculated. 🙂

    The system variable cpQuizInfoTotalProjectPoints has exactly the same value as cpQuizInfoTotalQuizPoints.

    • seanputman

      February 7, 2012 at 8:53 pm


      Sorry it took so long to get back to this. I tested and the Continue was not necessary. I have removed it form the images. Thanks again for all the advice, it is really appreciated.


      • John Joseph

        February 20, 2014 at 2:28 pm

        Hi Sean
        How do you get your LMS to track the TotalPoints variable?


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: