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

vx13

Гуру
  • Публикации

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

  • Посещение

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

    14

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


  1. 15 часов назад, Alex сказал:

    Chun’s Hats? Там же вроде шляпы(модели) фиксированные только было можно выбрать. Или нет? А может они просто допилили его(модельку робота добавили).
    Самое интересное, что роботик этот даже с работающими анимированными габаритными огнями, ну или как там у него эта полоска подсветки называется.

    Вероятно, можно свои добавлять. Модельки хранятся в папке hats (zip-архив с расширением tc2 внутри json-файл и текстурка).

     


  2. 36 минут назад, Alex сказал:

    как именно? мфе может рес из сундука доставать? Или просто стакДестрой всем слотикам можно сделать? 

    Если стоит OpenPeriheral, то взаимодействовать с инвентарями можно через адаптер. А МФЭ просто подключает этот сундук к адаптеру.


  3. local robot = require "robot"
    
    local L, W = 10, 10
    
    -- /W\
    -- ***\
    -- *** L
    -- ^**/
    --
    local function forward()
      while not robot.forward() do end
    end
    
    robot.select(1)
    robot.turnRight()
    local turn
    for x = 1, L do
      if x%2 == 0 then
        turn = robot.turnRight
      else
        turn = robot.turnLeft
      end
      for z = 1, W do
        if robot.count() == 0 then
          robot.select(robot.select() + 1)
        end
        robot.placeDown()
        if z < W then
          forward()
        elseif x < L then
          turn()
          forward()
          turn()
        end
      end
    end

    Робот устанавливается в левом нижнем углу платформы. Строит змейкой слева направо. Блоки берёт из инвентаря. На точку старта не возвращается. Устанавливает блоки под себя.

     


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

    Ага. Перекинул я два этих файлика из 819 в 828, крафт конденсаторов включился, зато выключилась их починка. Понятно теперь, что было отремонтировано. 

    Похоже в ic2 где-то баг, из-за которого нельзя одновременно иметь два рецепта для одного предмета.

     

    Можно попробовать удалить все рецепты конденсаторов из ic2-конфигов и добавить их через minetweaker.


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

    ну можно и починить их. Крафт починки работает. Как я понял Асиора, у них нет первичного крафта.
    они их в 820й пофиксили http://jenkins.ic2.player.to/job/IC2_experimental/820/

    Или наоборот сломали. Проверил крафты.  Именно в 820 крафты починки переместили из shapeless в shaped:

    ; RSH-Condensator
    IC2:reactorCondensator@1 = "RRR|RVR|RSR" R:minecraft:redstone@* V:IC2:reactorVent@1 S:IC2:reactorHeatSwitch@1
    IC2:reactorCondensator@1 = "CR " C:IC2:reactorCondensator@* R:minecraft:redstone_block@*
    ; LZH-Condensator
    IC2:reactorCondensatorLap@1 = "RVR|CLC|RSR" R:minecraft:redstone@* V:IC2:reactorVentCore@1 S:IC2:reactorHeatSwitchCore@1 C:IC2:reactorCondensator@1 L:minecraft:lapis_block@*
    IC2:reactorCondensatorLap@1 = "CL " C:IC2:reactorCondensatorLap@* L:minecraft:lapis_block@*

     


  6. 29 минут назад, eu_tomat сказал:

    Хм... неожиданно. Проверил.

    В industrialcraft-2-2.2.819-experimental.jar ещё был крафт.

    В industrialcraft-2-2.2.821-experimental.jar крафт уже сломан.

    Возможно, это и не замысел никакой, а ошибка разработчика.

    В 821 крафт починки конденсатов переместили из shapeless в shaped. Может из-за этого что-то и сломалось.

    27 минут назад, Alex сказал:

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

    Разрабы ic2 про майн 1.7.10 не вспоминают уже давно.


  7. 8 часов назад, Doob сказал:

    Минус это невозможность определить наличие солярки в сборке.

    Это возможно, через computer.getDeviceInfo(). Этот функция возвращает таблицу в которой ключами является адрес устройства а значениями таблица с информацией об устройстве. Для Solar Generator:

    {
    	product = "power",
    	description = "Solar panel",
    	product = "Enligh10",
    	vendor = "MightyPirates GmbH & Co. K"
    }

    А работает ли он. можно определить через geolyzer.isSunVisible (если true, то работает, но нужно учитывать, что солярка проверяет isSunVisible раз в 100 тиков).

     

    А так да, неплохо было бы иметь у солярки метод isActive().

    • Нравится 1

  8. Не надо пытаться выкопать весь майн просто. Робот, в системнике 1-го уровня с геосканером и инвентарём с программой в eeprom и с алмазным буром на дефолтных конфигах, вполне в состоянии вскопать чанк. Конечно, это не автономный робот, и нужно как-то грузить чанк. Но и  стоит такой робот копейки.


  9. Эта докинг-станция для дрона. Устанавливается на трубы билдкрафта. Через эту станцию дрон может заряжаться (на энерготрубе) и сбрасывать вещи (на предметной). Добавляется модом Computronics.

    42 минуты назад, monkey сказал:

    Как им пользоваться? Где почитать про него? 

    Изучать доки компонента в игре (команда components) и экспериментировать.

    • Нравится 1
    • Спасибо 1

  10. 8 часов назад, Doob сказал:

    обычный транспозер умеет взаимодействовать с игроком

    Можно поподробнее, пожалуйста. Я знаю, что в старших версиях MC роботы, могут взаимодействовать со слотами брони игроков и мобов. А вот на счёт инвентаря игрока не знал.


  11. 1 минуту назад, yura0138 сказал:

    да и закрадывается сомнение что админы и модеры сами не знают как добавить робота в приват....

    Ну эту-то проблему, я думаю, админы исправят. А вот проблемы с drop, если они вызваны какой-то оптимизацией - вряд ли. Оптимизацию-то точно не уберут.


  12. 21 час назад, yura0138 сказал:

    на первый ввод команды 5 раз выдал true и выкинул булыгу из актив. слота в сундук,во второй раз также 5 true но 2 булыги выпали мимо, на 3-ий раз уже 3 булыжника выпало в мир, в следующий снова 2, и так по кругу, 10 раз команду ввёл и постоянно падало то 2, то 3 булыжника....

    Если не брать во внимание первый ввод, то закономерность прослеживается: 5 из 10 раз мимо сундука = каждая вторая.

    Создай файл 05_0dropbug.lua в папке /boot с таким содержимым (требуется перезагрузить робота):

    local component = require "component"
    
    if component.isAvailable("robot") then
    
      local defDrop = component.robot.drop
    
      component.robot.drop = function(side, n)
        defDrop(side, 0)
        defDrop(side, n)
      end
    
    end

    Если прога в eeprom или установлена вместо init достаточно вставить:

    local defDrop = component.robot.drop
    
    component.robot.drop = function(side, n)
    defDrop(side, 0)
    defDrop(side, n)
    end

    в начало программы. Пользовался когда-то таким скриптом (только не помню на каком из серверов), помогало. Если не поможет, то остаётся только просить админов это исправить.


  13.  

    10 минут назад, Alex сказал:

    А что если рецепт в столике красного блока отключен, например, на сервере, и только в компрессоре ИК он есть, например? Или роботу дается в начальных конфигах что-то, что можно пытаться скрафтить? Или как это работает? 

    Упаковка, включается при наличии верстака. Что нужно паковать настраивается в конфиге.

     

    12 минуты назад, Alex сказал:

    А  еще лучше аддон на ультимейт-геосканер, который не только плотности сканит с диким шумом на расстоянии, как ванильный в ОС, а наоборот, получает еще и четкий тип блока и его название.

    Если дальность будет как у геосканера, то слишком читерно будет. А вот возможность выполнять geolyzer.analyze() по определённым координатам будет нелишней. То есть, если нам нужны определённые руды, то делаем обычное сканирование, а затем анализируем блоки с подходящей плотностью.

    • Нравится 1

  14. 11 минуту назад, Alex сказал:

    а что за потеря? какая потеря? В этой программке робот теряет ресурсы? Или выкидывает лишние? Или что он делает? 

    Для экономии места в инвентаре прога упаковывает ресурсы в блоки. При этом, если нет 10 свободных слотов на сетку крафта и результат, ресурсы из инвентаря робота (кроме перечисленных в списке wlist) временно выбрасываются в мир на "крышу" робота и могут быть потеряны по разным причинам (лава, течение воды, плагин уничтожающий дроп по таймеру).


  15. 21 час назад, Doob сказал:

    В идеальном случае, робот может бесконечно путешествовать, закидывая добытые ресы в эндерчест.

    Для автономного робота, потеря части широко распространённых ресурсов, действительно, неважна. Но необходимость указывать ценные ресурсы в списке wlist -

     

    19 часов назад, Doob сказал:

    Для конечного пользователя это лишнее усложнение. 

    Сложнее, чем таскать дополнительный сундук.

     

    Для робота же, запущенного на выкапывание ограниченной области, возможная потеря ресурсов неприемлема. Потеря ресурсов = потеря времени игрока.


  16. 47 минут назад, Doob сказал:

    Перед упаковкой робот расчищает инвентарь, поэтому выкидывает в буфер ресурсы, которые могут повесить алгоритм упаковки.

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

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

    На добычу ресов потрачены время и энергия. Упаковка ресов проводится для экономии времени и энергии (уменьшается количество возвратов на базу для сброса лута). Выбрасывая ресурсы в мир при упаковке, мы рискуем их потерять. А значит время и энергия были потрачены в пустую?

     

    Выброс ресурсов включается только, если свободных слотов осталось меньше 10 (сетка крафта+слот результата)? Можно же в этом случае просто отключить упаковку. То есть пакуем ресурсы пока можем, затем просто собираем до заполнения инвентаря и едем на базу сдавать накопанное.

     

    Жалко же выкидывать ресы. Плюшкин во мне обливается горючими слезами.


  17. 2 минуты назад, yura0138 сказал:

    И Админ сервера молчит на вопрос как выдать права на банальный выброс предметов для робота:) хотя скорее всего это сделано для антигрифа, (хотя как можно загриферить выброшеным предметом🤔) зато выяснил что не смогу сковырнуть солн. панельки у других🌚

    Можно проверить, есть ли в команде drop() проблема:

    Поставь робота мордой к сундуку.

    Запусти интерпретатор lua.

    Положи в выделенный слот робота стак булыги.

    Выполни команду robot.drop(1)

    Посмотри переместился ли 1 блок в сундук или выпал в мир.

    Если блок попал в сундук, а не выпал  - в команде drop нет проблем.

    Если выпал, повтори команду. Если блок попал в сундук, то эта именно та проблема о которой я писал выше.

    В этом случае помогает предварительный drop нулевого кол-ва.

     

    При эксперименте в привате, добавь робота в приват как писал Alex.

     


  18. 34 минуты назад, eu_tomat сказал:

    В программе вроде так и предусмотрено при упаковке -- бросать в мир без сундука. Так экономится один слот в инвентаре.

     

    @Doob, кстати, а как оно будет работать, если сверху окажется лава или поток воды? Дроп же может сгореть, или уплыть по течению. 

    ИМХО, но выбрасывать накопанные ресурсы в мир ради их упаковки - плохая идея. Лава, вода, авто-уничтожитель дропа, другие игроки. Слоты в инвентаре робота не такой уж ценный ресурс. А если выбрасывать мусор, то и с 16 слотами можно жить. Просто будет робот чаще на базу прибегать.

     

    18 минут назад, yura0138 сказал:

    Ещё заметил такую вещь, я запустил Универсального робота фермера, по идее он после сбора урожая кидает его под себя и всё попадает в воронку, так вот, робот не кидает урожай! Он просто стоит и всё, потом снова собирает и возвращается, если воронку поставить прямо под ним, она начнёт высасывать вещи из робота.... Магия какая-то 🤔 (а мне надо пшеницу в промышленых масштабах для фарма звёзд ада🌝(для многих крафтов нужны))  

    Бросай тот лагосервер, не для OpenComputers он, а для сбора бабла с игроков. Есть и другие сервера, более дружелюбные.


  19. В 24.04.2019 в 14:28, yura0138 сказал:

    но начал выбрасывать часть ресурсов вверх себя и когда полетел копать дальше эти ресурсы(алмазные блоки и несколько изумрудов:( ) упали вниз в лаву

    Наоптимизировали там что-то на сервере. Первая команда drop не видит сундука и выбрасывает в мир. Возможно, поможет добавление "холостой" команды drop(side, 0) перед каждой командой drop(side,count). И suck глючит также.


  20. Этот параметр нигде не используется. И, по-моему, никогда не использовался. Поиск по истории даёт только два коммита с maxClipboard. В коммите, в котором было введено ограничение на длину строки, использовалось значение 1024.

    А сейчас реализация вставки другая.

    • Нравится 1

  21. краш в строке на 1.7.10

    471   if item[slot].name == tool.name and item[slot].damage < tool.damage then

    Видно часть ошибки:

    (field '?')

     getAllStacks и getAllStacks().getAll() по-разному работают на разных версиях MC

    На 1.7.10:

    • индексация  массива из getAllStacks().getAll()  начинается с 0, а не с 1.
    • getAllStacks().getAll()[slot] для пустого слота возвращает пустую таблицу, а не таблицу с «воздухом»
    • getAllStacks()[slot] для пустого слота возвращает nil, а не таблицу с «воздухом»

     

     

    • Нравится 1

  22. На данный момент, похоже, никак.

     

    Метод worldObject.getBlockId - возвращает числовой id блока.

     

    Метод debug.scanContent, добавленный в 1.7.3

    scanContentsAt(x: number, y: number, z: number[, worldId: number]):boolean, string, table

    должен вернуть 3 параметром таблицу с описанием блока/сущности, но возвращает строку вида "net.minecraft.block.BlockStone@46a488c2" (вероятно, баг).

    https://ocdoc.cil.li/component:debug

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