История диалога (Dialogue History)
Ren'Py включает систему истории диалога, которая сохраняет каждую строку диалога после того, как она была показана игроку. Затем сохраненный диалог может быть извлечён и повторно показан игроку.
Система истории диалога контролируется двумя переменными. Переменная config.history_length регулирует максимальное количество сохраняемых записей истории и должна быть установлена, чтобы вообще включить историю. Переменная _history может использоваться для отключения и повторного включения хранилища истории.
Наконец, переменная _history_list хранит фактическую историю в виде списка объектов HistoryEntry. Объекты HistoryEntry содержат данные в своих полях, как определено ниже.
- class HistoryEntry
- kind
- Тип персонажа, который создал эту историю. Ren'Py устанавливает значение adv или nvl.
- who
- Строка, в которой содержится имя говорящего персонажа. Принимает значение None, если такой строки не существует.
- what
- Строка, в которой содержится текст диалога.
- who_args
- Словарь, содержащий свойства, которые были предоставлены текстовому виджету who при первоначальном отображении диалога.
- what_args
- Словарь, содержащий свойства, которые были предоставлены текстовому виджету what при первоначальном отображении диалога.
- window_args
- Словарь, содержащий свойства, которые были предоставлены диалоговому окну при первоначальном отображении диалога.
- show_args
- Словарь, содержащий свойства, которые были предоставлены экрану say при первоначальном отображении диалога.
- image_tag
- Тег изображения, присвоенный Character(), или значение None, если такой тег не задан.
- voice
- Объект, возвращенный из _get_voice_info(), хранящий информацию о воспроизводимом голосе.
- rollback_identifier
- Идентификатор, который можно передать действию RollbackToIdentifier(), чтобы вызвать откат к строке сценария, сгенерировавшей эту запись истории. Откат происходит только в том случае, если позиция всё ещё находится в журнале сценария, иначе действие становится недоступным.
После создания HistoryEntry, он передаётся каждому из обратных вызовов в config.history_callbacks, что позволяет коду, написанному разработчиком, добавлять новые поля.
Источник[править | править код]
Статья "Dialogue History" на английском языке.
На главную страницу | Официальная документация движка | Вернуться к началу статьи |