Переменные конфигурации (Configuration Variables)

Материал из Ren'Py Wiki
Перейти к навигации Перейти к поиску

Переменные конфигурации управляют поведением реализации Ren'Py, позволяя настраивать Ren'Py множеством способов. Они варьируются от обычных (например, изменение размера экрана) до малоизвестных (добавление новых видов архивных файлов).

Реализация Ren'Py предполагает, что после инициализации системы GUI переменные конфигурации не изменятся. Изменение переменных конфигурации за пределами блоков init может привести к неопределенному поведению. Переменные конфигурации не являются частью сохраняемых данных.

Переменные конфигурации часто изменяются в блоках init python:

init python:

    # Используйте широкоэкранное разрешение.
    config.screen_width = 1024
    config.screen_height = 600

Часто используемые (Commonly Used)[править | править код]

define config.name = ""

Строка с названием игры. Входит в состав трассировки и других лог-файлов, помогающих определить версию используемой игры.


define config.save_directory = "..."

Используется для создания каталога, в котором сохраняются игры и постоянная информация. Сгенерированное имя зависит от платформы:
Windows
%APPDATA%/RenPy/save_directory
Mac OS X
~/Library/RenPy/save_directory
Linux/Other
~/.renpy/save_directory
Присвоение данной переменной значения None, создаёт директорию "saves" под директорией игры. Это не рекомендуется, так как предотвращает совместное использование игры несколькими пользователями в системе. Это также может привести к проблемам, когда игра установлена от имени администратора, но запускается от имени пользователя.
Должна быть задана либо с помощью оператора define, либо в блоке python early. В любом случае будет выполняться перед любым другим оператором, и поэтому переменная должна быть установлен в строку, а не в выражение.
Чтобы найти каталог сохранения, ознакомтесь с config.savedir вместо этой переменной.


define config.version = ""

Строка, указывающая версию игры. Входит в состав трассировки и других лог-файлов, помогающих определить версию используемой игры.


define config.window = None

Позволяет управлять стандартным методом управления диалоговым окном. Если принимает значение не None, то переменная должна быть "show", "hide" или "auto".
Если задано значение "show", диалоговое окно отображается постоянно. Если задано значение "hide", диалоговое окно скрыто, если оно не содержится в операторе say или другом операторе, отображающем диалог. Если задано значение "auto", диалоговое окно скрывается перед операторами scene и выводится снова при отображении диалога.
Устанавливает значение по умолчанию. После установки значения по умолчанию его можно изменить с помощью операторов window show, window hide и window auto. Дополнительную информацию смотрите в разделе «Управление диалоговым окном (Dialogue Window Management)».

Переходы (Transitions)[править | править код]

Управляют переходами между различными экранами.


define config.adv_nvl_transition = None

Переход, используемый при отображении текста в NVL-режиме непосредственно после текста в ADV-режиме.


define config.after_load_transition = None

Переход, используемый после загрузки, при входе в загруженную игру.


define config.end_game_transition = None

Переход, используемый для отображения главного меню после обычного завершения игры, либо вызывая return без места для возврата, либо вызывая renpy.full_restart().


define config.end_splash_transition = None

Переход, используемый для отображения главного меню после окончания заставки.


define config.enter_replay_transition = None

Если принимает значение не None, переход, используемый при входе в повтор.


define config.enter_transition = None

Если принимает значение не None, эта переменная должна задать переход, который будет использоваться при входе в меню игры.


define config.enter_yesno_transition = None

Если принимает значение не None, переход, используемый при открытии экрана запроса "Да/Нет".


define config.exit_replay_transition = None

Если принимает значение не None, переход, используемый при выходе из повтора.


define config.exit_transition = None

Если принимает значение не None, эта переменная должна задать переход, который будет выполнен при выходе из меню игры.


define config.exit_yesno_transition = None

Если принимает значение не None, переход, используемый при выходе из экрана запроса "Да/Нет".


define config.game_main_transition = None

Переход, используемый для отображения главного меню после выхода из меню игры. Используется, когда экраны load и preferences вызываются из главного меню, а также когда игрок выбирает «Главное меню» из меню игры.


define config.intra_transition = None

Переход, используемый между экранами игрового меню.


define config.main_game_transition = None

Переход используется при входе в меню игры из главного меню, как это делается при нажатии «Загрузить игру» или «Настройки».


define config.nvl_adv_transition = None

Переход, используемый при отображении текста в ADV-режиме непосредственно после текста в NVL-режиме.


define config.say_attribute_transition = None

Если принимает значение не None, переход, используемый, когда изображение изменяется оператором say с атрибутами изображения.


define config.say_attribute_transition_callback = ...

Функция, которая возвращает переход и слой для применения.
Должна быть функция, которая принимает четыре аргумента: отображаемый тег изображения, параметр mode, set, содержащий теги до перехода, и set, содержащий теги после перехода. Где значение параметра mode является одним из:
  • "permanent" – для постоянного изменения атрибута (который длится дольше, чем текущий оператор say).
  • "temporary" – для временного изменения атрибута (который восстанавливается в конце текущего оператора say).
  • "both" – для одновременного изменения постоянного и временного атрибута (который частично длится дольше, чем текущий оператор say, а частично восстанавливается в конце текущего оператора say).
  • "restore" – когда восстанавливается временное (или оба) изменение.
Функция должна вернуть 2-компонентный кортеж, состоящий из:
  • Перехода для использованию или значения None, если переход не должен происходить.
  • Слоя, на котором должен находиться переход, либо строки, либо значения None. Почти всегда принимает значение None.
Реализация этого возврата по умолчанию (config.say_attribute_transition, config.say_attribute_transition_layer).


define config.say_attribute_transition_layer = None

Если принимает значение не None, должна быть строка, задающая имя слоя (почти всегда "master"). Атрибут say применяется к именованному слою и Ren'Py не будет останавливаться, чтобы дождаться перехода. Будет иметь эффект перехода в атрибут по мере показа диалога.


define config.window_hide_transition = None

Переход, используемый оператором window hide, если явно не указан ни один переход.


define config.window_show_transition = None

Переход, используемый оператором window show, если явно не указан ни один переход.

Настройки по умолчанию (Preference Defaults)[править | править код]

Ren'Py имеет ряд переменных, которые задают значения предпочтений по умолчанию. Пожалуйста, для получения дополнительной информации о том, как установить значения по умолчанию для различных параметров смотрите в разделе «Переменные предпочтения».

Используемые по мере необходимости (Occasionally Used)[править | править код]

define config.after_load_callbacks = [ ... ]

Список функций, которые вызываются без аргументов при загрузке.


define config.after_replay_callback = None

Если принимает значение не None, функция, которая вызывается без аргументов после завершения повтора.


define config.auto_channels = { "audio" : ( "sfx", "", "" ) }

