eu_tomat 2 154 Опубликовано: 18 января, 2016 1) Может ли робот получить доступ к component.openperipheral_sensor через адаптер или только через компьютеры и контроллеры? 2) Можно ли определить, как подключены внутренние компоненты, вставлены ли они при сборке, либо в слоты расширения? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Fingercomp 4 409 Опубликовано: 18 января, 2016 Доступ ко внешним компонентам у робота отсутствует. Проверить, есть ли компонент у робота, можно командой component.isAvailable(componentName). Насчёт второй части не уверен, рекомендую глянуть переменную .slot у проксей компонентов (component.<имя компонента>.slot). И эксперементально найти ответ на вопрос. 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
eu_tomat Автор вопроса 2 154 Опубликовано: 18 января, 2016 component.<имя компонента>.slot)Спасибо, все работает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
eu_tomat Автор вопроса 2 154 Опубликовано: 29 марта, 2016 Думаю, нет смысла создавать новую тему. У меня набрались новые вопросы, связанные с периферией: 1. Можно ли узнать адреса компонент и блоков, просто лежащих в инвентаре робота? В инвентаре игрока адреса компонент доступны для просмотра. Для робота, лежащего в инвентаре робота, контролер инвентаря не выдает ни имени, ни адреса. Аналогично и для сетевой карты: просто сетевая карта, и всё. Реально ли вытащить адреса из тегов? 2. Может ли робот каким-либо образом узнать адрес соседнего блока? Например, геолайзер может сказать, что это робот, но не сообщает ни его имя, ни адрес. Анализатор при использовании игроком помещает сообщение в чат, но апргейд чата из Computronics его не ловит. Анализатор при использовании роботом вообще ничего не показывает, и апргрейд чата опять же ничего не получает. 3. Может ли робот включать или выключать стоящие рядом компьютеры иным путем кроме как через wake-up по редстоун- или сетевой карте? Черепахи, насколько я помню, умели это делать. И компьютер легко включает роботов, а наоборот – не получается. 4. Можно ли как-то узнать адрес адаптера, через который подключено устройство, и сторону, с которой устройство находится относительно адаптера? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Zer0Galaxy 2 187 Опубликовано: 29 марта, 2016 1. Можно ли узнать адреса компонент и блоков, просто лежащих в инвентаре робота? А что если использовать контейнер для плат? Если робот сможет самостоятельно поместить в него плату, то узнает ее адрес. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Fingercomp 4 409 Опубликовано: 29 марта, 2016 Думаю, нет смысла создавать новую тему. У меня набрались новые вопросы, связанные с периферией: 1. Можно ли узнать адреса компонент и блоков, просто лежащих в инвентаре робота? В инвентаре игрока адреса компонент доступны для просмотра. Для робота, лежащего в инвентаре робота, контролер инвентаря не выдает ни имени, ни адреса. Аналогично и для сетевой карты: просто сетевая карта, и всё. Реально ли вытащить адреса из тегов? Если в конфигурации OpenComputers включена возможность чтения NBT-тегов, то возможно. Тогда для их получения рекомендую воспользоваться библиотекой libitem: https://github.com/OpenPrograms/Magik6k-Programs/tree/master/libitem 2. Может ли робот каким-либо образом узнать адрес соседнего блока? Например, геолайзер может сказать, что это робот, но не сообщает ни его имя, ни адрес. Анализатор при использовании игроком помещает сообщение в чат, но апргейд чата из Computronics его не ловит. Анализатор при использовании роботом вообще ничего не показывает, и апргрейд чата опять же ничего не получает. Насколько я помню, геолайзер не возвращает NBT. Соотвественно, невозможно. 3. Может ли робот включать или выключать стоящие рядом компьютеры иным путем кроме как через wake-up по редстоун- или сетевой карте? Черепахи, насколько я помню, умели это делать. И компьютер легко включает роботов, а наоборот – не получается. Если шифт-кликнуть компьютер, то он включится. Роботы тоже могут это делать. robot.use(nil, true), IIRC. 4. Можно ли как-то узнать адрес адаптера, через который подключено устройство, и сторону, с которой устройство находится относительно адаптера? У адаптера, если я правильно помню, нет адреса совсем. Поэтому на оба вопроса я бы ответил "нет". 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
eu_tomat Автор вопроса 2 154 Опубликовано: 29 марта, 2016 Если в конфигурации OpenComputers включена возможность чтения NBT-тегов, то возможно. Тогда для их получения рекомендую воспользоваться библиотекой libitem: https://github.com/O.../master/libitemРаботает. Это бомба! Про теги давно уже думал и по разным поводам, но нагуглить так и не смог. Насколько я помню, геолайзер не возвращает NBT. Соотвественно, невозможно.Геолайзер я привёл в пример. Может, есть иные способы? Тем же анализатором или еще чем-нибудь? Если шифт-кликнуть компьютер, то он включится. Роботы тоже могут это делать. robot.use(nil, true)И роботы умеют ШПКМ, и ШПКМ пустой рукой по компьютеру включает его, но ШПКМ именно роботом почему-то не включает компьютеры, хотя и возвращает «true, block_activated». А было бы здорово. А что если использовать контейнер для плат? Если робот сможет самостоятельно поместить в него плату, то узнает ее адрес.Проблема решилась доступом к NBT. Но твое предложение тоже интересно, я думал о нем в другом контексте. Но не смог поместить роботом плату в свой контейнер. Поделишься способом? У меня получилось засунуть плату только другим роботом, но это громоздко. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Zer0Galaxy 2 187 Опубликовано: 29 марта, 2016 Поделишься способом? Не поделюсь. Нет такого опыта Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Fingercomp 4 409 Опубликовано: 29 марта, 2016 Геолайзер я привёл в пример. Может, есть иные способы? Тем же анализатором или еще чем-нибудь? Нет. И роботы умеют ШПКМ, и ШПКМ пустой рукой по компьютеру включает его, но ШПКМ именно роботом почему-то не включает компьютеры, хотя и возвращает «true, block_activated». А было бы здорово. Ну лично у меня всё включается, не знаю. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
eu_tomat Автор вопроса 2 154 Опубликовано: 11 января, 2017 Ну лично у меня всё включается, не знаю. Разобрался, не прошло и года. Поиск по англоязычным сайтам быстро выдал решение: Ability for Robots to turn on PC´s #1505 ШПКМ рукой игрока включает любую технику. Робот успешно выполняет ШПКМ на любых компьютерах и роботах, но включается при этом лишь техника в обычных корпусах. Компьютеры и роботы в творческих (лиловых) корпусах не включается по ШПКМ роботом. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Fingercomp 4 409 Опубликовано: 11 января, 2017 А, ну да, точняк. Креативные корпуса же могут быть использованы только игроком в режиме креатива. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
ivan52945 75 Опубликовано: 12 января, 2017 чёт всё как-то сложна Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
eu_tomat Автор вопроса 2 154 Опубликовано: 12 января, 2017 чёт всё как-то сложнаВсё просто за исключением некоторых нюансов. Но и они со временем проясняются. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
ivan52945 75 Опубликовано: 12 января, 2017 я не прогер(ну как, чутка умею)но чую, что мне до этого звания далеко Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Totoro 3 563 Опубликовано: 12 января, 2017 я не прогер(ну как, чутка умею) но чую, что мне до этого звания далеко Это нормально. Надо насторожиться когда наоборот - приходит мысль типа "я уже всё знаю, я гуру, больше в программировании для меня ничего нового нет". 2 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
1) Может ли робот получить доступ к component.openperipheral_sensor через адаптер или только через компьютеры и контроллеры?
2) Можно ли определить, как подключены внутренние компоненты, вставлены ли они при сборке, либо в слоты расширения?
Поделиться сообщением
Ссылка на сообщение
Поделиться на других сайтах