Обзор модулей
Модуль — это программа на Lua, которая выполняется внутри KILLSCRIPT и использует игровое API. Модуль может добавить HUD, изменить отображение информации, обработать ввод или реализовать собственную игровую логику.
Пользовательские модули находятся в папке Modules в корне игры:
KILLSCRIPT Pre-Alpha/└── Modules/ └── MyModule/Обычный модуль и Reflex
Заголовок раздела «Обычный модуль и Reflex»| Обычный модуль | Reflex-модуль | |
|---|---|---|
| Клиентский код | scripts/main.lua |
scripts/main.lua |
| Серверный код | — | scripts/server.lua |
| Основное назначение | HUD, интерфейс, камера, локальные эффекты | Логика, которой нужен серверный контекст |
| Одновременный запуск | Несколько модулей | Только один активный Reflex-модуль |
Для первого проекта выбирайте обычный модуль. Reflex нужен только тогда, когда часть логики действительно должна выполняться на сервере. Клиентская и серверная части имеют разные наборы API — доступность каждого метода указана в справочнике.
Папка и файл .KillScript
Заголовок раздела «Папка и файл .KillScript»KILLSCRIPT поддерживает два представления модуля:
- папка — редактируемый исходный проект в
Modules/MyModule/; .KillScript— готовый однофайловый пакет для импорта и распространения.
.KillScript не является отдельным Lua-скриптом и его не нужно создавать вместо папки проекта. Во время разработки работайте с папкой, а скачанный .KillScript добавляйте через Import.
Что понадобится
Заголовок раздела «Что понадобится»- установленная KILLSCRIPT;
- любой текстовый редактор;
- базовое понимание Lua-таблиц, функций и условий.
Удобнее всего использовать Visual Studio Code с поддержкой Lua. При создании папочного модуля игра добавляет настройки рабочего пространства для API из директории ModuleAPI.
Рекомендуемый порядок
Заголовок раздела «Рекомендуемый порядок»- Создайте первый модуль и убедитесь, что видите его лог и текст на экране.
- Изучите структуру модуля.
- Настройте удобный цикл разработки и отладки.
- Используйте справочник API при написании функциональности.
- Разберитесь с импортом и пакетами, когда понадобится установить или передать готовый модуль.