Используется для определения автоматических аудиоканалов. Сопоставляет имя канала с кортежем, содержащим 3 компонента:
  • Микшер, который использует канал.
  • Префикс, который присваивается файлам, воспроизводимым на канале.
  • Суффикс, который присваивается файлам, воспроизводимым на канале.


define config.auto_load = None

Если принимает значение не None, имя файла сохранения, который будет автоматически загружаться при запуске Ren'Py. Предназначено для разработчиков, а не для конечных пользователей. Установка этого значения на "1" автоматически загрузит игру в слот сохранения 1.


define config.auto_voice = None

Это может быть строка, функция или значение None. Если принимает значение None, автоматический голос отключён.
Если строка, то она форматируется с помощью переменной id, связанной с идентификатором текущей строки диалога. Если задаёт существующий файл, то он воспроизводится как звук голоса.
Если функция, то она вызывается с одним аргументом – идентификатором текущей строки диалога. Ожидается, что функция возвращает строку. Если задаёт существующий файл, то он воспроизводится как звук голоса.
Для получения более подробной информации смотрите раздел «Автоматическая озвучка».


define config.automatic_images = None

Если принимает значение не None, приводит Ren'Py к автоматическому определению изображений.
Если для этого параметра не задано значение None, для него должен быть установлен список разделителей. Например, [ ' ', '_', '/' ].
Ren'Py просканирует список файлов на диске и в архивах. Когда он находит файл, заканчивающийся на .png или .jpg, он удаляет расширение, а затем разбивает имя на разделители, чтобы создать имя изображения. Если имя состоит как минимум из двух компонентов и изображение с таким именем не определено, Ren'Py определит это изображение, чтобы ссылаться на имя файла.
Пример списка разделителей, если ваша директория игры их содержит:
  • eileen_happy.png, Ren'Py определит изображение "eileen happy".
  • lucy/mad.png, Ren'Py определит изображение "lucy mad".
  • mary.png, Ren'Py ничего не делает, так как изображение не состоит из двух компонентов.


define config.automatic_images_strip = [ ]

Список строк, задающих префиксы, которые удаляются при определении автоматических изображений. Можно использовать для удаления имён каталогов, когда они содержат изображения.


define config.autosave_slots = 10

Количество слотов, используемых автосохранением.


define config.cache_surfaces = False

Если принимает значение True, базовые данные изображения хранятся в оперативной памяти, что позволяет применять к нему манипуляторы изображений без перезагрузки его с диска. Если принимает значение False, данные удаляются из кэша, но сохраняются в виде текстур в видеопамяти, уменьшая использование оперативной памяти.


define config.character_id_prefixes = [ ] !

Определяет список префиксов свойств стиля, которые могут быть заданы Character(). Когда задаётся стиль, префикс которого содержит один из заданных префиксов, он применяется к отображаемому объекту с этим префиксом в качестве идентификатора.
Например, графический интерфейс пользователя по умолчанию добавляется к этому "namebox". Когда Character присваивается свойство namebox_background, он устанавливает background отображаемому объекту на экране say с идентификатором "namebox".


define config.conditionswitch_predict_all = False

Значение по умолчанию аргумента predict_all для ConditionSwitch() и ShowingSwitch(), которое определяет, отображаются ли все возможные отображаемые объекты.


define config.context_callback = None

Это обратный вызов, который вызывается, когда Ren'Py входит в новый контекст, например контекст меню.


define config.context_copy_remove_screens = [ 'notify' ]

Содержит список экранов, которые удаляются, когда контекст копируется для отката или сохранения.


define config.debug = False

Включает функцию отладки (в основном, превращая некоторые отсутствующие файлы в ошибки). Всегда должно быть отключено в релизе.


define config.debug_image_cache = False

Если принимает значение True, Ren'Py запишет информацию о кэше изображений в image_cache.txt.


define config.debug_sound = False

Включает отладку звуковых функций. Это отключает подавление ошибок при создании звука. Однако, если звуковая карта отсутствует или неисправна, такие ошибки являются нормальными, и включение этого может помешать Ren'Py нормально функционировать. Это всегда должно быть False в выпущенной игре.


define config.debug_text_overflow = False

Когда принимает значение True, Ren'Py будет регистрировать переполнение текста в text_overflow.txt. Переполнение текста происходит, когда Text отображается в размере, большем, чем выделенный для него. Если для этого параметра установлено значение True и для свойств стиля диалогового окна xmaximum и ymaximum установлено значение размера окна, это можно использовать для отчетов о случаях, когда диалог слишком велик для своего окна.


define config.default_tag_layer = "master"

Слой, на котором отображается изображение, если его тег не найден в config.tag_layer.


define config.default_transform = ...

Когда отображаемый объект отображается с помощью операторов show или scene, свойства преобразования берутся из этого преобразования и используются для инициализации значений преобразования отображаемого объекта.
Преобразование по умолчанию - center.


define config.defer_styles = False

При значении True выполнение операторов style откладывается до тех пор, пока не будут выполнены все блоки translate python. Это позволяет обновлять переменные блока translate python, которые затем используются в операторах style, а не в стиле перевода.
Хотя по умолчанию принимает значение False, при вызове gui.init() устанавливается значение True.


define config.developer = "auto"

Если принимает значение True, режим разработчика включен. Режим разработчика предоставляет доступ к меню разработчика shift+D, перезагрузке shift+R и другим функциям, которые не предназначены для конечных пользователей.
Это может быть True, False или "auto". Если "auto", Ren'Py определит, была ли игра упакована в дистрибутив, и при необходимости настроит config.developer.


define config.disable_input = False

Когда принимает значение True, renpy.input() немедленно завершает работу и возвращает свой аргумент default.


define config.displayable_prefix = { }

Смотри раздел «Отображаемые префиксы».


define config.emphasize_audio_channels = [ 'voice' ]

Список строк, задающих названия звуковых каналов.
Если параметр "emphasize audio" включён, то при воспроизведении звука одним из перечисленных аудиоканалов все каналы, не включенные в эту переменную, уменьшают вторичную громкость звука до значения config.emphasize_audio_volume в течение config.emphasize_audio_time секунд.
Если ни один из каналов, перечисленных в этой переменной, не воспроизводит звук, то для всех каналов, которые не перечислены, громкость вторичного звука увеличивается до 1.0 в течение config.emphasize_audio_time секунд.
Например, установка этого параметра на [ 'voice' ]] снизит громкость всех неголосовых каналов при воспроизведении голоса.


define config.emphasize_audio_time = 0.5

Смотри выше.


define config.emphasize_audio_volume = 0.5

Смотри выше.


define config.empty_window = ...

Вызывается, когда _window принимает значение True, и ни одно окно не было показано на экране. То есть, не вызывался renpy.shown_window(). Ожидается, что на экране появится пустое окно и вернётся, не вызывая взаимодействия.
Реализация по умолчанию использует персонажа-рассказчика для отображения пустой строки без взаимодействия.


