對話歷史 link

Ren’Py包含一個對話歷史系統,存放著每一行向用戶顯示過的對話文本。存儲的對話可以恢復或者再次向用戶顯示。

對話歷史系統由兩個變數控制。變數 config.history_length 控制存儲的對話歷史最大層(entry)數,必須設置才能啟用對話歷史功能。變數 _history 可以用於禁用或重新啟用對話歷史的存儲功能。

最後,變數 _history_list 將實際的歷史記錄存儲為一個HistoryEntry對象的列表。HistoryEntry對象的欄位(field)內包含下面的數據。

class HistoryEntry link
kind link

創建這段對話歷史的角色類型,Ren’Py中只能是“adv”或“nvl”。

who link

一個字串,表示發言角色名,如果不存在的話就是None。

what link

一個字串,表示對話文本。

who_args link

一個字典,表示原來顯示時who文本組件應用的特性(property)。

what_args link

一個字典,表示原來顯示時what文本組件應用的特性(property)。

window_args link

一個字典,表示原來顯示時對話窗口應用的特性(property)。

show_args link

一個字典,表示原來顯示時say界面應用的特性(property)。

image_tag link

用於 Character() 的圖像標籤(tag),若沒有則是None。

voice link

函數 _get_voice_info() 返回的對象,存儲播放的語音訊息。

rollback_identifier link

這是一個標識符,可以傳入 RollbackToIdentifier() ,可以導致生成的這個歷史層回滾到對應的那行腳本。如果位置依然在腳本日中時回滾才會發生,否則這個行為(action)是無效的。

一旦創建了一個HistoryEntry對象,就會傳給 config.history_callbacks 中配置的每一個回調函數,那些回調函數允許創作者寫的代碼添加新的欄位(field)。