hohserg
-
Публикации
433 -
Зарегистрирован
-
Посещение
-
Победитель дней
37
Сообщения, опубликованные пользователем hohserg
-
-
Да в общем то всё. Твоя программа покрывает все юзкейсы дрона
-
Так формирование сообщений для отправки и их распознавание ведь происходит по определенным правилам. Это и есть протокол
-
А можешь выделить протокол общения с дроном в отдельную либу?
-
Вроде никак. Для ванильного верстака ведь автор мода сделал специальный апгрейд
-
Если у этого кастомного верстака есть тайл с постоянным инвентарем(предметы не выпадают при закрытии гуи), то можно. Посмотри апгрейд контроля инвентаря
-
Описание
Этот небольшой программный комплекс(всего 3 файла) делает одну простую вещь: определяет, на какой блок смотрит игрок, в пределах некоторой области.
Гифки для наглядности:
Теперь перейдем к билду
Нам нужен стандартный компьютер с дополнительно подключенными Соединенная плата, Геоанализатор, Glasses Terminal(не забудьте привязать и надеть очки)
А также планшет со следующей начинкой:
Можно использовать более дешевые компоненты, однако в контейнер улучшений нужно будет вставить Улучшение "Навигация", поэтому он должен быть 2 уровня.
На оба устройства устанавливаем OpenOS.
На планшет устанавливаем wtwtp_tool.lua
wget https://raw.githubusercontent.com/hohserg1/OpenComputersPrograms/master/playerlook/wtwtp_tool.luaНа компьютер устанавливаем wtwtp.lua и glasses.lua
wget https://raw.githubusercontent.com/hohserg1/OpenComputersPrograms/master/playerlook/wtwtp.luawget https://raw.githubusercontent.com/hohserg1/OpenComputersPrograms/master/playerlook/glasses.luaРедактируем в wtwtp_tool.lua строчку
local cx,cy,cz = -1408,0,512
Вставляем свои координаты центра карты, используемой в апгрейде навигации
Редактируем в wtwtp.lua строчки
local geolyzerAbsolutePos = {-1408,5,512} local glassesAbsolutePos = {-1408,4,512}
Вставляем свои координаты геоанализатора и терминала очков
Запускаем wtwtp с аргументами x1,y1,z1,x2,y2,z2 соответствующие области вокруг геоанализатора, в которой мы хотим работать. Геоанализатор может скнаировать кубическую область во все стороны на расстоянии 32.
Комп какое-то время будет сканировать блоки в заданной области и после вернется курсор терминала.
Запускаем wtwtp_tool без аргументов и через долю секунды мы увидим, что блок, на который игрок смотрел игрок в момент выполнения wtwtp_tool, будет подсвечен.
Запоздалый вопрос актуальности
Наверное, некоторые читатели подумали: "а зачем же оно нужно?"
Эту систему можно использовать в качестве инструмента интерактивного взаимодействия с миром для какой-то другой системы.
Например, у меня есть идея "беспроводные трубы на дронах", в рамках нее таким инструментом можно указывать точки сбора и доставки.
-
4
-
-
В 05.10.2019 в 06:37, Doob сказал:Спутники слишком близко стоят?
Примерно в пределах куба 20*20*20, пробовал ставить дальше - дебаг показывает, что планшет достучался только до двух. Как будто используется недостаточная сила сигнала отправки.
Расставлял спутники примерно, как на твоем видео - один на земле, другие два на столбах
-
Есть игра для мобилок - Event Horizon. Ей эпичности не занимать.
Автор русскоязычный, насколько я понял. Вдруг сможете скооперироваться, потому и упоминаю эту игру
-
1
-
-
Как на счет скринов эпичных баттлов с вражками?
-
Привожу пример реальной задачи, которую можно было бы решить при помощи скриптов сборки.
Гипотеза: Изменение углов между спутниками gps влияет на точность измерений.
Эксперимент: Поставить 4 спутника, провести измерение внутри полученного тетраэдра, подсчитать среднюю погрешность. Поменять расположение спутнников, попробовав разные конфигурации тетраэдра.
При помощи скрипта сборки этот процесс можно было бы автоматизировать и избавиться от человеческого фактора, получив более объективные результаты эксперимента
-
Затестил GPS, с карточкой 2 лвл. Результаты неутешительные: погрешности в пределах +-1 блок, пробовал ставить 3-10 спутников в разных позициях вокруг тестовой области
-
Стоит отметить, что в новых версиях появилась беспроводная карта 1 уровня. Т.е. можно по идее юзать корпус микроконтроллера 1 уровня. Но у этой карты есть ограничение на количество открытых портов = 1 по умолчанию. Для работы GPS этого будет достаточно?
-
Страшный сервер. А кто-нить ресерч проводил на эту тему? Типо, какие проекты так делают, юзают ли они один и тот же мод или у каждого свое.
-
Кажется, решил проблему: в конфиге мода был черный список адресов
-
2
-
-
Такая ошибка вылезает даже, если сервер не запущен
-
Запустил http-сервер локально при помощи python -m http.server 9000. В папке, из которой запустил лежит файл. Попробовал его скачать через браузер - работает.
Когда пытаюсь скачать из игры(тоже локальный мир) при помощи wget, то выдает ошибку address is blacklisted. В чем причины, как пофиксить? В гугле только инструкции о том, как удалить свой сайт из публичных черных списков.
-
Возможно. Просто провожу аналогию с gradle
-
В 27.09.2019 в 22:33, ArtHacker сказал:сделать модуль для плагинов на Lua.
Создаём lua файл. Пишем туда что-то типа удалить какой-то файл, добавить или удалить, создать новый комп или открыть его экран и т.д.
На таких скриптах можно делать сетап воркспейса для какого-то конкретного проекта
-
Предложение фичи: некая глобальная функция вроде print, но печатающая в отдельный дебажный лог, внешний по отношению к OcelotBrain, и который чистится только явным нажатием определенной кнопки. Чтобы никакой код не мог испортить лог и чтобы лог тоже ни на что не влиял
-
2
-
-
Если будут фичи, повышающие удобство разработки(например, выбор произвольной папки для содержимого жесткого диска или стак-трэйсы), то эмулятор будет лучше для разработки
-
1
-
-
Есть что-то вроде roadmap?
-
Кажется, проблема заключается в консоли, она не может сетапнуться или че-то такое. К сожалению, я плохо разбираюсь во внутренней работе OpenOS и понять, почему так происходит, не могу
-
Чтобы комнаты для реакторов делать. Просто расположи реактор на достаточном расстоянии от стен
-
1
-
-
Если имеются проблемы с запуском - могу скинуть содержимое жестких дисков обоих компов

Управляемый дрон. ПДУ.
в Дроны
Опубликовано:
local e = {computer.pullSignal('modem_message')} if e[3] == user then pcall(load(e[6]))В общем то это аналогично фиче интерпретатора из апки BrightYC. Это разумеется покрывает все юзкейсы, однако, вроде, не эффективно в плане объема передаваемых данных.
"drone.move(1,10,1)" можно закодировать в более компактную форму при помощи специализированного протокола.