define config.enable_language_autodetect = False

Если принимает значение True, Ren'Py попытается определить название языка для использования, исходя из языковой настройки системы игрока. В случае успеха этот язык будет использоваться в качестве языка по умолчанию.


define config.enter_sound = None

Если принимает значение не None, звуковой файл, который воспроизводится при входе в меню игры.


define config.exit_sound = None

Если принимает значение не None, звуковой файл, который воспроизводится при выходе из меню игры.


define config.fix_rollback_without_choice = False

Этот параметр определяет, как ведут себя встроенные меню или карты изображений при фиксированном откате. По умолчанию принимает значение False, что означает, что в меню остается доступной только ранее выбранная опция. Если установлено значение True, выбранный параметр помечен, но никакие параметры не активируются. Игрок может перейти вперёд через буфер отката, нажав кнопку.


define config.font_replacement_map = { }

Это карта от (шрифт, полужирный, курсив) до (шрифт, полужирный, курсив), используемая для замены шрифта на тот, который специализирован как имеющий полужирный и/или курсив. Например, если вы хотите, чтобы всё, что использует курсивную версию «Vera.ttf», использовало «VeraIt.ttf», вы можете прописать в коде:
init python:
    config.font_replacement_map["Vera.ttf", False, True] = ("VeraIt.ttf", False, False).
Обратите внимание, что эти сопоставления применяются только к определенным вариантам шрифта. В этом случае запросы на выделенную жирным курсивом версию vera получат выделенную жирным курсивом версию vera, а не выделенную жирным версию italic vera.


define config.game_menu = [ ... ]

Используется для настройки выбора в меню игры. Для получения более подробной информации о содержании этой переменной, пожалуйста, прочитайте о главном и игровом меню.
Не используется, когда меню игры определяется с помощью экранов.


define config.game_menu_music = None

Если принимает значение не None, музыкальный файл проигрывается, когда открыто игровое меню.


define config.gl_clear_color = "#000"

Цвет, до которого очищается окно перед рисованием изображений. Это в основном рассматривается как цвет краёв леттербоксинга или черных полос сбоку, когда соотношение сторон окна или монитора в полноэкранном режиме не соответствует соотношению сторон игры.


define config.gl_test_image = "black"

Имя изображения, которое используется при выполнении теста производительности OpenGL. Это изображение будет показано в течение 5 кадров или .25 секунд, при запуске. Затем оно будет автоматически скрыто.


define config.has_autosave = True

Если принимает значение True, игра будет автоматически сохранена. Если принимает значение False, автосохранение не произойдёт.


define config.history_callbacks = [ ... ]

Содержит список обратных вызовов, которые вызываются до того, как Ren'Py добавляет новый объект в список _history_list. Обратные вызовы вызываются с новым объектом HistoryEntry в качестве первого аргумента и могут добавлять новые поля к этому объекту.
Ren'Py использует историю обратных вызовов внутри, поэтому разработчики должны добавлять свои собственные обратные вызовы в этот список, а не заменять его полностью.


define config.history_length = None

Количество записей истории диалога, которые Ren'Py сохраняет. Это значение равно 250 в графическом интерфейсе пользователя по умолчанию.


define config.hw_video = False

Если принимает значение True, аппаратное воспроизведение видео будет использоваться на мобильных платформах. Так быстрее, но поддерживаются только некоторые форматы и доступен только полноэкранный режим видео.
Если принимает значение False, для воспроизведения видео будет использоваться программное обеспечение, но оно может быть слишком медленным, чтобы быть полезным.


define config.hyperlink_handlers = { ... }

Словарь, сопоставляющий протокол гиперссылки обработчику для этого протокола. Обработчик – функция, которая принимает значение (всё после :) и выполняет некоторые действия. Если значение возвращается, взаимодействие завершается. Иначе щелчок кнопкой игнорируется, и взаимодействие продолжается.


define config.hyperlink_protocol = "call_in_new_context"

Протокол, используемый для гиперссылок, которым не назначен протокол. Смотрите текстовый тег a для описания того, что означают возможные протоколы.


define config.image_cache_size = None

Если принимает значение не None, используется для задания размера кэша изображений, кратного размеру экрана. Это число умножается на размер экрана в пикселях, чтобы получить размер кэша изображения в пикселях.
Если установить слишком большое значение, это может привести к потере памяти. Если установлено слишком маленькое значение, изображения могут загружаться повторно, что ухудшает производительность.


define config.image_cache_size_mb = 300

Используется для задания размера кэша изображения в мегабайтах. Если config.cache_surfaces принимает значение False, изображение занимает 4 байта на пиксель, иначе оно занимает 8 байт на пиксель.
Если установить слишком большое значение, это может привести к потере памяти. Если установлено слишком маленькое значение, изображения могут загружаться повторно, что ухудшает производительность. Если принимает значение не None, то вместо этой переменной используется config.image_cache_size.


define config.key_repeat = (.3, .03)

Управляет скоростью автоматического повтора. Когда включён повтор нажатия клавиши, это должен быть кортеж. Первый элемент в кортеже – задержка перед первым повторением, а второй элемент – задержка между повторами. Оба в секундах. Если принимает значение None, автоповтор отключён.


define config.language = None

Если принимает значение не None, должна быть строка, задающая язык по умолчанию, на который игра переводится платформой перевода.


define config.load_failed_label = None

Если это строка, это метка, к которой переходят при сбое загрузки, потому что скрипт изменился так сильно, что Ren'Py не может восстановиться. Перед выполнением загрузки Ren'Py вернётся к началу последнего оператора, а затем очистит стек вызовов.
Это также может быть функцией. Если это так, функция вызывается без аргументов и должна возвращать строку, содержащую метку.


define config.locale_to_language_function = ...

Функция, определяющая язык, который должна использовать игра, в зависимости от языковой настройки пользователя. Принимает 2 строковых аргумента, которые задают код ISO языковой настройки и код ISO региона.
Должен вернуть строку с именем используемого перевода или значение None для использования перевода по умолчанию.


define config.main_menu = [ ... ]

Главное меню по умолчанию, когда не используются экраны. Для получения дополнительной информации смотри Главное и Игровое меню.


define config.main_menu_music = None

Если принимает значение не None, музыкальный файл проигрывается, когда открыто главное меню.


define config.menu_arguments_callback = None

Если принимает значение не None, это должна быть функция, которая принимает позиционные и/или именованные аргументы. Вызывается всякий раз, когда выполняется оператор menu, с аргументами этого оператора menu.
Должно вернуть пару, содержащую кортеж позиционных аргументов (почти всегда пустой) и словарь именованных аргументов.


define config.menu_clear_layers = []

Список имён слоев (в виде строк), которые очищаются при входе в меню игры.


