What each element and attribute is for

The pausetime attribute of the <HAScript> element controls two things:
  1. A delay of pausetimevalue /2 (in milliseconds) that occurs after most <prompt> and <insert> elements defined in a screen's actions, and
  2. A one-time delay of pausetimevalue (in milliseconds) that occurs after all of a screen's actions have been executed (for most screens)

Exactly where, and on which screens, delays of pausetimevalue /2 and pausetimevalue are executed is explained in more detail below. The default value for pausetimevalue (if no explicit pausetime attribute is defined) is 300 milliseconds.

The pause attribute (not to be confused with the <pause> element) overrides the pausetime attribute. To be more precise, if a pause attribute is defined within an element, it is used to override, for only that screen, the pausetime attribute defined (explicitly or by default) in the <HAScript> element for the macro. This means that when the pause attribute is defined for a screen, the pausetime attribute is ignored, and the value of that screen's pause attribute is used in calculating any pausetime-related delays that occur during that <screen> element's processing. The pause and pausetime attributes are not affected by, and do not affect, the processing of any <pause> elements.

The <pause> element is used to insert an explicit delay into the processing of a screen's actions. One or more <pause> elements can be placed before, in between, and after other actions defined in a screen's <actions> element. The pause and pausetime attributes are not affected by, and do not affect, the processing of any <pause> elements.

The ignorepauseforenhancedtn attribute of the <HAScript> element, when set to "true," causes the macro runtime to skip Pause actions (<pause> elements) during macro playback if the session is running in a contention resolution environment. See ignorepauseforenhancedtn=true/false for additional information on the use of this attribute.

The ignorepauseoverrideforenhancedtn attribute of the <pause> element, when set to "true" in a particular <pause> element, causes the macro runtime to process that <pause> element (wait for the specified number of milliseconds) even if the ignorepauseforenhancedtn attribute is set to "true" in the <HAScript> element. See ignorepauseoverrideforenhancedtn=true/false for additional information on the use of this attribute.

The delayifnotenhancedtn attribute of the <HAScript> element, when set to a non-zero value, causes the macro runtime to automatically pause the specified number of milliseconds whenever the macro runtime receives a notification that the Operator Information Area has changed. This attribute is useful for allowing the same macro to run successfully in both a contention resolution environment or a non-contention resolution environment. See delayifnotenhancedtn=(milliseconds) for additional information on the use of this attribute.