Script commands used in SuperMemo

To insert a comment into the script, put it in a separate line and precede it with a semicolon
Syntax: ;<Comment>

To display a given registry image in an image component use DISPLAY. Its first argument is the number of the image component in the element. Its second argument is the name of the image registry member
Syntax: DISPLAY <Component> <Image Registry member>

To start a Drag&Match exercise, use DRAGMATCH. For multiple labels and multiple images use
Syntax: DRAGMATCH [<Label List>] [<Image list>]
For example: DRAGMATCH [1,3,4,5] [6,7,8,9]
For single image component with specified hit areas and multiple labels use
Syntax: DRAGMATCH <Component> [<Label List>] [<Rectangle List>]
For example: DRAGMATCH 1 [1,2] [(100,100,30,20),(150,200,50,20)]
Use Edit Hit-Area on the image pop-up menu to determine the positions of rectangles without worrying about coordinates.

To determine if labels erase background of the image on which they are dropped in Drag&Match exercises, use DRAGTEXTMODE

To change a font in a text, sound or Spell-Pad component, use FONT.
Syntax: FONT <Component> <Font registry member>

To execute a frame of an animation sequence, use FRAME. The <Component> argument specifies the image component within which the animation is executed (alternatively, BACKGROUND can be used to execute animation in element entire background). <Image Registry member> indicate the image that makes up the executed frame
Syntax: FRAME <Component>|BACKGROUND <Image Registry member>

To change the flow of script execution use GOTO with script label or script line as an argument:
Syntax: GOTO <Label>|<Line>

To hide a component use HIDE
Syntax: HIDE <Component>

To design Point&Click exercises use HITTEST. Use an image that displays the hit area as the first argument, and a list of points that specify the correct hit area.
Syntax: HITTEST <Component> [<list of points: (x1,y1)(x2,y2), etc.>]
For example: HITTEST 1 [(10,10),(100,10),(100,100),(10,100)]
Use Edit Hit-Area on the image pop-up menu to determine the position of the hit area without worrying about coordinates. The hit area may include no more than five points

To jump to a particular label in the script you need to define the label with LABEL.
Syntax: LABEL <Name>

To move a component to a new location use MOVE:
Syntax: MOVE <Component> <X> <Y>

To play a sound, video, script or execute a binary object, use PLAY:
Syntax: PLAY <Component> <Registry member>

To show a hidden component, use SHOW:
Syntax: SHOW <Component>

To play a sound or video without suspending the execution of the script use START.
Syntax: START <Component>

To stop the script use STOP.
Syntax: STOP

To display a particular text in a text component use TEXTOUT.
Syntax: TEXTOUT <Component> ''<Text>''

To change the display status of a component (from hide to show, or from show to hide), use TOGGLE.
Syntax: TOGGLE <Component>

To display another element of the knowledge system use TOPIC with the number of the element as the argument. Note that despite the commands name, you can also call up items with TOPIC
Syntax: TOPIC <Number>

To translate a text component to the currently selected translation language choose TRANSLATE (see Tools : Options : Language for interface and knowledge system translation options).
Syntax: TRANSLAT <Component>

To play user recorded sound in the sound component use UPLAY (to display the recorder panel in sound components check Recorder on sound component pop-up menu)
Syntax: UPLAY <Component>

To suspend the execution of a script for a number of milliseconds use WAIT.
Syntax: WAIT <Milliseconds>

To suspend the execution of a script until a given frame is displayed in a video sequence, or until a given position is reached in a sound track, use WAITFRAME with the frame or position as an argument.
Syntax: WAITFRAME <Component> <Frame>

To suspend the execution of a script until a grade is provided (e.g. in Drag&Match exercises or Point&Click exercises) use WAITGRADE.