define config.menu_include_disabled = False

Когда эта переменная задана, выбор отключается с помощью оператора if, включенного как отключенные кнопки.


define config.menu_window_subtitle = ""

Переменная _window_subtitle устанавливается к этому значению при входе в главное или игровое меню.


define config.minimum_presplash_time = 0.0

Минимальное количество времени (в секундах) для предварительной заставки, предварительной заставки Android или iOS LaunchImage. Если Ren'Py инициализируется до того, как это количество времени будет достигнуто, он будет переведён в спящий режим, чтобы обеспечить показ изображения по крайней мере в течение этого промежутка времени. Изображение может отображаться дольше, если Ren'Py требуется больше времени для запуска.


define config.missing_background = "black"

Фон, который используется, когда config.developer принимает значение True, и в операторе scene используется неопределенное изображение. Это должно быть имя изображения (строка), а не отображаемый объект.


define config.mode_callbacks = [ ... ]

Список обратных вызовов, вызываемых при входе в режим. Для получения дополнительной документации смотрите раздел «Режимы».
Значение по умолчанию включает обратный вызов, реализующий config.adv_nvl_transition и config.nvl_adv_transition.


define config.mouse = None

Переменная контролирует использование пользовательских курсоров мыши. Если принимает значение None, используется системная мышь, которая обычно представляет собой черно-белый курсор.
Иначе это должен быть словарь, задающий анимацию мыши для различных типов мыши. Ключи, используемые библиотекой по умолчанию, включают "default", "say", "with", "menu", "prompt", "imagemap", "pause", "mainmenu" и "gamemenu". Ключ "default" должен присутствовать всегда, так как он используется, когда отсутствует более конкретный ключ.
Каждое значение в словаре должно быть списком (image, xoffset, yoffset) кортежей, представляющих фреймы.
image
Изображение курсора мыши.
xoffset
Смещение пикселя горячей точки с левой стороны курсора.
yoffset
Смещение пикселя горячей точки от верхней части курсора.
Кадры воспроизводятся с частотой 20 Гц, и анимация зацикливается после того, как все кадры были показаны.


define config.mouse_displayable = None

Если принимает значение не None, то это должен быть либо отображаемый объект, либо вызываемый объект, который возвращает отображаемый объект. Вызываемый объект может возвращать значение None, в этом случае Ren'Py будет работать, если отображаемый объект равен None.
Если задан отображаемый объект, курсор мыши скрывается, а отображаемый объект отображается поверх всего остального. Этот отображаемый объект отвечает за позиционирование и отрисовку синтетического курсора мыши, поэтому, вероятно, должен быть MouseDisplayable() или что-то очень похожее.


define config.narrator_menu = False

Это значение равно True в файле screens.rpy по умолчанию. Если принимает значение True, повествование внутри меню отображается с использованием персонажа рассказчика. Иначе повествование отображается в виде подписи внутри самого меню.


define config.nearest_neighbor = False

По умолчанию используется фильтрация ближайших соседей для поддержки пиксельной графики или расплавление глаз игроков.


define config.notify = ...

Вызывается renpy.notify() или Notify() с одним аргументом message, чтобы отобразить уведомление. Реализация по умолчанию – renpy.display_notify(). Это сделано для того, чтобы разработчики могли перехватывать уведомления.


define config.optimize_texture_bounds = False

Когда принимает значение True, Ren'Py будет сканировать изображения, чтобы найти ограничивающую рамку непрозрачных пикселей, и загружать только эти пиксели в текстуру.


define config.overlay_functions = [ ]

Список функций. Ожидается, что при вызове каждая функция будет использовать функции пользовательского интерфейса для добавления отображаемых объектов в слой наложения.


define config.overlay_screens = [ ... ]

Список экранов, которые отображаются на дисплее, когда включена функция наложения, и скрываются, когда наложение подавляется. Экраны отображаются на слое экранов,а не на слое наложения.


define config.preload_fonts = [ ]

Список имён шрифтов TrueType и OpenType, которые Ren'Py должен загрузить при запуске. Включение здесь имени шрифта может предотвратить паузу Ren'Py при введении нового шрифта.


define config.python_callbacks = [ ]

Список функций. Функции в этом списке вызываются без каких-либо аргументов всякий раз, когда блок Python выполняется вне фазы инициализации.
Одним из возможных вариантов использования этой функции может быть ограничение переменной в пределах диапазона при каждой её настройке.
Функции могут быть вызваны во время запуска Ren'Py, до начала собственно игры и потенциально до инициализации переменных, от которых зависит функция. Для этого требуются функции, возможно, с помощью hasattr(store, 'varname'), чтобы проверить, определена ли переменная.


define config.quicksave_slots = 10

Количество слотов, используемых быстрыми сохранениями.


define config.quit_action = ...

Действие, которое вызывается, когда пользователь нажимает кнопку выхода в окне. Действие по умолчанию предлагает пользователю посмотреть, хочет ли он выйти из игры.


define config.reload_modules = [ ]

Список строк с именами модулей Python, которые должны быть перезагружены вместе с игрой. Любые подмодули этих модулей также будут перезагружены.


define config.replace_text = None

Если принимает значение не None, функция, которая вызывается с одним аргументом, текст для отображения пользователю. Функция может возвращать тот же текст, который был передан, или текст замены, который будет отображаться вместо него.
Функция вызывается после выполнения подстановок и после разделения текста на теги, поэтому ее аргумент не содержит ничего, кроме фактического текста. Через эту функцию проходит весь отображаемый текст: не только текст диалога, но и текст пользовательского интерфейса.
Можно использовать для замены определенных последовательностей ASCII соответствующими символами Unicode, как показано ниже:
def replace_text(s):
    s = s.replace("'", u'\u2019') # apostrophe
    s = s.replace('--', u'\u2014') # em dash
    s = s.replace('...', u'\u2026') # ellipsis
    return s
config.replace_text = replace_text


define config.replay_scope = { "_game_menu_screen" : "preferences" }

Словарь, сопоставляющий переменные в хранилище по умолчанию со значениями, которые будут заданы при входе в повтор.


define config.save_json_callbacks = [ ]

Список функций обратного вызова, используемых для создания объекта json, который сохраняется при каждом сохранении и помечается как доступный через FileJson() и renpy.slot_json().
Каждый обратный вызов вызывается с помощью словаря Python, который в конечном итоге будет сохранён. Обратные вызовы должны изменить этот словарь, добавив JSON-совместимые типы Python, такие как числа, строки, списки и символы. Словарь в конце последнего обратного вызова затем сохраняется как часть слота сохранения.
Словарь, переданный обратным вызовам, может уже иметь ключи, начинающиеся с подчеркивания _. Эти ключи используются Ren'Py и не должны быть изменены.


define config.say_arguments_callback = None

