Перейти к основному содержимому

MFD

MFD - это многофункциональный дисплей, который содержит в себе кнопки.


Структуры

ButtonData

Эта структура содержит всю информацию о кнопке.

Поля

  • id [ integer ] ID кнопки.
  • state [ integer ] Состояние кнопки. 1 - нажата, 2 - удерживается, 3 - отпущена.
  • bool [ boolean ] True, если кнопка нажата, false, если не нажата.
  • holdDuration [ integer ] Длительность удержания в тиках.
  • holdTimeout [ integer ] Через сколько тиков состояние кнопки сменится на 2.

Функции

getMFDs

sc.getMFDs()

Получает все подключенные к компьютеру MFD.

Возвращает:

  • [ MFD[] ] Таблица всех подключенных MFD.

getButtonState

MFD.getButtonState( id )

Получает информацию о кнопке по её ID.

Аргументы:

  • id [ integer ] ID кнопки.

Возвращает:

  • [ ButtonData ] Таблица с данными о кнопке.

getAllPressedButtons

Получает список всех нажатых кнопок на MFD и информацию о них.

MFD.getAllPressedButtons()

Возвращает:

  • [ ButtonData[] ] Таблица нажатых кнопок и их данные.

getButtonsAmount

MFD.getButtonsAmount()

Получает количество кнопок на MFD.

Возвращает:

  • [ integer ] Количество кнопок.

setHoldTimeout

setHoldTimeout( id, ticks )

Устанавливает holdTimeout для определённой/всех кнопок.

Аргументы:

  • id [ number ] ID кнопки (-1 для всех кнопок).
  • ticks [ number ] Количество тиков.

Пример

MyScript.lua
-- Получаем MFD компонент
local MFD = sc.getMFDs()[1]

function onLoad()
-- Ставим holdTimeout 15 тиков для всех кнопок
MFD.setHoldTimeout(-1, 15)
end

function onUpdate()
-- Получаем данные о первой кнопке
local button = MFD.getButtonState(1)
print(button)
end