대사 기록
Ren'Py는 플레이어에게 보여 준 대사를 한 줄씩 저장하는 대사 기록 시스템을 제공합니다. 저장된 대사는 나중에 가져와 다시 보여 줄 수 있습니다.
대사 기록은 두 변수로 제어합니다. config.history_length는 저장할 기록의 최대 개수이며, 기록 기능을 사용하려면 반드시 설정해야 합니다. _history로 기록 저장을 잠시 끄거나 다시 켤 수 있습니다.
실제 기록은 _history_list에 HistoryEntry 객체의 리스트로 저장됩니다. HistoryEntry의 필드는 다음과 같습니다.
- class HistoryEntry
- kind
이 기록을 만든 캐릭터의 종류입니다. 대사를 표시하는 동안은 "current"이고, 이후에는 "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의 각 콜백에 전달합니다. 제작자는 이 콜백에서 새 필드를 추가할 수 있습니다.