🦊 FoxWiki

Кастомные API курса

В процессе прохождения курса мы используем не только стандартные команды языка Lua, но и специальные библиотеки (API), написанные специально для наших космических, неоновых и марсианских приключений.

Если ты случайно удалил нужный файл или он повредился, ты всегда можешь скачать его заново с помощью команды pastebin get <код> <имя_файла>.

Ниже приведена полная документация по каждому кастомному модулю.


1. Редактор Анимаций (Editor)

Продвинутая программа для создания покадровой пиксельной графики. Используется в модуле Нео-Киото.

Команда для установки:

pastebin get T0EkyM4T editor

Как пользоваться:

  1. Напиши editor и нажми Enter.
  2. Введи имя проекта (например, show).
  3. Рисуй кадры!

Горячие клавиши редактора:

  • 1-7 — Инструменты (Карандаш, Заливка, Ластик и т.д.)
  • Стрелка Вправо / Влево — Следующий / Предыдущий кадр.
  • C (Copy) — Скопировать ВЕСЬ рисунок из прошлого кадра в текущий.
  • O (Onion Skin) — Включить "Луковую шелуху" (подсветку бледным контуром прошлого кадра).
  • WASD — Сдвинуть рисунок (вверх, вниз, влево, вправо).
  • R (Run) — Запустить просмотр анимации.
  • E (Edit Config) — Открыть файл настроек config.lua для изменения скорости, зацикливания или вывода на внешний монитор.

Пример конфигурации (config.lua):

Редактор Lua
1
2
3
4
5
6
7
8
9
10
11
12
13
14

2. Графический Движок (Engine / GUI)

Библиотека для быстрого создания красивых меню и кнопок на сенсорных экранах. Избавляет от необходимости вручную прописывать координаты для каждого клика.

Команды для установки:

pastebin get iZj3qC37 engine

Дополнительные файлы фестиваля из урока 27:

  • Фейерверк: pastebin get yp86rTcn firework
  • Музыка: pastebin get P04ja4UM music

Основные методы Engine:

Редактор Lua
1
МетодОписаниеАргументы
gui.init(side, scale, bg)Подключает монитор, ставит масштаб и заливает фон.side (сторона), scale (масштаб), bg (цвет фона)
gui.add(text, y, color, action, [opts])Создает сенсорную кнопку. Если x не указан в opts, центрирует её.text, y, color, action, {opts}
gui.run()Отрисовывает весь интерфейс и запускает бесконечный цикл отслеживания кликов.

Параметр Action (Действие кнопки):

  • Если передана сторона ("left", "back" и т.д.), подается редстоун-сигнал.
  • Если передана функция function() ... end, она выполнится.
  • Если передан текст ("music", "show"), движок запустит файл с таким именем через shell.run.

Пример использования (Пульт управления):

Редактор Lua
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

3. Навигационная Система (Nav API)

Движок (Backend) для создания P2P-радаров и компасов с распределенной синхронизацией базы данных по радиоэфиру.

Команда для установки:

pastebin get C5nkzGbN nav

Основные методы Nav:

Редактор Lua
1
МетодОписание
nav.init(username, color)Настраивает навигатор: имя пилота и цветовой акцент интерфейса. Открывает задний модем.
nav.addBtn(id, text)Добавляет кнопку в графическое меню компаса.
nav.listen()Запускает асинхронный слушатель. Ждет клика по экрану ИЛИ перехватывает радиопакеты с новыми метками на фоне. Возвращает id нажатой кнопки.
nav.actionMark()Процесс создания новой метки по текущим GPS координатам игрока.
nav.showDB()Открывает список всех меток (База Данных).
nav.actionRadar()Включает визуальный компас со стрелочками до цели.
nav.exitApp()Выключает программу и очищает экран.

Пример использования (Приложение Навигатора):

Редактор Lua
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28

4. Таймлайн Фейерверков (FW API)

Продвинутая пиротехническая библиотека, работающая по принципу временной шкалы (хореографии), позволяя наслаивать эффекты друг на друга.

Команда для установки:

pastebin get WBM9ZSFD fw_api

Основные методы FW API:

Редактор Lua
1
КомандаОписание
fw.init(skyHeight, groundOffset)Настраивает высоты шоу. Базовый вариант: fw.init(50, 10)
fw.play(loops)Главная команда запуска. loops — количество повторов всего шоу.

Функции Эффектов (Принимают (time, color)): Аргументы всегда одинаковые: секунда запуска (time) и цвет ("red", "random", "white", и т.д.).

  • fw.arena_columns / fw.fountain / fw.wave / fw.fan / fw.rain — Наземные эффекты.
  • fw.sphere / fw.cube / fw.pyramid / fw.dna / fw.hourglass — Геометрия.
  • fw.laser / fw.blackhole / fw.galaxy / fw.vortex / fw.rainbow_ring — Гранд-финал и космос.

Пример: fw.sphere(25, "random") — взорвет сферу случайного цвета ровно на 25-й секунде шоу.

Пример использования (Хореография шоу):

Редактор Lua
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
НазадУсловия
ДалееОшибки