Перейти к публикации

В ближайшее время постараюсь разобраться с картой сервера/ЛК/бб кодами

Внимание, с 14 февраля до 20 февраля могут проходить работы на сервере, где также находится лаунчсервер. В связи с этим авторизация в лаунчере может не работать

Вся активность

Эта лента обновляется автоматически     

  1. Вчера
  2. Я просто добавил возможность узнать с какого канала говорят(если это ник бота то с лс) вот и все... Все что я добавил, это: local match2 = line:match('PRIVMSG[^PRIVMSG]%S*[^ :]') if match2 then responser,_ = match2:gsub("%PRIVMSG ", "") end и еще добавил responser в computer.pushSignal computer.pushSignal('modem_message', imodem.nick, prefix, 0, responser, message) Вот и весь мой вклад)
  3. Действительно, этот метод есть только у МС 1.10 и выше
  4. Да, в таком виде (minecraft:block_name). Или что-то похожее. getBlockState() не помогает, выдает ошибку: attemp to call a nil value(field 'getBlockState') OpenComputers-MC1.7.10-1.7.2.1166
  5. Имя блока типа minecraft:block_name? getBlockState() поможет?
  6. Я получаю ID блока с помощью component.debug.getWorld().getBlockId(x,y,z). Нужно получить его название как в геосканере. Как получить имя блока по координатам или по ID?
  7. eu_tomat

    Робот с геосканером. Часть #7 [способы добычи]

    @Doob, я поспешил с плотностью алмаза. Сейчас посмотрел твою таблицу плотностей, и даже не поверил. Запустил Майн, проверил. Таблица верна. То ли Алекс накрутил плотность в одной из старых сборок, то ли мне это приснилось. Я был уверен, что алмаз имел более высокую плотность, чем другие руды, а уран с большим отрывом имел плотность 9 или около того.
  8. Doob

    Робот с геосканером. Часть #7 [способы добычи]

    Да, хорошо, штраф сделать не просто разницей между верхним Y и текущим. А умножением, относительно всей доступной высоты. Так и сделаю. Повороты можно даже не штрафовать, а делать анализ, на этапе поиска цели.
  9. Для настройки работы программы, надо узнать плотность добываемых блоков и плотность мусора, чтобы сделать предварительный фильтр на этапе сканирования. Плотность одной руды в разных модах отличается, но она близка к ванильной т. к. механика работы инструментов одна. Сделал шпаргалку с информацией о плотностях из разных модов. Плотность, уровень инструмента, название. Minecraft 3 2 Алмазная руда 3 2 Изумрудная руда 3 2 Золотая руда 3 2 Красная руда 3 1 Железная руда 3 1 Лазуритовая руда 3 0 Угольная руда 3 0 Кварцевая руда 0.3 -1 Светокамень -1 -1 Бедрок 50 3 Обсидиан 3 -1 Эндерняк 2.5 0 Сундук 2 0 Булыжник 2 -1 Адский кирпич 2 0 Доски 1.5 0 Камень 1.5 -1 Каменный кирпич 1.25 -1 Терракота 0.8 0 Песчаник 0.6 0 Трава 0.6 0 Гравий 0.6 0 Глина 0.5 0 Земля 0.5 0 Песок 0.4 0 Адский камень 0.5 0 Песок душ -------------------------------------------- IC2 4 2 Урановая руда 3 1 Медная руда 3 1 Оловянная руда 2 1 Свинцовая руда -------------------------------------------- AE2 50 3 Небесный камень 50 0 Сундук из небесного камня 3 0 Кварцевая руда -------------------------------------------- Mekanism 3 -1 Осмиевая руда 3 -1 Медная руда 3 -1 Оловянная руда -------------------------------------------- Forestry 3 1 Апатитовая руда 3 1 Медная руда 3 1 Оловянная руда -------------------------------------------- TConstruct 10 4 Кобальтовая руда 10 4 Ардитовая руда -------------------------------------------- ThermalFoundation 3 1 Медная руда 3 1 Оловянная руда 3 2 Серебряная руда 3 2 Свинцовая руда 3 1 Алюминиевая руда 3 2 Никелевая руда 3 3 Платиновая руда 3 3 Иридиевая руда 3 3 Мифриловая руда -------------------------------------------- Galacticraft 6 1 Алюминиевая руда 5 1 Оловянная руда 5 1 Медная руда 3 2 Кремниевая руда Moon 5 1 Медная руда 5 1 Оловянная руда 5 -1 Сапфировая руда 3 1 Сырная руда 1.5 0 Лунный камень 0.5 0 Лунный грунт 0.5 -1 Лунный дерн Mars 2.2 3 Деш руда 2.2 1 Железная руда 2.2 1 Оловянная руда 2.2 1 Медная руда 2.2 0 Булыжник 2.2 0 Реголит Asteroids 3 2 Алюминиевая руда 3 3 Ильменитовая руда 3 2 Железная руда 3 0 Камень Venus 5 -1 Алюминиевая руда 5 -1 Медная руда 5 -1 Свинцовая руда 5 -1 Кварцевая руда 5 -1 Кремниевая руда 5 -1 Оловянная руда 5 -1 Солнечная пыль 2.2 1 Магма 2.2 1 Пемза 1.5 1 Твердый камень 0.9 1 Мягкий камень 0.9 -1 Выжженный камень
  10. Без доработки мода вряд ли возможно. Впервые узнав о стороне, задаваемой аргументом, я сразу попробовал копнуть во всех направлениях и получил ошибку везде кроме сторон 0, 1, 3.
  11. Понятно. А можно сделать так, чтобы робот копнул влево, вправо или назад без поворота?
  12. Именно так. robot.swing() в библиотеке копает только вперёд, а для копки вверх и вниз имеются robot.swingUp() и robot.swingDown(). Компонент же располагает единственной функцией, направление задаётся аргументом.
  13. Т.е. robot.swing() работал без аргументов только из-за того, что в опенос есть библиотека для robot API?
  14. eu_tomat

    Робот с геосканером. Часть #7 [способы добычи]

    Наиболее интересной мне показалась эта идея: Хорошая эвристика. В идеале хорошо было бы найти такие штрафы на перемещения во вертикали (а также на повороты), чтобы при плотном расположении руд робот перемещался по кластеру как в классической копалке "слой через два". Мои идеи в этом направлении пока что сводятся к увеличению глубины поиска ближайших целей.
  15. eu_tomat

    Робот с геосканером. Часть #7 [способы добычи]

    Спасибо за пояснения, основные идеи понятны. Далее я сосредоточусь на менее однозначных моментах. На определённом этапе игры основной интерес для игрока могут представлять только уран и алмазы, имеющие высокую плотность. Причём, алмазы чаще всего востребованы в мультиплеере как наиболее ценная валюта сервера. А уран как источник энергии востребован почти всегда и везде, а иногда и как валюта. В общем, "выковыривание изюма" может иметь смысл. Тогда даже многократное дальнее сканирование может окупиться экономией времени. А так как количество найденных узлов не велико, то может окупиться даже алгоритм более сложный чем "идти к ближайшему блоку". Как видишь, везде своя специфика. Что накрутит админ, это проблема игроков, адаптирующих свои алгоритмы. Тут не всё однозначно. С одной стороны, некоторые правки конфигов затрудняют внедрение роботов, что становится проблемой. А другие же правки конфигов вынуждают программистов искать новые алгоритмы, что повышает их интерес к игре. При разработке более-менее универсальной копалки полезно иметь в виду весь спектр сценариев. Идеальную копалку на все случаи жизни вряд ли удастся создать, зато можно оговорить граничные условия её применения. Бывает и так, тут наши интересы не сошлись. Упаковщик оказался для меня наименее интересным аспектом твоей копалки, и я, по правде говоря, читал про него очень быстро и невнимательно. Меня больше интересуют алгоритмы сканирования и оптимальной копки. Попробую почитать внимательнее, но хороших идей не обещаю.
  16. Doob

    Робот с геосканером. Часть #7 [способы добычи]

    Предпочтения игрока тут не учесть, руды все одной плотности (ic2 свинец это недоразумение, а не руда). Послойная обработка не выгодна тем, что робот нарезает круги, когда в паре слоев от него есть руда. Сплошную поддерживают оба алгоритма -- пока не будет добыт весь кластер, робот не уйдет, но послойный оставит недоступный слой на потом. На стандартных генерациях ванилы, IC2, AE2 (тестировались отдельно) свободный обход существенно превосходит послойный (4 чанка, высота 64). Поэтому, статистика говорит в сторону этого подхода, а что админ накрутит генерацию - проблема индейцев. Изначально, я планировать сделать гибрид из этих двух алгоритмов - робот свободно выбирает цель, но получает огромный штраф на ход по вертикали +Y. Добыча велась бы максимально оптимально и робот заканчивал чанк наверху, откуда короче путь к старту следующего чанка. На стенде подобрал расположение руд, чтобы оно было похоже на реальную генерацию и оба алгоритма были бы в одних условиях (руда в каждом слое, свободный пробег 1600 блоков) Меня больше интересуют советы по оптимизации упаковщика, потому-что на каждый сундук робот тратит около 30 секунд. В прошлой версии скорость была фантастической, но хак, который я использовал убрали после какой-то обновы.
  17. Странно, у меня личные сообщения нормально обрабатываются. Флаг для логирования можно тоже сунуть в конфиг. Конфиг следует сделать в виде lua-таблицы - быстрей и меньше кода. Изначально все задумывалось как программный модем между компами. Логин для NickServ и прочие изощрения поверх стандарта, пользователь должен был организовывать в своей программе. imodem это всего-лишь интерфейс, совместимый с OpenOS. Хотя, да не сделал пинг в сторону сервера, каюсь.
  18. Последняя неделя
  19. eu_tomat

    Робот с геосканером. Часть #7 [способы добычи]

    Выбор алгоритма копки сильно зависит от модпака, его настроек и руд, предпочитаемых игроком. Если добываемые руды встречаются редко, то выгоднее перемещаться до ближайшего блока руды, игнорируя порядок слоёв. А если полезных руд много, то имеет смысл переходить на послойную, а в пределе даже на сплошную копку. Следовательно, при сравнении алгоритмов кроме самого времени работы имеет смысл уточнить модпак и конфиги. Также интересно узнать, каким образом сгенерированы руды на видео, чтобы оценить реалистичность данной конфигурации.
  20. Недавно начал писать бота с использованием этой замечательной библиотеки, но к несчастью столкнулся с некоторыми недоработками. Поэтому решено было доработать библиотеку imodem и вот что из этого получилось: Обновление для библиотеки imodem Теперь imodem может обрабатывать личные сообщения (раньше просто игнорил их). Говорим спасибо @Bit Добавлена авторизация ника Все данные по именам/каналам лежат в файле конфигурации по адресу /etc/imodem.cfg Возможен запуск по данным пользователя из Shell Добавлено логирование (отключено) Добавлено переподключение если отключится интернет Итак, поясняю. Немного изменился порядок приема сообщения. Теперь входные данные выглядят так: modem_message ник_imodem ник_говорящего 0 #канал/ник_imodem сообщение Если сообщение идет с канала, то указывается канал, если личное сообщение, то ник imodem. Чтобы не лазить по библиотеке, ради изменения ника, канала, сервера было решено перенести все эти данные в файл конфигурации. Библиотека автоматически проверяет файл конфигурации, и в случае если его не найдет, самостоятельно его восстановит. Данные хранятся построчно в следующем порядке: Ник_imodem Пароль_на_ник Адрес_сервера #Канал Чтобы не заморачиваться с настройкой ника/канала/сервера можно передать все эти данные одной командой: imodem [server[:port]] <nickname> <password> <channel> <save(1/0)> Ну а если все настроено и вас устраивает, можете напрямую imodem запускать и по сохраненным данным все запустится. Логирование сделано больше для отладки и по стандарту отключено. Если надо, то в imodem в строке 10 замените false на true. Для того чтобы imodem мог переподключаться, через каждые 60 секунд оправляется пингование на сервер. И если в течении 30 секунд не придет ответ, imodem автоматически переподключится. Это лучше чем словить кратковременный сбой в доступе к интернету и потом вручную перезагружать библиотеку. Скачать библиотеку можно по команде pastebin get -f MvR7FTGS /lib/imodem.lua Выражаю благодарность за помощь в улучшении @Bit, @Doob, @vladimir
  21. ECS

    MineOS

    @redknowy, насчет туторов хз, а вот вики есть. Даже ссылка на нее в README репозитория валяется. Там тебе и интерфейс, и интеграция окон, и ваще все: https://github.com/IgorTimofeev/MineOS/wiki
  22. redknowy

    MineOS

    @ECS Есть где-либо АКТУАЛЬНЫЙ "тутор" по ОСи? С некоторыми программами вроде принтера не так просто разобраться самому, а найти гайд на новый интерфейс не смог. И есть ещё ряд вопросов, которые правда затрагивают также основной мод, не только ОСь.
  23. Все-таки добывать руду слоями дольше, чем свободным обходом всех доступных блоков. На тестовом стенде свободный - 2 минуты 50 секунд, послойный - 3 минуты 9 секунд. Тут очень сильно напрашивается дополнительная эвристика на сокращение поворотов и прямых одноблочных ходов. И упаковку запускать только при нужде.
  24. ECS

    MineOS

    Тут на днях обновленная софтина Multiscreen в маркет затесалась - добавлена группировка по цветам для гораздо более быстрой отрисовки жирных пикч. Правда, чем жирнее пикча, тем дольше будет обрабатываться каждый моник, но и это уже заметный прогресс:
  25. ECS

    MineOS

    @BrightYC Спасибо, золотце.
  26. Doob

    Робот с геосканером. Часть #1 [движения]

    Экономия скорости не большая, по сравнению с потреблением памяти. В прошлой версии, робот сканировал и добывал слой за слоем, меток было мало. В этой версии такой подход не очень подходит, эксперименты показывают, что искать ближайший блок по всему чанку выгодней, чем послойно, даже если добывать слой 3 блока.
  1. Загрузить больше активности
  • Рассылка

    Хотите узнавать о наших последних новостях и информации?

    Подписаться
×