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

Glozeysk

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

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

  • Посещение

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


  1. Вопрос закрыт - в сейчас лет узнал, что шифт+пкм с процессором в руке меняет архитектуру Lua, на которой он будет работать Заработал на Lua 5.2. Дело было в ошибке совместимости с флакс гейтами, которую уже пару лет как не исправляют и вряд-ли исправят. Связался с разработчиком скрипта, он внесёт поправку в инструкцию по установке и настройке скрипта. Спасибо всем кто помогал.


  2. 1 минуту назад, eu_tomat сказал:

    Там, наверное, достаточно было архитектуру процессора поменять, понизив версию Lua.

    В файле bit32.lua написано следующее: 

    Backwards compat for Lua 5.3; only loaded in 5.3 because package.loaded is
         prepopulated with the existing global bit32 in 5.2.

    Получается, что на архитектуре 5.2 bit32 был включён в пакет, а в 5.3 стал отдельным файлом. Просто правильно вызвать его - и всё заработало. А, да, ещё в deflate.lua пару мест пришлось закомментить, а именно:

     local function runtime_error(s, level)
       level = level or 1
       error((s), level+1)
     end

    и

       if not disable_crc and data_crc32 then
         if data_crc32 ~= expected_crc32 then
           runtime_error('invalid compressed data--crc error')
         end    
       end

    Тут уже не знаю, в чём в них ошибка, но если закомментить - скрипт наконец-то читает NBT из инвентаря робота. Буду пробовать читать NBT с транспозера


  3. 2 часа назад, eu_tomat сказал:

    Пример не дам, я экспериментировал слишком давно. Помню лишь, что особых проблем при использовании этой библиотеки у меня не возникло: транспозером получил информацию о содержимом слота, проверил наличие поля hasTag, выполнил item.readTag(stack) и получил таблицу тегов, выбрал из таблицы нужный.

     

    Главная сложность практического применения заключалась в том, что эта библиотека требует включения доступа к тегам в файле конфигурации OpenComputers. При этом я играл на серверах, где доступа к тегам не было. В результате я был вынужден использовать менее очевидные подходы вроде чтения хешей NBT с помощью апгрейда базы данных или МЭ-сети. А для реализации этих трюков достаточно иметь доступ к тегам только в творческом режиме, где их оказалось проще прочитать отладочной платой, нежели лезть в конфиг и устанавливать библиотеки.

     

    Поэтому дальше тестов я эту библиотеку не применял, и какого-то значимого кода не сохранил.

    У меня скрипт выдаёт такую ошибку

     

    Набор символов в первой строке таблицы всегда разный

    Строка 10 в моём скрипте - nbt = item.readTag(itemStack)

    Может я неправильно либы скачал? Или они устарели уже...

    Edit: похоже, что устарели. В файлах либы есть программка, читающая NBT предмета в инвентаре робота. Она выдаёт такую же ошибку. Может либы можно как-то обновить?

    Edit 2.0: Проблема решена. Нужно было обновить библиотеку nbt, заменив 

    local bit32 = bit32

    на

    local bit32 = require "bit32"

  4. 3 минуты назад, ProgramCrafter сказал:

    Стоит проверить архитектуру процессора - Lua 5.2 или Lua 5.3.

     

    На 5.3 изменилась сериализация таблиц и какой-то там набор проблем создала.

    Нет, дело не в этом. У меня в тестовой папке точная копия мира, да и даже если так - я менял версию OpenComputers в одной и той же папке


  5. 3 часа назад, eu_tomat сказал:

    Найти не сложно. Подключаешь адаптер к реактору, запускаешь утилиту components, и она показывает тебе все доступные компоненты и их методы.

     

    Если запустить на обеих версиях OpenComputers (на старой рабочей и на новой, где возникли проблемы) и сравнить, можно будет понять, что именно там изменилось.

    Написал небольшой костыльный скрипт, выводящий практически всю информацию о реакторе. С изменением версии работа скрипта никак не менялась, он вполне исправно считывал данные на обоих версиях OpenComputers. Похоже, что дело не в изменившихся методах, а в чëм-то ещë


  6. 1 час назад, eu_tomat сказал:

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

    Весь интернет облазил чтобы на этот вопрос ответ получить...

    А можно пример использования? Простая программка, которая, допустим, перемещает только зачарованный на остроту 5 алмазный меч из 1 слота северной стороны во 2 слот южной стороны. Я совершенствую скрипт автокрафта, без чтения NBT смысла в этом просто не будет


  7. 58 минут назад, eu_tomat сказал:

    Найти не сложно. Подключаешь адаптер к реактору, запускаешь утилиту components, и она показывает тебе все доступные компоненты и их методы.

     

    Если запустить на обеих версиях OpenComputers (на старой рабочей и на новой, где возникли проблемы) и сравнить, можно будет понять, что именно там изменилось.

    Хорошо, попробую, отпишу как будет результат


  8. Можно ли каким-либо образом научить транспозер считывать и проверять NBT-данные? Не наличие или отсутствие их, а конкретные данные(например, уровень зачарования меча). Пример - сортировка мечей по уровню зачарования "Острота" и размещение в разных хранилищах. Нашёл одну библиотеку, как-то взаимодействующую с NBT, вот она: https://github.com/OpenPrograms/Magik6k-Programs

    Можно ли реализовать это с её помощью, или чем-то другим?

    Можно ли это хоть как-то реализовать?


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

    Правильно ли я понял, что в версии OpenComputers 1.7.6 скрипт работал, а в 1.7.7 — нет.

    А если заменить 1.7.7 на 1.7.6, работоспособность скрипта восстанавливается?

    О какой версии Майнкрафта идёт речь?

    Версия майнкрафта 1.12.2, на версии 1.7.6 всë работает исправно, проверил лично. На самом деле я не уверен насчëт версии OpenComputers, я исходил из сообщения на одном из форумов, возможно я его не совсем правильно понял. Цитирую: 

    "I found the error, all OpenComputer versions after OpenComputers-MC1.12.2-1.7.7 do not work this version. I hope I was able to help others too lg"

    Edit: На версии 1.7.7 всё работает, значит я не так понял комментатора, и скрипт не работает на версиях 1.8.0 и старше.

    Edit 2: Поглядел что и как, похоже, что с версии OpenComputers 1.8.0 взаимодействие адаптера с реактором изменилось. Скрипт больше не может считывать с него никакую информацию, и, следовательно, не может дать сигнал адаптерам флакс-гейтов изменить значение на нужное. Найти бы где-нибудь, как адаптер взаимодействует с реактором, может тогда станет понятнее


  10. Есть один просто замечательный скрипт на управление реактором - https://tenyx.de/draconic_control/

    Но после версии OpenComputers 1.7.6 он перестал корректно работать - адаптеры перестали взаимодействовать с реактором и энергетическими ограничителями от слова совсем. Скрипт их видит, но не может никак влиять на них. В чем может быть проблема? Что такого случилось в версии 1.7.7, что всë сломалось? Прошу, помогите! 


  11. Описание: есть готовая программа на версию 1.12.2 для автоматизации слияния из Draconic Evolution. Решил взяться за создание рецептов для апгрейдов брони и инструментов, пришёл к тому, что без чтения NBT-данных вводимого в крафт элемента брони/инструмента ничего адекватно не работает.

    Награда: на сервере не играю, но готов заплатить, рассчитываю потратить не более 300р на полностью понятное и готовое решение.

    Оборудование: любые комплектующие OpenComputers 1.7.6(это обязательно), любые материалы Draconic Evolution. Могу докачать недостающие моды/аддоны, если того будет требовать программа.

    Требования: научить скрипт читать NBT и применять это в рецептах крафтов. Также необходимо приложить пример нового рецепта с использованием NBT (я мало что понимаю во всём этом и могу сразу и не разобраться, как делать новые рецепты крафтов).

    Ссылка на программу - https://gitlab.com/boefjim/opencomputersdraconicfusioncrafter/

    Связь: ЛС или этот топик, также можно в ТГ - @glozeysk

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