Перейти к содержимому
  • 0
TayFox

Удаленное управление

Вопрос

Здравствуйте, я начинающий программист в ComputerCraft. Подскажите пожалуйста, как можно используя RedNet сеть, с помощью планшета и черепашки сделать так, что бы я с планшета мог использовать терминал черепашки. Например с планшета, мог подключиться к черепашке и использовать ее интерфейс, как будто я взаимодействую с ней напрямую.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Рекомендуемые сообщения

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Некое подобие я делал у себя дома на C&S — двери, энергия, движки, МЭ-сеть. Хочу такое же сделать на МТ. Правда с их "легкими" рецептами придётся попотеть)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

С их говоришь? :D

Ну, ну) На МТ даже КК терминал не просто будет сделать без гречки, не то что все это связать вместе и ввести на управление очками (кстати, очки тоже усложнены?)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

С их говоришь? :D

Ну, ну) На МТ даже КК терминал не просто будет сделать без гречки, не то что все это связать вместе и ввести на управление очками (кстати, очки тоже усложнены?)

Очки — никак нет) Главный Составитель Рецептов пропал без вести =(

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Очки — никак нет) Главный Составитель Рецептов пропал без вести =(

Недоброжелатили в лес вывезли =_=

~конец оффтопа~

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Что то я не понимаю. Хорошо, вот чисто например: есть у меня бэтбокс. Я приставляю к нему компьютер, но при команде peripheral.getType он ничего не выдает. Так каким образом можно управлять энергохранителем? Или в том же самом реакторе. Вот просто блок реактора.  И как, прям к нему приставить терминал и он будет опознавать реактор что ли?)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

-- На примере всё того же бойлера из RailCraft
side = {...}
boiler = peripheral.wrap(side[1]) -- где side[1] - это сторона, с которой находится бойлер

while true do
temp = boiler.getTemperature() -- присваиваем переменной "temp" значение, равное текущей температурре бойлера
term.clear() -- очищаем терминал
term.setCursorPos(1, 1) -- устанавливаем курсор на начало первой строки
print(temp) -- принтим температуру на терминал
end

-- софтина по-сути рабочая, если я не напутал с функцией получения температуры
-- при запуске проги указать в параметре активную сторону (например: termometr left)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
-- На примере всё того же бойлера из RailCraft
side = {...}
boiler = peripheral.wrap(side[1]) -- где side[1] - это сторона, с которой находится бойлер

while true do
  temp = boiler.getTemperature() -- присваиваем переменной "temp" значение, равное текущей температурре бойлера
  term.clear() -- очищаем терминал
  term.setCursorPos(1, 1) -- устанавливаем курсор на начало первой строки
  print(temp) -- принтим температуру на терминал
end

-- софтина по-сути рабочая, если я не напутал с функцией получения температуры
-- при запуске проги указать в параметре активную сторону (например: termometr left)

Это многое объясняет! Но тем не менее. Откуда взялась "boiler.getTemperature" ? Конкретно, откуда эта функция? и где их брать?) или это как то основано на температуре окружающей среды самого Майнкрафта?

Изменено пользователем TayFox

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Это многое объясняет! Но тем не менее. Откуда взялась "boiler.getTemperature" ? Конкретно, откуда эта функция? и где их брать?)

У переферального ус-ва "Boiler" (и т. п., например, у нотного блока) есть свои методы, узнать которые можно с помощью peripheral.getMethods(side)

Изменено пользователем Fingercomp

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

У переферального ус-ва "Boiler" (и т. п., например, у нотного блока) есть свои методы, узнать которые можно с помощью peripheral.getMethods(side)

Ну тут понятно, задаешь peripheral.getMethods(), он выписывает все функции. пришли к Главному вопросу. К каким устройствам это применимо? Или там вообще без разницы?)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Без разницы) Экспериментируй))

То есть абсолютно любое устройство может быть программируемым?) И еще последний вопрос, как понимать функции эти. Так же, экспериментировать, какая что делает?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

То есть абсолютно любое устройство может быть программируемым?) И еще последний вопрос, как понимать функции эти. Так же, экспериментировать, какая что делает?

Нет конечно, зная инглишь все довольно просто будет восприниматься, а коли нет, ну... Тогда учи инглишь или юзай гугл транслятор)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Что то пол вечера покопался в этих очках, ничего не понял. Никакого мини гайда по методам нету?) 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

:smile89:  :smile25: . не всё программируется,а только то что OpenPeripherals поддерживает.Очки как очки.

Изменено пользователем NEO

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Там всего 2 функции и вот тебе мой мини-гайд по ним:
(Представим, что блок Terminal Glasses Bridge был подключен к компу следующим образом:
g = peripheral.wrap("bottom"), то есть снизу )
1) g.addBox(<x>, <y>, <высота>, <ширина>, <цвет в формате 0xRRGGBB>, 0.2)
Функция добавляет прямоугольный фон по координатам х и у с указанной высотой, шириной и цветом. (Что означает 0.2 в конце я не до конца понял.)
 
2)g.addText(<x>, <y>, <текст>, <цвет в формате 0xRRGGBB>)
Функция добавляет текст указанного цвета по координатам х и у.
 
Пример программы:

local glasses = peripheral.wrap("bottom") -- подключаем Terminal Glasses Bridge к компу
local boiler = peripheral.wrap("right") -- подключаем бойлер из RailCraft

while true do
  glasses.clear() -- очищаем экран очков
  glasses.addBox(5, 5, 15, 10, 0x000000, 0.2) -- рисуем бокс
  local temp = boiler.getTemperature() -- присваиваем переменной значение, равное текущей температуре бойлера
  glasses.addText(6, 6, temp, 0x00FF00) -- пишем на экране очков температуру бойлера
  sleep(0) -- избегаем краша
end
Изменено пользователем DUIIIES

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Дополню минигайд тем, что документация мода OpenPeripherals содержится прямо в игре.

Надо набрать в консоли команду

openp/docs <side>

И на экране появится док по прибору подключенному со стороны side.

А инфу по конкретному методу можно узнать так:

openp/docs <side> <methodname>

1) g.addBox(<x>, <y>, <высота>, <ширина>, <цвет в формате 0xRRGGBB>, 0.2)
Функция добавляет прямоугольный фон по координатам х и у с указанной высотой, шириной и цветом. (Что означает 0.2 в конце я не до конца понял.)

Последний параметр - прозрачность бокса. В этом случае - 0.2.

 

 

Кроме того в очках есть еще пара интересных команд.

Например - addGradientBox(int x, int y, int width, int height, int color, double alpha, int color2, double alpha2, byte gradient).

Или - addLiquid(int x, int y, int width, int height, int id).

:)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Воу, а что за ликвид?

Это бокс раскрашенный под жидкость. Причем с анимацией. Для всяких там индикаторов наполненности цистерны.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Это бокс раскрашенный под жидкость. Причем с анимацией. Для всяких там индикаторов наполненности цистерны.

Вау, то есть указываешь ид жидкости из неи и она отображается в виде бокса?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


×
×
  • Создать...