Glozeysk
-
Публикации
11 -
Зарегистрирован
-
Посещение
Сообщения, опубликованные пользователем Glozeysk
-
-
1 минуту назад, eu_tomat сказал:Там, наверное, достаточно было архитектуру процессора поменять, понизив версию Lua.
В файле bit32.lua написано следующее:
Backwards compat for Lua 5.3; only loaded in 5.3 because package.loaded isprepopulated with the existing global bit32 in 5.2.Получается, что на архитектуре 5.2 bit32 был включён в пакет, а в 5.3 стал отдельным файлом. Просто правильно вызвать его - и всё заработало. А, да, ещё в deflate.lua пару мест пришлось закомментить, а именно:
local function runtime_error(s, level)level = level or 1error((s), level+1)endи
if not disable_crc and data_crc32 thenif data_crc32 ~= expected_crc32 thenruntime_error('invalid compressed data--crc error')endendТут уже не знаю, в чём в них ошибка, но если закомментить - скрипт наконец-то читает NBT из инвентаря робота. Буду пробовать читать NBT с транспозера
-
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" -
3 минуты назад, ProgramCrafter сказал:Стоит проверить архитектуру процессора - Lua 5.2 или Lua 5.3.
На 5.3 изменилась сериализация таблиц и какой-то там набор проблем создала.
Нет, дело не в этом. У меня в тестовой папке точная копия мира, да и даже если так - я менял версию OpenComputers в одной и той же папке
-
3 часа назад, eu_tomat сказал:Найти не сложно. Подключаешь адаптер к реактору, запускаешь утилиту components, и она показывает тебе все доступные компоненты и их методы.
Если запустить на обеих версиях OpenComputers (на старой рабочей и на новой, где возникли проблемы) и сравнить, можно будет понять, что именно там изменилось.
Написал небольшой костыльный скрипт, выводящий практически всю информацию о реакторе. С изменением версии работа скрипта никак не менялась, он вполне исправно считывал данные на обоих версиях OpenComputers. Похоже, что дело не в изменившихся методах, а в чëм-то ещë
-
1 час назад, eu_tomat сказал:Да, я использовал эту библиотеку для чтения тегов. Могу сказать точно, что она рабочая. По крайней мере, раньше была рабочей.
Весь интернет облазил чтобы на этот вопрос ответ получить...
А можно пример использования? Простая программка, которая, допустим, перемещает только зачарованный на остроту 5 алмазный меч из 1 слота северной стороны во 2 слот южной стороны. Я совершенствую скрипт автокрафта, без чтения NBT смысла в этом просто не будет
-
58 минут назад, eu_tomat сказал:Найти не сложно. Подключаешь адаптер к реактору, запускаешь утилиту components, и она показывает тебе все доступные компоненты и их методы.
Если запустить на обеих версиях OpenComputers (на старой рабочей и на новой, где возникли проблемы) и сравнить, можно будет понять, что именно там изменилось.
Хорошо, попробую, отпишу как будет результат
-
Можно ли каким-либо образом научить транспозер считывать и проверять NBT-данные? Не наличие или отсутствие их, а конкретные данные(например, уровень зачарования меча). Пример - сортировка мечей по уровню зачарования "Острота" и размещение в разных хранилищах. Нашёл одну библиотеку, как-то взаимодействующую с NBT, вот она: https://github.com/OpenPrograms/Magik6k-Programs
Можно ли реализовать это с её помощью, или чем-то другим?
Можно ли это хоть как-то реализовать?
-
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 взаимодействие адаптера с реактором изменилось. Скрипт больше не может считывать с него никакую информацию, и, следовательно, не может дать сигнал адаптерам флакс-гейтов изменить значение на нужное. Найти бы где-нибудь, как адаптер взаимодействует с реактором, может тогда станет понятнее
-
Есть один просто замечательный скрипт на управление реактором - https://tenyx.de/draconic_control/
Но после версии OpenComputers 1.7.6 он перестал корректно работать - адаптеры перестали взаимодействовать с реактором и энергетическими ограничителями от слова совсем. Скрипт их видит, но не может никак влиять на них. В чем может быть проблема? Что такого случилось в версии 1.7.7, что всë сломалось? Прошу, помогите!
-
Описание: есть готовая программа на версию 1.12.2 для автоматизации слияния из Draconic Evolution. Решил взяться за создание рецептов для апгрейдов брони и инструментов, пришёл к тому, что без чтения NBT-данных вводимого в крафт элемента брони/инструмента ничего адекватно не работает.
Награда: на сервере не играю, но готов заплатить, рассчитываю потратить не более 300р на полностью понятное и готовое решение.
Оборудование: любые комплектующие OpenComputers 1.7.6(это обязательно), любые материалы Draconic Evolution. Могу докачать недостающие моды/аддоны, если того будет требовать программа.
Требования: научить скрипт читать NBT и применять это в рецептах крафтов. Также необходимо приложить пример нового рецепта с использованием NBT (я мало что понимаю во всём этом и могу сразу и не разобраться, как делать новые рецепты крафтов).
Ссылка на программу - https://gitlab.com/boefjim/opencomputersdraconicfusioncrafter/
Связь: ЛС или этот топик, также можно в ТГ - @glozeysk

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