Если принимает значение не None, это должна быть функция, которая принимает говорящий персонаж, за которым следуют позиционные и именованные аргументы. Он вызывается всякий раз, когда происходит оператор say с аргументами этого оператора say. Всегда включает в себя аргумент взаимодействия и может включать другие аргументы, указанные в операторе say.
Это должно вернуть пару, содержащую кортеж позиционных аргументов (почти всегда пустой) и словарь именованных аргументов (почти всегда с ним как минимум взаимодействуют).
Например:
def say_arguments_callback(who, interact=True, color="#fff"):
    return (), { "interact" : interact, "what_color" : color }

config.say_arguments_callback = say_arguments_callback


define config.screen_height = 600

Высота экрана. Обычно устанавливается gui.init().


define config.screen_width = 800

Ширина экрана. Обычно устанавливается gui.init().


define config.skip_sounds = False

Если принимает значение False, при пропуске Ren'Py не будет воспроизводиться зацикленный звук.


define config.speaking_attribute = None

Если принимает значение не None, это должна быть строка с именем атрибута изображения. Атрибут изображения добавляется к изображению, когда тег изображения персонажа, когда персонаж говорит, и удаляется, когда персонаж останавливается.
Применяется к изображению на слое по умолчанию для тега, который можно установить с помощью config.tag_layer.


define config.tag_layer = { }

Словарь сопоставляет строки тега изображения со строками имени слоя. Когда изображение показывается без определенного имени слоя, в этом словаре ищется тег изображения, чтобы слой отображал его. Если тег здесь не найден, используется имя config.default_tag_name.


define config.tag_transform = { }

Словарь, сопоставляющий строки тега изображения для преобразований или списки преобразований. Когда изображение вновь отображается без at, в этом словаре ищется тег изображения, чтобы найти преобразование или список преобразований для использования.


define config.tag_zorder = { }

Словарь, сопоставляющий строки тегов изображений с zorders. Когда изображение вновь отображается без zorder, в этом словаре ищется тег изображения, чтобы найти zorder для использования. Если zorder не найден, используется 0.


define config.thumbnail_heightr = 75

Высота миниатюр, сделанных при сохранении игры. Эти миниатюры отображаются при загрузке игры. Обратите внимание, что миниатюра отображается в том размере, в котором она была взята, а не в значении этого параметра, когда миниатюра показывается игроку.
Изменяется графическим интерфейсом пользователю по умолчанию.


define config.thumbnail_width = 100

Ширина миниатюр, сделанных при сохранении игры. Эти миниатюры отображаются при загрузке игры. Обратите внимание, что миниатюра отображается в том размере, в котором она была взята, а не в значении этого параметра, когда миниатюра показывается игроку.
Изменяется графическим интерфейсом пользователю по умолчанию.
Изменяется графическим интерфейсом пользователю по умолчанию.


define config.tts_voice = None

Если принимает значение не None, строка, задающая голос не по умолчанию, который используется для воспроизведения текста в речь для самостоятельного озвучивания. Возможные варианты зависят от платформы, поэтому их следует устанавливать для конкретной платформы. Возможно, имеет смысл изменить это и в переводах.


define config.window_auto_hide = [ 'scene', 'call screen', 'menu' ]

Список операторов, которые вызывают window auto, чтобы скрыть пустое диалоговое окно.


define config.window_auto_show = [ 'say', 'menu-with-caption' ]

Список операторов, которые вызывают window auto, чтобы показать пустое диалоговое окно.


define config.window_icon = None

Если принимает значение не None, ожидается, что это будет имя файла изображения, задающего иконку, которая используется для главного окна игры. Не устанавливает иконку, используемую исполняемыми файлами Windows и приложениями Mac, так как они управляются специальными файлами.


define config.window_overlay_functions = []

Список функций наложения, которые вызываются только при отображении окна.


define config.window_title = None

Статическая часть заголовка окна, содержащего игру Ren'Py. _window_subtitle добавляется к этому, чтобы получить полный заголовок окна.
Если принимает значение None по умолчанию. По умолчанию используется значение config.name.

Редко используемые или внутренние (Rarely or Internally Used)[править | править код]

define config.adjust_view_size = None

Если принимает значение None, должна быть функция, принимающая два аргумента – ширину и высоту физического окна. Ожидается, что она вернёт кортеж, задающий ширину и высоту окна просмотра OpenGL, той части экрана, на которую Ren'Py будет рисовать изображения.
Можно использовать для настройки Ren'Py, чтобы разрешить только определенные размеры экрана. Например, в приведенном ниже примере разрешены только целочисленные значения, кратные исходному размеру экрана:
init python:

    def force_integer_multiplier(width, height):
        multiplier = min(width / config.screen_width, height / config.screen_height)
        multiplier = max(int(multiplier), 1)
        return (multiplier * config.screen_width, multiplier * config.screen_height)

    config.adjust_view_size = force_integer_multiplier


define config.afm_bonus = 25

Количество бонусных символов, добавляемых в каждую строку при включенном режиме авточтения.


define config.afm_callback = None

Если принимает значение не None, вызывается функция Python, чтобы определить, безопасно ли авточтение. Цель состоит в том, что это может использоваться голосовой системой, чтобы отключить авточтение при воспроизведении голоса.


define config.afm_characters = 250

Количество символов в строке, необходимое для задержки времени, указанного в параметре режимам авточтения, прежде чем режим авточтения вступит в силу.


define config.afm_voice_delay = .5

Число секунд после завершения воспроизведения голосового файла, прежде чем АСМ сможет продвигать текст.


define config.all_character_callbacks = [ ]

Список обратных вызовов, которые вызываются всеми персонажами. Этот список добавляется к списку обратных вызовов персонажа.


define config.allow_skipping = True

Если принимает значение False, игрок не сможет пропустить текст игры.


define config.archives = [ ]

Список архивных файлов, в которых будет производиться поиск изображений и других данных. Записи в нем должны состоять из строк, задающих базовые имена архивных файлов, без указания расширение .rpa.
Архивы просматриваются в том порядке, в котором они находятся в этом списке. Файл берётся из первого архива, в котором он находится.
При запуске Ren'Py автоматически заполнит эту переменную именами всех архивов, найденных в каталоге игры, отсортированными в обратном порядке ascii. Например, если Ren'Py находит файлы data.rpa, patch01.rpa и patch02.rpa, эта переменная будет заполнена ['patch02', 'patch01', 'data'].


define config.auto_choice_delay = None

Если принимает значение не None, эта переменная задаёт количество секунд, которое Ren'Py будет приостанавливать в игровом меню, прежде чем выбрать случайный выбор из этого меню. Мы ожидаем, что эта переменная всегда будет иметь значение None в выпущенных играх, но установка ее в число позволит автоматизировать демонстрацию игр без особого взаимодействия с человеком.


define config.autoreload = True

