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

hohserg

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

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

  • Посещение

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

    37

Сообщения, опубликованные пользователем hohserg


  1. 4 часа назад, Morkoffka сказал:

    Добавить стек вызовов

    Стэк вызовов уже есть, его можно получать так: ```ok,err = xpcall(code, debug.traceback, args...)```. Однако, это будет стэк вызовов Lua-кода и нужно как-то получить соответствие TypeScript-коду

    • Спасибо 1

  2. 6 часов назад, Morkoffka сказал:

    Осталось лишь найти транспорт между игрой и VSCode, чтобы доставлять отладочные данные и можно будет написать отладчик как плагин для VSCode

    А какие отладочные данные требуются?


  3. 1 час назад, Morkoffka сказал:

    После установки NodeJS у вас должны появится команды npm  и node.

    1. Создайте новую папку для своего первого проекта
    2. Переключитесь в нее, используя терминал и все дальнешие действия выполняйте в ней
    3. Создайте npm пакет: npm init. После выполнения этой команды в папке появится файл package.json
    4. Добавьте в объект "scripts" в package.json строку "build": "tstl",
    5. Установите транспилер npm install --dev typescript-to-lua. После установки первого пакета у вас появится папка node_modules
    6. Установите тайпинги npm install --dev @opct/openos
    7. Создайте папку src для исходных файлов
    8. Создайте файл tsconfig.json со следующим содержимым:

    А есть плагин для VSCode, чтобы сетапать воркспейс нажатием одной кнопки?


  4. 22 часа назад, eu_tomat сказал:

    про охранное стекло я давно хотел узнать. Оно совсем не ломается?

    Ваджра из ic2 ломает его, к сожалению

     

    20 часов назад, Asior сказал:

    Может узнают его программный код и заставят поставить робота, а может просто отправят обратно с "подарком" в еепром

    Так ведь если дрона снять и поставить, то владелец сменится и дрон уже не будет иметь доступ в приват. Значит, нужно юзать дрона с имеющейся в нем программой. Значит, не каждый дрон подойдет


  5. Для большей безопасности путевые точки стоит обкладывать неразрушимыми блоками, вроде усиленного стекла(thaumcraft), закрытыми синалом машинками(thermal expansion), прятать и/или приватить.

     

    А для некоторых задач вэйпоинты нужны только в присутствии игрока(например, когда игрок с планшетом с геолайзером сканирует некоторую территорию в движении; обежал - можно и убирать точку)


  6. Так как в планшете всего один слот для контейнера сменного компонента и при этом слотов для Базовая картакарт меньше чем для апгрейдов имеет смысл использовать Контейнер для платы (Уровень 3)контейнер для карт. Однако, это обычно лишает возможности использовать апгрейд навигации в произвольном месте: сменить в нем Карта.pngкарту местности нельзя, не вытаскивая апгрейда.

    Для решения этой проблемы можно использовать эту небольшую загрузочную библиотеку.

    Установка

    pastebin get SHnEguTY /boot/05_navigation.lua

    Далее, если нужна навигация в области, выходящей за пределы Карта.pngкарты апгрейда, устанавливаем в этой области путевую точку и называем ее(пкм) координатами через пробел.

      image.png.9f6655d2ba98d6610e3ae944ce3e0614.png

    Обратите внимание, имя точки должно соответствовать координатам блока на который она указывает(см частицы)

    image.png.d7bcdd8b4d0a6121ad3c34212567e157.png                             image.png.bed7b52455dced7c720555991f86b350.png

    После этого апгрейд навигации будет опираться на первую попавшуюся путевую точку. Довольно удобно, прозрачно и не требует изменять имеющиеся программы.

     

    Спасибо

    @Fingercomp за инфу о путевых точках

    • Нравится 6

  7. Первый раз практически применил эту ось. Ситуация была такая: редачил OpenOS на роботе, превратил его в кирпич. Дисковода нет, разбирать робота лениво и опасно. В итоге поменял eeprom на загружающую из сети и запустил на роботе Inerpat, отредачил ошибку в OpenOS и перезапустил с Lua BIOS.

    Большой палец вверх :smile9:


  8. Спасибо @eu_tomat за разбор полетов) Ух, это жесть, получается схема совсем стремная и можно сделать проще, быстрее и меньшими аппаратными затратами. :smile14:

    Простите за ошибку написания, переписывал, а не копипастил


  9. Недавно узнал о том, что в праздничные дни при крафте предметов из OC можно получить подарки с халявными вещами из того же OC.

    А самый простой крафт - клавиши со стрелками.

    Инфу дал@BrightYC:D

    image.png.32bad7a8824ad53f6d51a4eed1c63409.png

    Ведомый вожделением халявы и неприятием гринда я обратился к заповедям Церкви Доброй Автоматизации...

    Представляю вам систему автоматического получения подарков!

     

    Основная идея состоит в том, чтобы робот скрафтил 4 стака кнопок и разместил их в слотах верстака инженера(tinkers construct)

    Чтобы делать это максимально быстро

    • каждый из 4 слотов заполняется отдельным роботом
    • извлечение камня из некоторого источника выполняют отдельные роботы, асинхронно, т.к. работа с инвентарями имеет задержку. Однако задержка искусственная, робот на самом деле дропает сразу и в освободившийся слот другой робот может в это время вставить новую порцию материала

     

    Под Inserter-ами должны находиться инвентари с камнем, я использовал магматические пресы(thermal expansion)

    Вариант билда:

    1NRR5vb.png

    Скриншоты с разных ракурсов: 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

    image.png.eb02420241b46ffd16024b6741313f93.png  

    Crafter

    image.png.4476b74b128da9307f4ee5491761c59c.png

    Терминал

    image.png.624cc30499f371371f08855436455cf8.png+транспозер, монитор 1 лвл

     

    Благодарности:

    @BrightYC за информацию о подарках

    @eu_tomat за вдохновение

    @Fingercomp за помощь в отладке программы

    Спасибо вам, ребята, без вас бы этого поста бы не было)

     

    • Нравится 6

  10. Сделал простенькую программу, которая просто перекладывает стаки предметов из одного инвентаря в другой

    Код:

    https://pastebin.com/fnMBh5mw

    Краш-лог:

    https://prnt.sc/qg1xvd

     

    Что я делаю не так? Там на первой строчке просто таблица создается

×
×
  • Создать...