http://www.cpguru.com/wp-content/ad_728x90_v4.gifhttp://www.cpguru.com/wp-content/gr_728x90_v2.gifhttp://www.cpguru.com/wp-content/728x90.gifhttp://www.cpguru.com/wp-content/728x90Inmotion.png

System variables in Adobe Captivate 4 – a complete list

Adobe Captivate 4 allows designers to access and modify a variety of System Variables to add extra functionality to their projects.

I haven’t seen a full list of all the Adobe Captivate 4 variables anywhere so I decided to post one here.

The System Variables are divided into different groups:

MovieControl lists variables for events that control the movie like pause, resume, previous, next slide, and so on.

MovieInformation lists variables related to the movie such as variables for the current slide, current frame, and so on.

MovieMetaData lists variables that provide information about the project such as project name, author, and company.

SystemInformation lists variables that can be picked up from your computer such as current date and current time.

Quizzing lists variables related to quizzing, such as the variables that capture the number of attempts and the percentage of questions answered correctly.

I tried to put the variables into their respective categories below, but there are some of them, which seem out of place. For example – all quizzing variables start with cpQuizInfo… but there is also a variable called cpInfoPercentage, which shows the scoring in percent. Why this variable isn’t named cpQuizInfoPercentage is beyond me.

MovieControl Variables:

Variable name Default value Description
cpCmndCC 0 Enable/disable closed captioning (CC). Set value to 1 to display closed captions.
cpCmndGotoSlide -1 Assign the slide number that the movie should move to before pausing. Index begins with zero
cpCmndMute 0 Mute the audio. set 1 to mute and 0 to unmute
cpCmndPlaybarMoved 0 Set to 1 if the playbar has moved
cpCmndShowPlaybar 1 Provides info about the visibility of the playbar. Returns 1 if the playbar is visible, and O if not visible
cpCmndVolume 50 Control the movie’s volume. Value can range from 0 to 100
rdcmndExit 0 Exit the movie. set 1 to exit
rdcmndGotoFrame   Assign the frame number the frame should jump to before pausing. Index begins with zero.
rdcmndGotoFrameAndResume   Assign to this variable the frame number to jump to and play. Index begins with zero
rdcmndInfo 0 Display information about Adobe Captivate
rdcmndNextSlide 0 Go to the next slide. Set 1 to jump to next slide
rdcmndPause 0 Pause the movie. Set 1 to pause
rdcmndPrevious 0 Go to the previous slide. Set 1 to jump to previous slide
rdcmndResume 0 Resume playing the movie. Set 1 to resume.
cpLockTOC 0 Enables/disables user interaction on TOC

MovieInformation variables:

Variable name Default value Description
cpInfoCurrentSlide   Current slide number. Index begins with 1
cpInfoCurrentSlideLabel   Name of the Current Slide
cpInfoCurrentSlideType   Type of slide playing currently. (Slide type can be Normal Slide, Question Slide, or Random Question Slide)
cpInfoHasPlaybar   Information about presence of playbar. Returns 1 if visible and 0 if not
cpInfoIsStandalone   ? No idea what this is.
cpInfoLastVisitedSlide 0 Last visited slide. Index begins with zero
RdinfoCurrentFrame   Current frame number. Index begins with zero
rdinfoCurrentSlide   Current slide number. Index begins with zero
RdinfoFPS 30 Frame rate of the movie in fps
rdinfoFrameCount   Total number of frames in the project
rdinfoSlideCount   Total number of slides in the project
cpInfoElapsedTimeMS 0 Time elapsed, in milliseconds, since the movie started playing
cpInfoEpochMS   Time elapsed, in milliseconds, since Januar 01, 1970
cpInfoPrevSlide   Slide Previously playing before current slide
CaptivateVersion v4.0.0 Shows the Captivate version
 

MovieMetaData variables:

