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

Лидеры


Популярный контент

Показан контент с высокой репутацией 04.09.2022 в Сообщения

  1. 1 балл
    Поясни, в чем конкретно состоит проблема. Что именно не получается реализовать? Я не могу понять из твоих постов, что именно вызывает трудности. Предположим - у тебя каждый раз при старте консоль системы оказывается на непредсказуемом мониторе, и не факт что на том, где клавиатура. В таком случае можно просто положить в корень диска файл autorun.lua, который будет жестко биндить нужный монитор к основной видеокарте. Адреса можно вписать вручную, используя первые четыре уникальных символа адреса, и далее автоматически получая полный адрес в программе через команду component.get("xxxx"). (Будет полезен этот сайт: http://ocdoc.cil.li/api:component) Эвенты от мониторов (события touch/drag) и клавиатур (key_down/key_up) вообще обрабатываются вне зависимости от наличия привязанной видеокарты. Адрес компонента, который отправлил эвент, всегда идет вторым параметром в этом самом эвенте (как ты несомненно знаешь). На этом принципе работает моя программа Smart Lock. Она использует всего две видеокарты - одна привязана к "консольному монитору", через который пользователь может вводить команды с клавиатуры. Вторая видеокарта в любой момент работы программы может быть привязана к любому из нескольких десятков мониторов-замков в системе. В тот момент, когда пользователь "звонит" в дверь, программа определяет адрес монитора, с которого пришел "звонок" и биндит в нему видеокарту номер 2. Далее уже идет отрисовка графики через эту видеокарту на нужный монитор. Соответственно, когда приходит следующий звонок, видеокарта "перепривязывается" опять.
  2. 1 балл
    Если мониторы принадлежат разным компьютерам - можно разнести их распределителем или свитчем. Если мониторы и карты принадлежат одному компьютеру - надо биндить. Загвоздка в том, что если написать просто component.gpu.bind() - он обратится только к одной видеокарте - той, которую считает "основной". Поэтому сначала надо получить список видеокарт компьютера - их компонентов, точнее. local component = require('component') -- создаем таблички для хранения адресов компонентов local gpu = {} local screen = {} -- получаем список видеокарт for address, componentType in component.list("gpu") do table.insert(gpu, address) end -- получаем список мониторов (можно и вручную составить в принципе) for address, componentType in component.list("screen") do table.insert(screen, address) end -- биндим попарно -- (контрольные проверки не делаются, поэтому, во избежание ошибок, -- мониторов и карт должно быть одинаковое количество) for number, address in pairs(gpu) do component.proxy(address).bind(screen[number]) end Есть еще один путь - можно оставить в компьютере только одну видеокарту. И биндить ее к нужному монитору перед рисованием. Но тогда надо следить за разрешением (разрешение монитора при биндинге карты изменяется на разрешение карты).
  3. 0 баллов
    эксперементальным путем выяснил, что используя метод use робот ставит блоки не только из руки но из первого слота своего интенторя, причем не зависимо от выбранного и приоритетьнее самой руки для которой казалось бы метод use и предназначен, и если аккуратно стать в перед робота, и использовать use то блок из руки поставиться на расстоянии один блок от робота, а если робот будет ставить тем же use из первого слота инвенторя, то так не пракатит и вернеться false, неужели первый слот инвенторя у робота работает как левая рука?
  4. 0 баллов
    будет ли клавиатура в роботе работать без монитора(я могу проверить сам но шас дебажу(занят я кароч))
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...