Если принимает значение True, Shift+R включает автоматическую перезагрузку. Когда автоматическая перезагрузка включена, Ren'Py будет перезагружать игру всякий раз, когда используемый файл изменяется.
Если принимает значение False, Ren'Py перезагрузит игру один раз за нажатие Shift+R.


define config.autosave_frequency = 200

Грубо говоря, количество взаимодействий, которые произойдут до того, как произойдет автосохранение. Чтобы отключить автосохранение, установите для config.has_autosave значение False, не меняйте эту переменную.


define config.autosave_on_choice = True

Если принимает значение True, Ren'Py будет автоматически сохраняться при обнаружении выбора в игре. Когда вызывается renpy.choice_for_skipping.


define config.autosave_on_quit = True

Если принимает значение True, Ren'Py попытается выполнить автосохранение, когда игрок пытается выйти, вернуться в главное меню или загрузить игру поверх существующей игры. Чтобы сэкономить время, автосохранение происходит, когда игроку предлагается подтвердить своё решение.


define config.character_callback = None

Значение по умолчанию для параметра обратного вызова Character.


define config.choice_layer = "screens"

Слой, на котором отображается экран выбора, используемый оператором menu.


define config.clear_layers = []

Список имён слоёв, которые необходимо очистить при входе в главное и игровое меню.


define config.context_clear_layers = [ 'screens' ]

Список слоёв, которые очищаются при входе в новый контекст.


define config.exception_handler = None

Если принимает значение не None, должна быть функция, которая принимает три аргумента:
  • Строка, содержащая текст обратной трассировки, сокращенная таким образом, что она включает только файлы, записанные разработчиком.
  • Полный текст обратной трассировки, включая как файлы, написанные разработчиком, так и файлы Ren'Py.
  • Путь к файлу, содержащему метод обратной трассировки.
Эта функция может представить ошибку игроку в любой форме. Если она возвращает значение True, исключение игнорируется и управление передаётся следующему оператору. Если возвращает значение False, используется встроенный обработчик исключений. Эта функция также может вызывать renpy.jump() для передачи управления какой-либо другой метке.


define config.fade_music = 0.0

Количество времени в секундах, которое затрачивается на затухание старого трека перед началом нового музыкального трека. Вероятно, это должно быть довольно короткое значение, чтобы неправильная музыка не играла слишком долго.


define config.fast_skipping = False

Установите для этого параметра значение True, чтобы разрешить быстрый переход за пределы режима разработчика.


define config.file_open_callback = None

Если принимает значение не None, это функция, которая вызывается с именем файла, когда файл должен быть открыт. Она должна возвращать файлоподобный объект или значение None, чтобы загрузить файл с помощью обычных механизмов Ren'Py. Файлоподобный объект должен реализовывать по крайней мере методы read, seek, tell и close.
Можно также определить config.loadable_callback, который соответствует этому.


define config.focus_crossrange_penalty = 1024

Сумма штрафа, применяемая к перемещениям перпендикулярно выбранному направлению движения, при перемещении фокуса с клавиатуры.


define config.gl_enable = True

Установите значение False, чтобы отключить ускорение OpenGL. Ускорение OpenGL будет автоматически отключено, если будет определено, что система не может его поддерживать, поэтому обычно нет необходимости устанавливать этот параметр.
OpenGL также можно отключить, удерживая нажатой клавишу Shift при запуске.


define config.gl_resize = True

Определяет, разрешено ли игроку изменять размер окна, нарисованного OpenGL.


define config.hard_rollback_limit = 100

Число шагов, которые Ren'Py позволит игроку откатить в интерактивном режиме. Установите это значение равным 0, чтобы полностью отключить откат, хотя мы не рекомендуем этого делать, так как откат полезен, чтобы позволить пользователю увидеть текст, который он пропустил по ошибке.


define config.help = None

управляет функциональностью справочной системы, вызываемой кнопкой help в главном и игровом меню, или нажатием клавиши F1 или Command-?.
Если принимает значение None, справочная система отключена и не отображается в меню. Если строка, соответствующая метке, найдена в скрипте, эта метка вызывается в новом контексте. то позволяет определить экран помощи в игре. Иначе это интерпретируется как имя файла относительно базового каталога, который открывается в веб-браузере. Если файл не существует, действие игнорируется.


define config.hide = renpy.hide

Функция, которая вызывается при выполнении оператора hide. Должна принимать те же аргументы, что и renpy.hide.


define config.imagemap_auto_function = ...

Функция, которая расширяет свойство auto оператора imagebutton или imagemap в отображаемом элементе. Принимает значение свойства auto и желаемое изображение, одно из: "insensitive", "idle", "hover", "selected_idle", "selected_hover" или "ground". Должен возвращаться отображаемый объект или значение None.
Реализация по умолчанию форматирует свойство auto с требуемым изображением, а затем проверяет, существует ли вычисленное имя файла.


define config.keep_side_render_order = True

Если принимает значение True, порядок подстрок в позициях Side будет определять порядок отображения дочерних элементов.


define config.imagemap_cache = True

Если принимает значение True, горячие точки imagemap будут кэшироваться в файлы PNG, что сократит время и использование памяти, но увеличит размер игры на диске. Установите значение False, чтобы отключить это поведение.


define config.implicit_with_none = True

Если принимает значение True, по умолчанию эквивалент оператора with None будет выполняться после взаимодействий, вызванных диалогом, вводом меню и отображением изображениями. Гарантирует, что старые экраны не будут отображаться при переходах.


define config.interact_callbacks = ...

Список функций, которые вызываются (без каких-либо аргументов) при запуске или перезапуске взаимодействия.


define config.keep_running_transform = True

Если принимает значение True, отображение изображения без предоставления преобразования или блока ATL приведет к тому, что изображение продолжит предыдущее преобразование изображения с использованием этого тега, если таковой имеется. Если принимает значение False, преобразование останавливается.


define config.keymap = dict(...)

Переменная содержит раскладку клавиатуры, в которой указаны клавиши и кнопки мыши, назначенные для каждой возможной операции. Пожалуйста, для получения дополнительной информации смотрите раздел о раскладке клавиатуры.


define config.label_callback = None

Если принимает значение не None, это функция, которая вызывается при достижении метки. Вызывается с двумя параметрами. Первый – название метки. Вторым является значение True, если метка была достигнута путём перехода, вызова или создания нового контекста, и False в ином случае.


define config.label_overrides = { }

Переменная даёт возможность перенаправлять переходы и вызовы меток в скрипте Ren'Py на другие метки. Например, если вы добавили отображение из "start" в "mystart", все переходы и вызовы "start" перейдут к "mystart".


define config.layer_clipping = { }

Управляет отсечением слоя. Это карта от имён слоев до кортежей (x, y, height, width), где x и y-координаты верхнего левого угла слоя, а высота и ширина задают размер слоя.
Если слой не упоминается в config.layer_clipping, то предполагается, что он занимает весь экран.


