Инструменты пользователя

Инструменты сайта


ru:mods:classes

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
ru:mods:classes [2021/07/16 15:42] – [Outfit] superuserru:mods:classes [2024/01/06 14:58] (текущий) – [Module] superuser
Строка 1: Строка 1:
 +====== Игровые классы ======
 +===== Item =====
 +Предмет для инвентаря.
  
 +^ Параметр   ^ Тип         ^ Описание ^
 +| name       | string      | Название предмета. Должно быть уникальным |
 +| cost       | number      | Цена предмета |
 +| descr      | string      | Описание предмета |
 +| icon       | string / [[#KTCharInventoryPreview|KTCharInventoryPreview]] | Иконка предмета |
 +| trade      | boolean     | Можно ли обменивать предмет |
 +| buy        | boolean     | Можно ли продавать/покупать предмет |
 +| hidden     | boolean     | Если ''True'', то название и описание заменяется на ''???'' |
 +| shop       | "tenten" / "shady" | В каком магазине продаётся предмет |
 +| ptr        | boolean     | Если ''True'', то предмет только для патронов |
 +
 +===== Outfit =====
 +Предмет для инвентаря + элемент одежды для персонажа.
 +
 +Параметры такие же как у [[#Item|Item]], плюс еще
 +
 +^ Параметр   ^ Тип         ^ Описание ^
 +| char       | "Ino" / "Sakura" / "Hinata" | Имя персонажа, для которого предмет |
 +| layer      | string      | Название слоя, на котором размещать изображение одежды. Так же это название папки, в которой лежит изображение. |
 +| val        | string      | Название изображения без расширения .webp, которое находится в папке ''layer'' |
 +| lust       | number      | Какой уровень разврата необходим, чтобы носить предмет |
 +
 +===== KTCharInventoryPreview =====
 +Иконка предмета с одеждой.
 +
 +^ Параметр   ^ Тип         ^ Описание ^
 +| char_name  | string      | Имя персонажа, для которого предмет |
 +| layers     | (string, string)[] | Список слоёв, которые накладываются поверх персонажа |
 +| crop       | (number, number, number, number) | Как обрезать изображение |
 +
 +**Пример**
 +<code python>
 +KTCharInventoryPreview(
 +  char_name="hinata",
 +  layers=[
 +    ("base", "default"),
 +    ("eyes", "default"),
 +    ("mouth", "default"),
 +    ("costume", "my_custom_costume"),
 +  ],
 +  crop=(0, 336, 600, 600),
 +)
 +</code>
 +
 +Чтобы для каждого предмета на писать полный список слоёв, есть заранее составленные списки, которые можно использовать.
 +
 +<code python>
 +ino_preview_nude_layers = [
 +    ('base', 'default'),
 +    ('boobs', 'default'),
 +    ('left_hand', 'default'),
 +    ('right_hand', 'default'),
 +    ('eyes', 'default'),
 +    ('mouth', 'default')
 +]
 +
 +ino_preview_layers = ino_preview_nude_layers + [
 +    ('bra', 'default'),
 +    ('panties', 'default'),
 +]
 +
 +sakura_preview_layers = [
 +    ('base', 'default'),
 +    ('boobs', 'default'),
 +    ('left_hand', 'naked'),
 +    ('right_hand', 'naked'),
 +    ('eyes', 'default'),
 +    ('mouth', 'default'),
 +]
 +
 +hinata_preview_layers = [
 +    ('base', 'default'),
 +    ('eyes', 'default'),
 +    ('mouth', 'default')
 +]
 +</code>
 +
 +Пример использования списка.
 +<code python>
 +KTCharInventoryPreview(
 +  char_name="hinata",
 +  layers=hinata_preview_layers + [("costume", "my_custom_costume")],
 +  crop=(0, 336, 600, 600),
 +)
 +</code>
 +
 +Так же есть заранее определённые варианты обрезки превью.
 +<code python>
 +ino_top_inv_preview = (149, 329, 303, 303)
 +ino_bottom_inv_preview = (149, 668, 303, 303)
 +ino_costume_inv_preview = (0, 336, 600, 600)
 +
 +ino_face_inv_preview = (149, 130, 303, 303)
 +hinata_face_inv_preview = (149, 100, 303, 303)
 +sakura_face_inv_preview = (180, 170, 303, 303)
 +
 +sakura_top_inv_preview = (180, 350, 303, 303)
 +</code>
 +
 +===== Module =====
 +Модуль для взаимодействия с игрой.
 +
 +^ Статические параметры ^ Тип    ^ Описание ^
 +| id                  | string | id модуля. Должно быть уникальным. |
 +| subscribe_on_events | string[] | Список событий, на которые следует подписать модуль. См. [[ru:mods:events|Список событий]] |
 +
 +^ Название функции   ^ Аргументы    ^ Описание ^
 +| on_init     | | Вызывается 1 раз при старте игры (новой или загрузке сохранения) |
 +| on_event    | event | Вызывается при возникновении события, на которое подписался модуль |
ru/mods/classes.txt · Последнее изменение: 2024/01/06 14:58 — superuser