====== Игровые классы ====== ===== 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 | Вызывается при возникновении события, на которое подписался модуль |