arzmobfrontend.lua © ospxdev | Скачать

Модуль предназначен для взаимодействия с Arizona Mobile java-интерфейсами, включая отправку данных, обработку сообщений, и регистрацию событий.

Содержание


Функции

mod.sendInterfaceState(interfaceid, state)

Отправляет состояние интерфейса.

  • Параметры:
    • interfaceid (number): ID интерфейса.
    • state (boolean): Состояние (true/false).

mod.sendFrontendClick(interfaceid, id, subid, data)

Отправляет данные о нажатии на элемент интерфейса.

  • Параметры:
    • interfaceid (number): ID интерфейса.
    • id (number): ID элемента.
    • subid (number): Дополнительный ID элемента.
    • data (string): Дополнительные данные.

mod.sendInteraction()

Отправляет предопределенное взаимодействие (жестко закодированные параметры).


mod.onFrontendMessage(interfaceid, subid, data)

Обрабатывает полученные сообщения от фронтенда (заглушка для переопределения).

  • Параметры:
    • interfaceid (number): ID интерфейса.
    • subid (number): Подидентификатор сообщения.
    • data (string): Полученные данные.

mod.onToggleInterface(interfaceid, state)

Обрабатывает изменения состояния интерфейса (заглушка для переопределения).

  • Параметры:
    • interfaceid (number): ID интерфейса.Регистрирует обработчик для интерфейса с ID 8. Middleware преобразует входящие данные в JSON. При получении сообщения с subid = 15, логирует текст (json.text) и заголовок (json.title) взаимодействия.
    • state (boolean): Состояние (включено/выключено).

mod.onlyJsonMiddleware(interfaceid, subid, data)

Middleware для декодирования JSON строк.

  • Параметры:
    • interfaceid (number): ID интерфейса.
    • subid (number): Подидентификатор сообщения.
    • data (string): Данные в формате строки.
  • Возвращает: Декодированный JSON или false при ошибке.

Middleware

Middleware - это функции, которые обрабатывают данные перед тем, как они попадут в обработчики событий. Они позволяют преобразовывать данные, выполнять валидацию, или даже прерывать обработку. Middleware функции принимают interfaceid, subid и data в качестве аргументов и должны возвращать модифицированные данные или false для остановки обработки.


mod.on(id)

Создает цепочку событий для указанного интерфейса.

  • Параметры:
    • id (number): ID интерфейса.
  • Возвращает: Объект цепочки событий.

Методы цепочек событий

chain:msg_middleware(cb)

Добавляет middleware для frontend_message в цепочку.

  • Параметры:
    • cb (function): Функция middleware, принимающая interfaceid, subid, data.
  • Возвращает: Саму цепочку.

chain:frontend_message(cb, subid)

Регистрирует колбэк для обработки сообщений фронтенда.

  • Параметры:
    • cb (function): Колбэк, принимающий interfaceid, subid, data.
    • subid (number | nil): Опциональный подидентификатор.
  • Возвращает: Саму цепочку.

chain:toggle(cb)

Регистрирует колбэк для обработки событий переключения интерфейса.

  • Параметры:
    • cb (function): Колбэк, принимающий interfaceid, state.
  • Возвращает: Саму цепочку.

Пример

1
2
3
4
5
arzmobfrontend.on(8)
    :msg_middleware(arzmobfrontend.onlyJsonMiddleware)
    :frontend_message(function(interfaceid, subid, json)
        print(string.format("Взаимодействие: %s, title: %s", json.text, json.title))
    end, 15) --   слушаем только 15 subid

Регистрирует обработчик для интерфейса с ID 8 (HUD). Middleware преобразует входящие данные в JSON. При получении сообщения с subid = 15(взаимодействие), логирует текст (json.text) и заголовок (json.title) взаимодействия.

Может быть использовано для кастомной кнопки взаимодействия, как реализован ActionButton.


Полезные ресурсы

Edit

Pub: 22 Jan 2025 15:13 UTC

Edit: 22 Jan 2025 15:20 UTC

Views: 83