Das <retain>-Tag speichert seinen Inhalt unausgewertet als Skript unter dem als Attribut 'name' angegebenen Namen. Dieser Inhalt kann dann später mit dem <replay>-Tag abgespielt werden.
<retain name="" id="">
...
</retain>
Neben dem Namen wird auch immer ein id-Attribut benötigt, damit intern später auf die Referenz zugegriffen werden kann. Beachte: Die ID muss im gesamten Dokument eindeutig sein!
Das <replay>-Tag spielt die unter dem als Attribut 'name' angegebenen Namen abgespeicherte Aktionsfolge ab. Das Speichern muss zuvor mit dem <retain>-Tag erfolgt sein. Auch ein mehrmaliges Abspielen ist möglich.
<replay name=""/>
Beispiel (basierend auf dem PDF-Tutorial): Die errungenden EP soll der Held erst am Ende des Quest erhalten. Aus diesem Grund werden die set-Tags zum Steigern der EP in einem Skript hinterlegt.
...
<retain name="EP-1" id="EP-1a">
<set attribute="EP" inc="5"/>
</retain>
...
<!-- EP-1 wird ausgeführt -->
<replay name="EP-1"/>