define config.layers = [ 'master', 'transient', 'screens', 'overlay' ]

Переменная задаёт список всех слоев, о которых знает Ren'Py, в том порядке, в котором они будут отображаться на экране. Самый нижний слой является первой записью в списке. Ren'Py использует слои "master", "transient", "screens" и "overlay" внутри себя, поэтому они всегда должны быть в этом списке.


define config.lint_hooks = ...

Список функций, которые вызываются без аргументов при запуске lint. Предполагается, что функции проверяют данные скрипта на наличие ошибок и выводят все найденные данные на стандартный вывод (в этом случае можно использовать оператор print языка Python).


define config.load_before_transition = True

Если принимает значение True, начало взаимодействия будет отложено до тех пор, пока не будут загружены все изображения, используемые этим взаимодействием. Да, это паршивое имя.


define config.loadable_callback = None

Если принимает значение не None, функция вызывается с именем файла. Она должна вернуть значение True, если файл можно загрузить, и False, если нет. Это можно использовать с config.file_open_callback или config.missing_image_callback.


define config.log_width = 78

Ширина строк, регистрируемых при использовании config.log.


define config.longpress_duration = 0.5

Время, в течение которого игрок должен нажимать на экран, чтобы длительное нажатие было распознано на сенсорном устройстве.


define config.longpress_radius = 15

Количество пикселей, в которых должно оставаться касание, чтобы нажатие было распознано как длительное нажатие.


define config.longpress_vibrate = .1

Время, в течение которого устройство будет вибрировать после длительного нажатия.


define config.log = None

Если принимает значение не None, это должно быть имя файла. Большая часть текста, показанного игроку операторами say или menu, будет записана в этот файл.


define config.missing_image_callback = None

Если принимает значение не None, функция вызывается при неудачной попытке загрузить изображение. Он может вернуть значение None или манипулятор изображения. Если манипулятор изображения возвращается, то он загружается вместо отсутствующего изображения.
Можно также определить config.loadable_callback, особенно если это используется с DynamicImage().


define config.missing_label_callback = None

Если принимает значение не None, эта функция вызывается, когда Ren'Py пытается получить доступ к метке, которой нет в игре. Он должен возвращать имя метки, чтобы использовать в качестве замены отсутствующей метки, или значение None, чтобы Ren'Py вызывал исключение.


define config.mouse_hide_time = 30

Мышь скрывается по истечении этого количества секунд без какого-либо ввода мыши. Это должно быть установлено дольше, чем ожидаемое время, необходимое для чтения одного экрана, чтобы игроки не видели мышь, как она появляется, а затем исчезает между щелчками мыши.
Если принимает значение None, мышь никогда не будет скрыта.


define config.movie_mixer = "music"

Микшер, который используется, когда Movie() автоматически определяет канал для воспроизведения видео.


define config.new_translate_order = True

Включает новый порядок операторов style и translate, представленный в Ren'Py 6.99.11.


define config.new_substitutions = True

Если принимает значение True, Ren'Py будет применять замены в новом стиле (квадратные скобки) ко всему отображаемому тексту.


define config.old_substitutions = False

Если принимает значение True, Ren'Py будет применять замены старого стиля (в процентах) к тексту, отображаемому операторами say и menu.


define config.overlay_during_with = True

Принимает значение True, если мы хотим, чтобы наложения отображались во время операторов with, или значение False, если мы предпочитаем, чтобы они были скрыты во время операторов with.


define config.overlay_layers = [ 'overlay' ]

Список всех наложенных слоёв. Слои наложения очищаются перед вызовом функций наложения. "overlay" всегда должно быть в этом списке.


define config.per_frame_screens = [ ... ]

Это список строк, задающий название экранов, которые обновляются один раз за кадр, а не один раз за взаимодействие. Ren'Py использует это внутренне, поэтому, если вы добавляете экран, добавьте имя, а не замените список полностью.


define config.periodic_callback = None

Если принимает значение не None, это должна быть функция. Функция вызывается без аргументов при частоте около 20 Гц.


define config.play_channel = "audio"

Название звукового канала используется renpy.play(), hover_sound и activate_sound.


define config.predict_statements = 10

Число операторов, включая текущий, которые следует учитывать при выполнении прогностической загрузки изображений. Поиск по ширине от текущего оператора выполняется до тех пор, пока не будет учтено это число операторов, и любое изображение, на которое ссылаются в этих операторах, потенциально предиктивно загружается. Установка этого значения в 0 отключит прогностическую загрузку изображений.


define config.profile = False

Если установлено значение True, некоторая информация о профилировании будет выводиться в стандартный вывод.


define config.quit_on_mobile_background = False

Если принимает значение True, мобильное приложение завершит работу, когда оно потеряет фокус.


define config.rollback_enabled = True

Следует ли разрешить игроку откатить игру? Если установлено значение False, игрок не может выполнить откат в интерактивном режиме.


define config.rollback_length = 128

Когда в журнале отката будет больше, чем это число операторов, Ren'Py рассмотрит возможность обрезки журнала. Это также покрывает, сколько шагов Ren'Py будет откатывать при попытке загрузить сохранение после изменения скрипта.
Уменьшение этого значения ниже значения по умолчанию может привести к нестабильной работе Ren'Py.


define config.rollback_side_size = .2

Если сторона отката включена, часть экрана на стороне отката, которая при нажатии или прикосновении вызывает откат.


define config.say_allow_dismiss = None

Если принимает значение не None, это должна быть функция. Функция вызывается без аргументов, когда игрок пытается отклонить оператор say. Если эта функция возвращает значение True, то разрешено отклонение, иначе оно игнорируется.


define config.say_layer = "screens"

Слой, на котором отображается экран say.


define config.say_menu_text_filter = None

Если принимает значение не None, функция, которая получает текст, найденный в строках в операторах say и menu. Ожидается, что он вернёт новые (или те же самые) строки для их замены.


define config.say_sustain_callbacks = ...

Список функций, которые вызываются без аргументов перед вторым и последующими взаимодействиями, вызванными строкой диалога с паузами в ней. Используется для поддержания голоса через паузы.


define config.save_dump = False

Если установлено значение True, Ren'Py создаст файл save_dump.txt при каждом сохранении игры. Этот файл содержит информацию об объектах, содержащихся в файле сохранения. Каждая строка содержит оценку относительного размера, путь к объекту, информацию о том, является ли объект псевдонимом, и представление объекта.


define config.save_on_mobile_background = True

Если принимает значение True, мобильное приложение сохранит своё состояние, когда оно потеряет фокус. Состояние сохраняется таким образом, что оно автоматически загружается (и игра возвращается на свое место) при повторном запуске приложения.


define config.save_physical_size = True

