Расскажу я о прекрасной модуле ShipAPI из аддона CC:VS. Если вам это ничего не говорит - аддон позволяет компьютерам гибко взаимодействовать с кораблями любых типов. Начну пожалуй со считывания координат, т.к. с ними я разобрался пока лучше всего.
Пояснялка:
Хеш-таблица - набор данных, где каждый объект имеет ключ в виде слова или последовательности символов. На пример есть таблица координат, в ней хеш-ключи x, y и z, значит что-бы вычленить из таблицы нужную координату нужно вызвать её индекс - таблица["ключ"], или же coords["x"], что-бы получить корду X из текущих данных
while true do --бесконечный цикл для постоянного опроса
coords = ship.getWorldspacePosition() --получение хеш-таблицы координат
print(string.format("X - %.2f", coords["x"])) --получение координат по хешу
print(string.format("Y - %.2f", coords["y"]))
print(string.format("Z - %.2f", coords["z"]))
monitor.write("-----------"
sleep(1) --ожидание 1 секунда
end
Это был рабочий скрипт отображения координат на конструкции VS. Обратите внимание, что он отображает координаты не компа, а центра конструкции, и даже не центра тяжести.
Теперь вариант для отображения на прикрепленный дисплей:
monitor = peripheral.find("monitor"
while true do
coords = ship.getWorldspacePosition()
monitor.setCursorPos(1, 1)
monitor.write("-----------"
monitor.setCursorPos(1, 2)
monitor.write(string.format("X - %.0f", coords["x"]))
monitor.setCursorPos(1, 3)
monitor.write(string.format("Y - %.0f", coords["y"]))
monitor.setCursorPos(1, 4)
monitor.write(string.format("Z - %.0f", coords["z"]))
monitor.setCursorPos(1, 5)
monitor.write("-----------"
sleep(1) --ожидание 1 секунда
end
В ожидании Aeronaftics на Astra)