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

hohserg

Пользователи
  • Публикации

    433
  • Зарегистрирован

  • Посещение

  • Победитель дней

    37

Все публикации пользователя hohserg

  1. Недавно узнал о том, что в праздничные дни при крафте предметов из OC можно получить подарки с халявными вещами из того же OC. А самый простой крафт - клавиши со стрелками. Инфу дал@BrightYC Ведомый вожделением халявы и неприятием гринда я обратился к заповедям Церкви Доброй Автоматизации... Представляю вам систему автоматического получения подарков! Основная идея состоит в том, чтобы робот скрафтил 4 стака кнопок и разместил их в слотах верстака инженера(tinkers construct) Чтобы делать это максимально быстро каждый из 4 слотов заполняется отдельным роботом извлечение камня из некоторого источника выполняют отдельные роботы, асинхронно, т.к. работа с инвентарями имеет задержку. Однако задержка искусственная, робот на самом деле дропает сразу и в освободившийся слот другой робот может в это время вставить новую порцию материала Под Inserter-ами должны находиться инвентари с камнем, я использовал магматические пресы(thermal expansion) Вариант билда: Скриншоты с разных ракурсов: https://imgur.com/a/ibudY9k Программа для Crafter(eeprom) https://pastebin.com/ahwfBBRd Программа для Inserter(eeprom) https://pastebin.com/cj1viKmx Программа для управляющего терминала(OpenOS) версия для PIM: https://pastebin.com/bU64bTg5 версия для транспозера(1.12.2): https://pastebin.com/iMnistit Использование: 1. Включаем всех роботов 2. Запускаем терминал доступные команды: `afk eject` - извлекает из вашего инвентаря все и помещает в инвентарь со стороны `chestSide`(с.м. код терминала в начале) `afk pick up` - возвращает вещи в ваш инвентарь `start` - отправляет роботам сигнальное сообщение и начинает извлекать из вашего инвентаря клавиши и подарки в соответствующие инвентари `trashSide`, `presentSide``(с.м. код терминала в начале) 3. Открываем верстак 4. Кладем кирпич на клавишу Shift, включаем автокликер на слот результата 5. Идем пить чай или чего у вас там 6. ??? 7. Profit! На версии 1.7.10 роботы, к сожалению, не могут вставить кнопки в слоты верстака инженера, поэтому нужно поискать другой подходящий верстак в вашей сборке Минимальные билды роботов: Inserter Crafter Терминал +транспозер, монитор 1 лвл Благодарности: @BrightYC за информацию о подарках @eu_tomat за вдохновение @Fingercomp за помощь в отладке программы Спасибо вам, ребята, без вас бы этого поста бы не было)
  2. Сделал простенькую программу, которая просто перекладывает стаки предметов из одного инвентаря в другой Код: https://pastebin.com/fnMBh5mw Краш-лог: https://prnt.sc/qg1xvd Что я делаю не так? Там на первой строчке просто таблица создается
  3. Точную формулу из кода не знаю. Но точно знаю эмпирически, что при подъеме растягивается, примерно 10 блоков, но в пустоте(воздухе) изменять трудно.
  4. Можно увеличивать силу сигнала при движении вверх(поводок растягивается), и уменьшать в неподвижном состоянии, так еще эффективнее будет
  5. А на сколько времени заряда без апгрейдов и с ними хватает?
  6. Это дело вкуса, кому-то нравятся команды, кому-то гуи
  7. У дрона, к сожалению, нету слотов сменных апгрейдов, поэтому заряжать себя в пути путем смены батареек он не сможет
  8. Здравствуйте! У дрона есть возможность извлекать и помещать предметы и жидкости между своим инвентарем и внешними хранилищами. А может ли он отдавать энергию?(принимать может - через зарядник)
  9. Еще нужна фича автоматического стирания соглашения всем игрокам при обновлении соглашения
  10. Это чуть ли самая главная часть, особенно, если демонстрируемый продукт связан с графикой
  11. Видимо, в 5.2, где еще не выделен int. Хотя в 5.2 у ТС не возникли бы проблемы с этим
  12. У тебя есть компонент gpu, у него есть функция set Как-то так local cy=1 print=function(...) local t={...} for i=1,#t do t[i]=tostring(t[i]) end gpu.set(1,cy,table.concat(t, ' ')) cy=cy+1 end код взят из bibi
  13. Раньше писал для OpenComputers относительно небольшие програмки, с отключенной буферизацией файловых систем, чтобы сразу тестировать в игре(и было довольно удобно). Когда нужно сделать че-то большое и сложное, то хочется использовать Git для контроля версий. Тут возникают две проблемы: файлы одного проекта могут лежать на разных устройствах в игре, в разных фс, следовательно, в разных папках в saves мира даже если папка одна, то .git каталог будет частью фс компа, а видеть его из игры совершенно не нужно Возможно, есть еще какие- то нюансы, которые я упустил. В общем вопрос состоит в том, какой лучший способ использовать Git для разработки программ для OC?
  14. А что если определить критерии оптимума без учета времени вычисления, а алгоритм сделать достаточно быстрым, чтобы временные затраты на вычисление было достаточно малы и не влияли существенно на оптимальность системы в целом
  15. hohserg

    OpenComputers 1.7.5

    А что это такое? Где можно почитать про это?
  16. hohserg

    А что такое EEPROM и где оно живет?

    А заодно актив поддерживаешь?)
  17. Это только для OpenOS, вроде
  18. Есть ли какой-то способ отличить tmpfs от filesystem жесткого диска? ~~~ filesystem.getLabel() позволяет отличить
  19. Сделай дружественный UI, чтобы юзер не мог неосознанно стрелять себе в ногу А какие там файлики вообще хранятся?
  20. Кажись, нашел причину: недетерминирован component.list(), в разное время он возвращает компоненты в разной последовательности Однако откуда может взяться больше одной fs при такой сборке?
  21. Если взять произвольный hdd, записать на нем файл, допустим, /test.txt, то filesystem.exists("/test.txt") после включения компа выдает разные значения(true,false), кажется, случайным образом, при этом файл не подвергается изменениям. При этом за одну сессию включенного компа он выдает одинаковые значения Минимальный тестовый пример(запускать несколько раз): init.lua setmetatable(component,{__index=function(_,key) return component.proxy(component.list(key)()) end}) --тут стоит сделать буферизацию, но на тест не влияет по идее local gpu,filesystem=component.gpu,component.filesystem for i=0,24 do gpu.set(50,i,tostring(filesystem.exists("/test.txt"))) end Аналогично работает filesystem.list("/"): иногда верный список файлов, иногда пустой список Это баг или я что-то делаю не так?
  22. Конкуренция может приносить и положительные плоды. Хорошие результаты конкурентов могут дать мотивацию сделай свой продукт лучше
  23. Смотрел только видос. + Хороший, минималистичный дизайн + Навигация по менюшкам быстрая - Магаз не умеет искать нужные предметы по всему инвентарю - Не обойтись одними лишь средствами игры(нужна vds) А что если больше одного игрока встанут на одну PIM?
  24. Автор случайно не хочет использовать github или подобный сервис?
×
×
  • Создать...