Если принимает значение True, физический размер окна будет сохранен в настройках и восстановлен при возобновлении игры.


define config.savedir = ...

Полный путь к каталогу, в котором сохранена игра. Это должно быть установлено только в блоке python early. Смотрите также config.save_directory, который генерирует значение по умолчанию для этого, если оно не задано во время блока python early.


define config.scene = renpy.scene

Функция, которая используется вместо renpy.scene оператором scene. Обратите внимание, что это используется для очистки экрана, а config.show используется для отображения нового изображения. Это должно иметь ту же подпись, что и renpy.scene.


define config.screenshot_callback = ...

Функция, которая вызывается при создании скриншота. Функция вызывается с одним параметром, полным именем файла, в котором был сохранён снимок экрана.


define config.screenshot_crop = None

Если принимает значение не None, это должен быть кортеж (x, y, высота, ширина). Скриншоты обрезаются до этого прямоугольника перед сохранением.


define config.screenshot_pattern = "screenshot%04d.png"

Шаблон, используемый для создания файлов скриншотов. Этот шаблон применяется (используя правила %-форматирования Python) к натуральным числам для создания последовательности имён файлов. Имена файлов могут быть абсолютными или относительными по отношению к config.renpy_base. В качестве имени скриншота используется первое несуществующее имя файла.
Каталоги создаются, если они не существуют.
См. также _screenshot_pattern, которая используется вместо этой переменной, если она принимает значение не None.


define config.script_version = None

Если принимает значение не None, интерпретируется как версия скрипта. Библиотека будет использовать эту версию скрипта для включения некоторых функций совместимости, если это необходимо. Если принимает значение None, мы предполагаем, что это скрипт последней версии.
Обычно это устанавливается в файле, добавляемом Ren'Py Launcher при сборке дистрибутивов.


define config.searchpath = [ 'common', 'game' ]

Список каталогов, в которых выполняется поиск изображений, музыки, архивов и других носителей, но не скриптов. Это инициализируется в список, содержащий "common" и имя каталога игры.


define config.search_prefixes = [ "", "images/" ]

Список префиксов, добавляемых к именам файлов, для которых выполняется поиск.


define config.show = renpy.show

Функция, которая используется вместо renpy.show в операторах show и scene. Здесь должна быть та же подпись, что и у renpy.show.


define config.skip_delay = 75

Время, в течение которого будет отображаться диалог при пропуске операторов с помощью Ctrl, в миллисекундах. Хотя это далеко не так точно на практике.


define config.skip_indicator = True

Если принимает значение True, библиотека будет отображать индикатор пропуска при пропуске скрипта.


define config.sound = True

Если принимает значение True, звук работает. Если False, подсистема звука/микшера полностью отключена.


define config.sound_sample_rate = 48000

Частота дискретизации, на которой будет работать звуковая карта. Если все ваши файлы wav имеют более низкую скорость, изменение этого значения может сделать вещи более эффективными.


define config.start_callbacks = [ ... ]

Список функций обратного вызова, которые вызываются без аргументов после фазы инициализации, но до начала игры (включая заставку). Это предназначено для использования фреймворками для инициализации переменных, которые будут сохранены.
Значение по умолчанию для этой переменной включает обратные вызовы, которые Ren'Py использует внутренне для реализации таких функций, как Nvl-режим. Новые обратные вызовы могут быть добавлены в этот список, но существующие обратные вызовы не должны быть удалены.


define config.start_interact_callbacks = ...

Список функций, которые вызываются (без каких-либо аргументов) при запуске взаимодействия. Эти обратные вызовы не вызываются при перезапуске взаимодействия.


define config.top_layers = [ ]

Это список имён слоёв, которые отображаются над всеми другими слоями и не участвуют в переходе, применяемом ко всем слоям. Если здесь указано имя слоя, оно не должно быть указано в config.layers.


define config.transient_layers = [ 'transient' ]

Эта переменная задаёт список всех переходных слоёв. Переходные слои – слои, которые очищаются после каждого взаимодействия. "transient" всегда должно быть в этом списке.


define config.transform_uses_child_position = True

Если принимает значение True, преобразования наследуют свойства позиции от своего дочернего элемента. Если нет, они не будут.


define config.transition_screens = True

Если принимает значение True, экраны будут участвовать в переходах, растворяясь из старого состояния экрана в новое состояние экрана. Если принимает значение False, будет отображаться только последнее состояние экрана.


define config.translate_clean_stores = [ "gui" ]

Список именованных хранилищ, которые очищаются до своего состояния в конце фазы инициализации при изменении языка перевода.


define config.variants = [ ... ]

Список вариантов экрана, поиск которых выполняется при выборе экрана для отображения игроку. Это всегда должно заканчиваться None, чтобы обеспечить выбор экранов по умолчанию. Смотрите раздел «Варианты экрана».


define config.voice_filename_format = "{filename}"

Строка, отформатированная с помощью аргумента строки в операторе voice для создания имени файла, который воспроизводится игроку. Например, если это "{filename}.ogg", оператор voice "test" будет воспроизводить test.ogg.


define config.with_callback = None

Если принимает значение не None, это должна быть функция, вызываемая при выполнении оператора with. Эта функция может быть ответственна за отображение переходных объектов на экране во время перехода. Функция вызывается с одним аргументом, который является переходом, который происходит. Ожидается, что он вернёт переход, который может быть или не быть переходом, предоставленным в качестве аргумента.

Сборщик мусора (Garbage Collection)[править | править код]

Эти переменные позволяют настроить сборщик мусора (далее - GC) языка Python и управление Ren'Py сборщиком мусора Python.


define config.manage_gc = True

Если принимает значение True, Ren'Py будет управлять GC сам. Это означает, что он будет применять следующие настройки.


define config.gc_thresholds = (25000, 10, 10)

Граничные значения GC, которые Ren'Py использует, когда не находится в режиме ожидания. Они предназначены для обеспечения того, чтобы сборка мусора не происходила. Эти три числа таковы:
  • Чистое количество объектов, которые должны быть выделены перед коллекцией уровня 0.
  • Количество коллекций уровня 0, запускающих коллекцию уровня 1.
  • Количество коллекций уровня 1, запускающих коллекцию уровня 2.
(Коллекции уровня 0 должны быть достаточно быстрыми, чтобы не вызвать падение фрейма, коллекции уровня 1 могут, коллекции уровня 2 будут.)


define config.idle_gc_count = 2500

Чистое количество объектов, запускающих коллекцию, когда Ren'Py достиг устойчивого состояния (четвертый кадр или позже после обновления экрана).


define config.gc_print_unreachable = False

Если принимает значение True, Ren'Py выведет на консоль и запишет информацию об объектах, запускающих коллекции.

Источник[править | править код]

Статья "Configuration Variables" на английском языке.


На главную страницу Официальная документация движка Вернуться к началу статьи