テキスト履歴 link

Ren'Py にはテキストがユーザーに表示された後、テキストの各行を保存するテキスト履歴システムがあります。これはテキストを保存し、取り出してユーザーに再表示します。

テキスト履歴システムは 2 つの変数で制御されます。 config.history_length 変数は保存される履歴の最大数を制御し、履歴を有効化するために設定しなければなりません。 _history 変数は履歴の保存を有効、無効化するために利用出来ます。

最後に、 _history_list 変数は実際の履歴で、HistoryEntry オブジェクトのリストです。 HistoryEntry オブジェクトのフィールドには以下で定義するデータがあります。

class HistoryEntry link
kind link

この履歴を作成したキャラクターの種類です。Ren'PY はこれを "adv" または "nvl" に設定します。

who link

話しているキャラクターの名前の文字列か、そのような文字列がなければ None です。

what link

テキストの文字列です。

who_args link

元のテキストが表示された時に who テキストウィジェットに渡されたプロパティーを与える辞書です。

what_args link

元のテキストが表示された時に what テキストウィジェットに渡されたプロパティーを与える辞書です。

window_args link

元のテキストが表示された時に who テキストウィンドウに渡されたプロパティーを与える辞書です。

show_args link

元のテキストが表示された時に say スクリーンに渡されたプロパティーを与える辞書です。

image_tag link

Character() に渡された画像タグか、そのようなタグがなければ None です。

voice link

これは _get_voice_info() から返される、再生されるボイスの情報を保存したオブジェクトです。

rollback_identifier link

これは RollbackToIdentifier() アクションに渡される identifier で、この HistoryEntry を生成したスクリプトコードの行にロールバック出来ます。ロールバックはコードがまだスクリプトログにあれば実行され、そうでなければアクションは無効になります。

いったん HistoryEntry が作成されると、開発者に新しいフィールドを追加出来るようにする config.history_callbacks を各コールバックに渡されます。