# 通過記録

通過記録とは、ユーザが「システム - 前に戻る」を選択することで、一つ前の場面に戻れるように、いくつかのポイントでオートセーブを行うようにする機能です。
通過記録を行うには record タグを用いるか、あるいは Config.tjs で `recordHistoryOfStore` を設定する必要があります。
「システム - 前に戻る」のメニューは標準では非表示になっているので、Config.tjs で `goBackMenuItem.visible` を true に設定すれば表示されます。
また、「システム - 前に戻る」を選択すればどんどん前に戻ることができるようにできますが、その限度は Config.tjs の `maxHistoryOfStore` で指定することができます。あまりにたくさん戻れるようにするとセーブデータが巨大化するので注意してください。通過記録は各栞ごとに個別に保存されます。
ちなみに Config.tjs にも設定がある「ラベル記録」とは別の機能ですのでご注意ください。

# 通過記録されるタイミング

record タグを書くと、その時点での状態を通過記録することができます。また、Config.tjs の `recordHistoryOfStore` の設定によっては自動的に通過記録を行うことができます。
ただし、record タグを書いた時点や、`recordHistoryOfStore` で指定したタイミングですぐに通過記録されるわけではありません。次の「栞を保存可能なラベル」を通過した時点で記録がされます ( この時点で「システム - 前に戻る」 で前に戻れるようになります )。ただし記録されるのは その一つ前の「栞を保存可能なラベル」を通過した時点での状態で、「システム - 前に戻る」を選択すればその位置に戻ることになります。

# record タグを書く位置

小規模なシナリオでは `recordHistoryOfStore` を設定して、自動的に通過記録を行わせると楽かも知れませんが、大規模なシナリオの場合は自動的に通過記録を行わせることはせずに、手動で record タグを書いて、通過記録を行う位置を指定した方が良いと思います。
通過記録を、たとえば選択肢が表示される場面で行えば、ユーザが「システム - 前に戻る」を選択すれば、前の選択肢の位置に戻ることができます。
この場合は、選択肢で停止するための [s] タグの前あたりに record タグを記述すれば OK です。とくに選択肢がいくつも連続するような場面では 手動で 通過記録を行った方がプレーしやすいかも知れません。
ユーザが「システム - 前に戻る」を選択しても、record タグを書いた、その位置に戻るわけではありません。record タグの直前にある「栞を保存可能なラベル」の位置に戻ります。
ちなみに、「栞を保存可能なラベル」から次の「栞を保存可能なラベル」までの間にいっさい l, p, s タグがなかった場合は、そこに record タグを記述しても通過記録はされません。「システム - 前に戻る」を選択できるのは l, p, s タグで停止中の場合のみのため、l, p, s タグが無い場所に通過記録を行うと、それよりも前に戻れなくなってしまうためです。