Variable name Default value Description
cpInfoAuthor   Name of the author
cpInfoCompany company Name of the company
cpInfoCopyright copyright Copyright Info
cpInfoDescription project description Description of the project
cpInfoEmail author@company.com e-mail address
cpInfoProjectName   Name of the Adobe Captivate project
cpInfoWebsite www.company.com URL of the company website in the format www.companyaddress.com

SystemInformation variables:

Variable name Default value Description
cpInfoCurrentDate dd Current Date: The date as set on the user’s computer
cpInfoCurrentDateString mm/dd/yyyy Current Date as set on the user’s computer in the mm/dd/yyyy format
cpInfoCurrentDay   Day of the week as set on the user’s computer. Values range from 1-7 starting with Sunday. Sunday=1, Monday=2, and so on)
cpInfoCurrentHour hh Current hour: The hour set as on the user’s computer
cpInfoCurrentMinutes mm Current minutes: The hour set as on the user’s computer
cpInfoCurrentMonth mm Current month: The month as set on the user’s computer
cpInfoCurrentTime hh:mm:ss Current time as set on the user’s computer in the hh:mm:ss format
cpInfoCurrentYear yyyy Current year as set on the user’s computer

Quizzing variables:

Variable name Default value Description
cpQuizInfoAnswerChoice   Chosen Answer
cpQuizInfoAttempts   Number of times the quiz has been attempted
cpQuizInfoLastSlidePointScored   Score for last quiz slide
CpQuizInfoMaxAttemptsOnCurrentQuestion   Maximum attempts on the current question
cpQuizInfoNoQuestionsPerQuiz   Number of questions in quiz
cpQuizInfoPointsPerQuestionSlide   Points for the question slide
cpQuizInfoPointsscored   Points scored in the project
cpQuizInfoQuestionSlideTiming   Time limit in seconds for current question
cpQuizInfoQuestionSlideType   Question slide type(Multiple-Choice/True-False/..etc)
cpQuizInfoQuizPassPercent   Passing percentage for the quiz
cpQuizInfoQuizPassPoints   Passing points for the quiz
cpQuizInfoTotalCorrectAnswers   Number of correct answers
cpQuizInfoTotalProjectPoints   Total project points
cpQuizInfoTotalQuestionsPerProject   Number of questions per project
cpQuizInfoTotalQuizPoints   Final quiz score
cpQuizInfoTotalUnansweredQuestions   Total number of unanswered questions
cpInfoPercentage   scoring in percentage
993 days ago by in Article , Captivate | You can follow any responses to this entry through the RSS feed. You can leave a response, or trackback from your own site.
26 Comments to System variables in Adobe Captivate 4 – a complete list
    • Joe
    • This is great! I’ve been looking for an update to the rdcmnd controls from previous versions. The problem is, I’m not able to get these to work. I’m using a MovieClipLoader and a listener to wait for the movie to initialize, then I’m trying to jump to slide 2 (the third slide, counting slide 0. Any idea what I’m doing wrong?

      var oClipLoader:MovieClipLoader = new MovieClipLoader();
      oClipLoader.loadClip(oMovie, oContainer);
      var mcListener:Object = new Object();
      oClipLoader.addListener(mcListener);

      mcListener.onLoadInit = function(mc:MovieClip) {

      trace(mc);
      mc.cpCmndGotoSlide=2;
      };

    • David Childers
    • Thank you for the useful information.

      Do you know of a way to find the variables that can be changed in the Captivate standard.htm file (e.g. “@MOVIETITLE”). Someone referred me to your info here, but these system variables don’t match the variables I see in the Captivate 3 or Captivate 4 standard.htm files.

      Thanks!

    • admin
    • Hi David,

      I’m pretty sure that the @MOVIETITLE variable is equal to the ‘cpInfoProjectName’ variable. At least it is the same information.

      There is some weird issue with that @MOVIETITLE variable though – if you make a project – save it – publish it – and then rename it that variable will always be the original name that you first saved it with. Not really sure why this is happening, but perhaps these special @ variables in the standard.htm file is something that is filled once the project is saved/published for the first time.

      /Michael

    • David Childers
    • Thanks, Michael. I’ve heard about the issues with the @MOVIETITLE in Captivate 4 – I’ve not had problems with it in Captivate 3 (I think it is a new defect for 4).

      What I’m hoping to find somewhere is the complete list of “@variablename” options available for use in the standard.htm file – as you see, even if the info from @MOVIETITLE equals the information from cpInfoProjectName, you’d have to find out different names for the variables in the HTM file…

      Here are the variables I’ve seen (pulled from the standard.htm file from Captivate 3 and Captivate 4 – not all of which are backwards compatible):

      @FLASHPLAYER_CLASSID
      @FLASHPLAYER_CODEBASE
      @FlashPlayerVersion (which doesn’t work for Captivate 3)
      @MOVIETITLE
      @MOVIENAME
      @MOVIEWIDTH
      @MOVIEHEIGHT
      @MOVIELOOP
      @SKINCOLOR
      @WMODEVALUE

      I’ve had no luck finding these anywhere through manuals, online searches, forums, etc… At least you were kind enough to publish the system variables for others with a similar need.

      Thanks,

      David

  1. Pingback: pipwerks.com » Journal » Captivate 4 variables gone wild

      • admin
      • Hi Kelly,

        As long as you link to this post as the source then you are free to do what you want with the information ;o)

        /Michael

    • bahrook
    • I am using the Table of Contents (TOC) to allow the user to navigate through the demo that I have written. To maximize on realestate I have for the slides in the demo I placed a transparent TOC over the slides. What I want to know is there a variable that can be set to hide the TOC. This would be great in that after the user jumps to a slide they want the TOC could be automatically be hidden.

    • Eda Coskuner
    • Hi,

      thanks for this useful info.

      I need to display “tomorrow’s date” in my project. For this, I have tried creating a user variable and calling it from within a standard TextBox, however I am not that experienced.

      The user variable is supposed to yield “current date + 1″. What is the right way to do this?

      Your help is much appreciated ^^

      - Eda

    • admin
    • Hi Eda,

      You can use the variable $$cpInfoCurrentDate$$ for that purpose.

      First you need to create a new user defined variable called constructedDate. This variable will hold the output once the date has been calculated.

      Now you create an advanced action and create the following statement:

      constructedDate = cpInfoCurrentDate + 1

      You then need to assign your advanced action to play somewhere in your project in order for that to populate the constructedDate variable. I put mine on the first slide and as “On Slide Enter” – Execute Advanced Action – Name of your action.

      After this you can get the value of your variable by using $$constructedDate$$ in a text box and this will give you the current day + 1.

      /Michael

    • Eda Coskuner
    • Hi Michael,

      wow, so fast!

      Thanks for the timely & precise reply. (honestly, I’ve struggled a little more myself today, and in the meantime kept coming here & checking =))

      This actually worked! Now I just have to copy the same TextBox to every place where the “wrong” date is shown.

      I knew it had stg to do with an action, though these “advanced actions” are tricky. Now with your “how to”, it’s easy for me =)

      Thank you so much!

      I’ll be back ;)

      Loves,
      Eda

    • Eda Coskuner
    • ps. incrementing the parameter “cpInfoCurrentDate” will not work, because this is returned as a string. What I did was, take day, month, and year seperately, increment the day, and combine all 3 together with “.” between.

      It looks like this in my TextBox:

      $$user_tomorrows_date$$.$$cpInfoCurrentMonth$$.$$cpInfoCurrentYear$$

      Just wanted to highlight, in case s.o else faces the same situation.

      Thanks again! =)

    • admin
    • Hi Eda,

      Exactly – I should have mentioned that as well but you figured it out ;o)

      I always put the date together like you mentioned because the date format in Europe is different from the one used in USA.

      /Michael

    • Scarlett
    • I am creating a database tutorial in captivate 4 and have created separate interactive .swf files for each button located on the database interface. I have placed a transparent button over each database interface button and when the button is pushed, an interactive .swf animation plays that the learner uses to complete the form or report. My problem is, when I insert the .swf animation and it is say 1 minute and 6 seconds long, the file stops playing at 1 minute and 6 seconds regardless of whether the user has completed the interactive animation and returns to the database interface slide. Since the .swf file is designed to be self paced, the user may not have completed the interactive .swf animation. What can I do to allow the user to complete the .swf animation without the .swf animation completing at 1 minute and 6 seconds and returning to the database interface slide? I have flash CS4, as well.

      I’m not certain this makes sense, but any ideas would be greatly appreciated.
      Thank you.

    • Eda Coskuner
    • Hi Michael,

      it’s Eda again. I had asked about displaying “Tomorrow’s Date” before, remember?

      I’ve noticed the approach we discussed above has a flaw:
      (day + 1) yields invalid results when today is the last day of the month (like what if today is 31st of March, for ex? day+1 = 32. Or what if it’s February 27th?).

      So we need another solution here.
      Suggestions?

      Thanks for your guidance,
      Eda

    • Michael
    • Hi Eda,

      Good point ;o) Didn’t actually think of that at all.
      I don’t think that you will be able to solve that in Captivate since you would actually need to know the number of days in each month and probably also take the leap year into account.

      The only way I think you can solve it is to have a widget/component developed in Flash that will do these calculations for you and then pass the value to a user defined variable in your Captivate project.

      /Michael

    • Eda Coskuner
    • Hi Michael,

      thank you for the timely reply.

      Yes I was (almost) using the same method somewhere else when it occurred to me – luckily! *whew*

      Oh my. So there’s no way out..I’m sure our team will not / can not go that far (develop stg in Flash) for this – we are going to have to leave it out.

      Thanks anyway and good luck Captivate-ing! Keep up the good work – I’ll be visiting you often ;)
      Eda

    • Usafegressdude
    • HELP!!!!!

      Is there any way(var) that tracks the number of missed clicks thruout the project? Im building a lockStep type procedure tutorial… cant seem find a way to force a restart after 3 missed clicks. Anyone?

    • Michael
    • @Usafegressdude – no way to track that as far as I know. There is no system vars that tracks missed clicks throughout a project unfortunately. Seems like this type of interaction can only be buildt in Flash.

      /Michael

    • Usafegressdude
    • Michael- Thanks for your reply. Im thinking of using 2 buttons, a right button and a large wrong button underneath. Now if I can figure out how to “code” the wrong button to count missed clicks, or increment a var… somthing like

      ++errorCount
      if (errorCount >=2)
      {
      gotBackToBeggining()
      }
      …or somthing =P

    • Steve
    • I am attempting to access user-defined variables within Flash that were set and defined within Captivate and am having issues. I have a variable called “goal1″ that is set with a text entry box on a previous slide (I have confirmed the variable is stored using a caption with $$goal1$$). However, when I attempt to access it through Flash (an object I place in the Captivate module), I am using txtOuput.text = _root.goal1;. Is there something else I should be calling in Flash to have access to the variable?

    • Barb Modlin
    • I created a software simulation (training)
      On the third attempt, the learner gets the error message, but I would like them to be able to be told what to do (ie where to click) and then have the opportunity to follow through on the action. So, its almost as if, there should be four attempsts, but on the third one they should get the information on where to click. Then they follow though. Any ideas on how to deal with this one?

      Barb

    • zackery
    • Barb, You could set up a variable and action that shows the objectafter 3 tries, if you are incrementing. Also, be sure to reset your variable to 0 when leaving the slide, so on return it reacts the same way.

      Michael – second day with captivate, trying to gain control over some slides with flash, what is the path to get to the Captivate variable? I am trying,

      enter_btn.onPress = function() {
      //try to access the captivate file
      _root.cpCmndShowPlaybar = 1;
      }
      So far..Thanks in advance

    • Michael
    • Hi Zach,

      Looks okay to me how you are doing it. Try and access another variable and see if that works out. If not try and exchange the _root with _parent._parent._parent._parent and see if you get lucky. I always test with the goto next slide variable since that is easy to see if it works ;o)

      /Michael