ru:mods
Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слеваПредыдущая версия | |||
ru:mods [2024/01/06 15:01] – [Список источников] superuser | ru:mods [2024/01/06 15:01] (текущий) – [Список источников] superuser | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | ====== Моды ====== | ||
+ | Моды вносят различные изменения в игру. Например, | ||
+ | |||
+ | Официальные моды можно найти в самой игре. В главном меню сверху есть вкладка **Моды**. | ||
+ | |||
+ | ===== Источники ===== | ||
+ | |||
+ | По-умолчанию у вас должно быть 3 источника модов: **Локальные моды**, **Моды для патронов** и **Official**. | ||
+ | * Локальные моды - Это моды, которые уже установлены | ||
+ | * Моды для патронов - Официальные источник модов, доступный только патронам. | ||
+ | * Official - Официальный источник модов, доступный всем. | ||
+ | |||
+ | ==== Список источников ==== | ||
+ | |||
+ | * Официальные моды: http:// | ||
+ | * Переводы игры: http:// | ||
+ | * Моды для разработчиков модов: https:// | ||
+ | |||
+ | |||
+ | [[ru: | ||
+ | |||
+ | ===== Моды ===== | ||
+ | |||
+ | ==== Как установить официальный мод ==== | ||
+ | |||
+ | - Зайдите в игру | ||
+ | - Сверху выберите вкладку **Моды** | ||
+ | - Выберите источник модов. Например, | ||
+ | - Выберите мод. | ||
+ | - Нажмите кнопку **Установить**. | ||
+ | - Перезагрузите игру. | ||
+ | |||
+ | ==== Как установить сторонний мод ==== | ||
+ | - Распакуйте архив с модом в папку с модами. См. [[# | ||
+ | |||
+ | ==== Где хранятся моды ==== | ||
+ | По-умолчанию, | ||
+ | |||
+ | Так же в настройках игры, если пролистать в самый низ, можно указать другой путь до папки с модами. | ||
+ | |||
+ | ==== Как отключить мод ==== | ||
+ | - Откройте главное меню. | ||
+ | - Выберите источник **Локальные моды**. | ||
+ | - Выберите мод. | ||
+ | - Нажмите **Отключить**. | ||
+ | |||
+ | ------- | ||
+ | |||
+ | Каждый мод должен находится в отдельной папке, которая называется так же, как и id мода. | ||
+ | |||
+ | В папке мода должен быть файл '' | ||
+ | |||
+ | === Пример === | ||
+ | |||
+ | <code javascript> | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | ==== Скрипты ==== | ||
+ | Файлы с кодом должны иметь формат **.rpym**, либо **.rpymc**. Это тоже самое, что и **.rpy** и **.rpyc**. Не знаете про .rpy и .rpyc? Смотрите [[https:// | ||
+ | |||
+ | Вы пишите код мода в файлах .rpym, при запуске игры они будут скомпилированы в .rpymc. | ||
+ | |||
+ | Файлы могут лежать просто в папке, либо в **.rpa** архиве. | ||
+ | |||
+ | ==== Как заменить изображение из игры ==== | ||
+ | |||
+ | Для этого необходимо в '' | ||
+ | В этом параметре указывается список папок, файлы из которых будут распознаваться игрой, как будто они были | ||
+ | |||
+ | Чтобы изменить изображение в игре, нужно знать расположение оригинального изображения. В папке, указанной в параметре '' | ||
+ | |||
+ | === Пример === | ||
+ | |||
+ | Простой мод, который заменяет фон комнаты, | ||
+ | |||
+ | Оригинальный фон хранится по такому пути: | ||
+ | < | ||
+ | images/ | ||
+ | </ | ||
+ | |||
+ | Структура папок мода: | ||
+ | < | ||
+ | mods | ||
+ | └───mod-id | ||
+ | │ | ||
+ | │ | ||
+ | │ | ||
+ | │ | ||
+ | │ | ||
+ | |||
+ | </ | ||
+ | |||
+ | Где '' | ||
+ | |||
+ | Содержимое файла '' | ||
+ | <code javascript> | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | Это всё, что нужно, чтобы заменить изображение. | ||
+ | |||
+ | ==== Как взаимодействовать с игровыми событиями ==== | ||
+ | Для этого необходимо создать класс (в файле **.rpym**), наследующий класс '' | ||
+ | |||
+ | Например, | ||
+ | <code python> | ||
+ | init python: | ||
+ | # У каждого модуля должно быть уникальное название и id | ||
+ | class DemoModule(Module): | ||
+ | id=" | ||
+ | subscribe_on_events=[" | ||
+ | |||
+ | def on_event(self, | ||
+ | if event.type == " | ||
+ | if event.is_morning: | ||
+ | renpy.notify(" | ||
+ | elif event.is_evening: | ||
+ | renpy.notify(" | ||
+ | elif event.type == " | ||
+ | renpy.notify(" | ||
+ | |||
+ | </ | ||
+ | |||
+ | ==== Как добавить предмет в магазин ==== | ||
+ | Для этого, нужно создать переменную от класса [[ru: | ||
+ | |||
+ | * Желательно, | ||
+ | * Название предмета должно быть уникальным и не должно повторятся. | ||
+ | |||
+ | === Примеры === | ||
+ | |||
+ | Добавление обычного предмета в магазин Тен-Тен. | ||
+ | |||
+ | <code python> | ||
+ | init python: | ||
+ | item_pen = Item( | ||
+ | name=__(" | ||
+ | cost=5, | ||
+ | icon=" | ||
+ | descr=__(" | ||
+ | shop=" | ||
+ | ) | ||
+ | </ | ||
+ | |||
+ | Добавление одежды в магазин Тен-Тен. | ||
+ | |||
+ | <code python> | ||
+ | init python: | ||
+ | item_ino_my_new_costume = Outfit( | ||
+ | name=__(" | ||
+ | cost=100, | ||
+ | descr=__(" | ||
+ | char=" | ||
+ | lust=10, | ||
+ | layer=" | ||
+ | val=" | ||
+ | shop=" | ||
+ | ptr=False, | ||
+ | icon=KTCharInventoryPreview( | ||
+ | char_name=" | ||
+ | layers=ino_preview_layers + [(" | ||
+ | crop=ino_costume_inv_preview | ||
+ | ), | ||
+ | ) | ||
+ | </ | ||
+ | |||
+ | Структура папок мода: | ||
+ | < | ||
+ | mods | ||
+ | └───mod-id | ||
+ | │ | ||
+ | │ | ||
+ | │ | ||
+ | │ | ||
+ | │ | ||
+ | │ | ||
+ | │ | ||
+ | │ | ||
+ | |||
+ | </ | ||
+ | |||
+ | При таком подходе предмет будет в магазине, | ||
+ | |||
+ | Получится что-то вроде такого: | ||
+ | <code python> | ||
+ | def on_event(self, | ||
+ | if event.type == " | ||
+ | inv_shop.add(item_my_item) | ||
+ | </ | ||
+ | |||
+ | ===== Игровые переменные ===== | ||
+ | ==== Время суток ==== | ||
+ | <code python> | ||
+ | if game.time.is_morning: | ||
+ | " | ||
+ | elif game.time.is_evening: | ||
+ | " | ||
+ | |||
+ | $ game.time.set_morning() | ||
+ | " | ||
+ | $ game.time.set_evening() | ||
+ | " | ||
+ | |||
+ | $ game.time.next_cycle() | ||
+ | " | ||
+ | |||
+ | $ game.time.next_day() | ||
+ | " | ||
+ | |||
+ | $ game.time.skip_days(10) | ||
+ | " | ||
+ | </ |
ru/mods.txt · Последнее изменение: 2024/01/06 15:01 — superuser