====== Игровые классы ======
===== 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) | Как обрезать изображение |
**Пример**
KTCharInventoryPreview(
char_name="hinata",
layers=[
("base", "default"),
("eyes", "default"),
("mouth", "default"),
("costume", "my_custom_costume"),
],
crop=(0, 336, 600, 600),
)
Чтобы для каждого предмета на писать полный список слоёв, есть заранее составленные списки, которые можно использовать.
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')
]
Пример использования списка.
KTCharInventoryPreview(
char_name="hinata",
layers=hinata_preview_layers + [("costume", "my_custom_costume")],
crop=(0, 336, 600, 600),
)
Так же есть заранее определённые варианты обрезки превью.
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)
===== Module =====
Модуль для взаимодействия с игрой.
^ Статические параметры ^ Тип ^ Описание ^
| id | string | id модуля. Должно быть уникальным. |
| subscribe_on_events | string[] | Список событий, на которые следует подписать модуль. См. [[ru:mods:events|Список событий]] |
^ Название функции ^ Аргументы ^ Описание ^
| on_init | | Вызывается 1 раз при старте игры (новой или загрузке сохранения) |
| on_event | event | Вызывается при возникновении события, на которое подписался модуль |