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

vx13

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

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

  • Посещение

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

    14

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

  1. Если МФСУ над роботом, то не получится.
  2. Действительно, робот не может забрать предмет из МФСУ, если МФСУ над роботом. Почему так, я не знаю. suckFromSlot возвращает false без сообщения об ошибке.
  3. У зардника OC и МФСУ для зарядки используется слот 1. Я не понимаю, почему у тебя не работает. Попробуй запустить код из предыдущего поста на полигоне:
  4. Вариант с доп. проверками. Выводит сообщения об ошибках.
  5. Такая ошибка может возникнуть в строке while inv.getStackInSlot(CHARGER_SIDE, CHARGER_SLOT).charge < tool.maxCharge do если в слоте зарядника не будет предмета, inv.getStackInSlot(CHARGER_SIDE, CHARGER_SLOT) вернёт nil. Робот смог положить бур в зарядник или он остался в инвентаре? Если не смог, то зарядник стоит не с той стороны. (Можно проверить смог ли робот положить бур в зарядник - dropIntoSlot() возвращает true в случае успеха.) Забирать бур из зарядника во время зарядки нельзя.
  6. Робот должен повернуться в нужную сторону. Оказывается, доступны только стороны front, up, down.
  7. МЭ-система вытягивает предметы из робота сама? Лучше если робот будет сам скидывать свой инвентарь, тогда он сможет сохранить нужные ему предметы. equip() - это единственный способ доступа к инструменту робота. -- ... while true do check_tool_energy() robot.swing() end Какие ошибки?
  8. Например, так: --Программа выполняет зарядку инструмента в руке робота, зарядник спереди. local sides = require "sides" local robot = require "robot" local component = require "component" local inv = component.inventory_controller -- в какой стороне от робота находится зарядник (front, left, right, down, up) local CHARGER_SIDE = sides.front -- спереди -- слот в котором будет заряжаться инструмент (слот 1 подходит для зарядников OC/IC2) local CHARGER_SLOT = 1 function charge_tool() -- перемещаем инструмент из руки в инвентарь (equip() меняет местами содержимое текущего слота и руки) inv.equip() -- получаем информацию об инструменте в текущем слоте local tool = inv.getStackInInternalSlot(robot.select()) -- перемещаем инструмент в зарядник inv.dropIntoSlot(CHARGER_SIDE, CHARGER_SLOT) -- зарядка инструмента while inv.getStackInSlot(CHARGER_SIDE, CHARGER_SLOT).charge < tool.maxCharge do os.sleep(10) end -- забираем инструмент из зарядника inv.suckFromSlot(CHARGER_SIDE, CHARGER_SLOT) -- перемещаем инструмент обратно в руку робота inv.equip() end -- зарядка потребуется при понижении прочности инструмента ниже этого значения -- для электроинструмента прочность соответствует его заряду (1 - полный заряд, 0 - разряжен) local TOOL_MIN_ENERGY = 0.3 function check_tool_energy() -- проверяем нужно ли зарядить инструмент if robot.durability() < TOOL_MIN_ENERGY then -- ставим зарядник или возвращаемся на базу к установленному заряднику -- ... -- заряжаем инструмент charge_tool() -- возвращаемся к прерванной работе -- ... end end check_tool_energy() Программа выполняет зарядку инструмента в руке робота, зарядник спереди.
  9. Почему новые звуки добавлены в виде мода MP-clientRC-1.7.10.jar (в файле толко assets, без кода), а не как ресурс-пак? Можно ли переместить эти звуки в ресурс-пак. Хотелось бы иметь возможность выбора. P. S. Клиент HD
  10. Цветок для эндер-пчёл.
  11. Ванилла 1. Яйцо жителя 500 UU. 2. Череп скелета иссушителя 900 UU 3. Яйцо дракона - 3000 UU
  12. vx13

    FARM Ферма латекса

    Идея написать сборщик латекса с гевеи появилась у меня ещё на хардовом робокрафте, на котором невозможно было получить резину из древесины. Но нашёл время только в январе, на праздниках. А сейчас только причесал код и выложил. По поводу схожести принципов работы — вариантов-то не особо много: Расположение деревьев через одно — самый компактный вариант. Без геоанализатора — не обойтись. Использование электрокраника — не ломается, не требует крафта краников. Нужен лишь источник энергии, который и так нужен. Обход точек сбора с использованием поиска пути — есть готовая библиотека, и не зачем колхозить собственный алгоритм обхода.
  13. vx13

    FARM Ферма латекса

    Программа предназначена для сбора латекса с деревьев гевеи. Использует геоанализатор и электрокраник. Построение фермы Деревья располагаются в узлах прямоугольной сетки (расстояние между деревьями 1 блок). Робот располагается в углу фермы на уровне пола. Над деревьями должно быть свободное пространство высотой 1 блок. Под роботом располагается сундук в который будет складываться латекс. Слева от робота располагается зарядное устройство для краника (может быть зарядным устройством из OC или энергохранителем из IC2). Зарядка для робота может располагаться сзади или справа (при необходимости). Схема фермы (вид верху) ####### #@#@#@# ####### #@#@#@# ^###### @ — дерево # — свободное пространство ^ — робот Скриншоты фермы Компоненты робота геоанализатор инвентарь контроллер инвентаря улучшение «Парение» (1-й уровень) — устанавливается, если высота фермы (включая свободное пространство над деревьями) больше 8; не нужен, если высота полёта робота увеличена в конфиге OC. солнечный генератор (уменьшает потребность в зарядке на базе, но для автономной работы недостаточен) интернет-карта (нужна только для установки программы из интернета) Возможная конфигурация робота Использование Перед началом работы необходимо просканировать ферму командой: rubber-farm --analyze <длина> <ширина> <направление_робота> <длина>, <ширина> — длина и ширина фермы (в стволах) <направление_робота> — сторона света, на которую ориентирован робот (south,west,east,north,юг,запад,восток,север) Робот произведёт сканирование фермы, и запишет конфигурацию в файл /home/rubber-farm.cfg. После этого можно запускать сбор латекса командой: rubber-farm --run Не забудьте положить в слот инструмента электрокраник. Используемые библиотеки table_io — запись/чтение луа-таблиц в файл (взят отсюда) erobot — обёртка над модулем "robot" добавляющая программную навигацию pathfinder — поиск пути от @Krutoy, оформленный в виде модуля (пост) Установка Выполнить последовательно следующие команды (необходима интернет-карта): pastebin get nxz9fk4G /lib/erobot.lua pastebin get 6qasEWEw /lib/pathfinder.lua pastebin get qVcqH0T6 /lib/table_io.lua pastebin get 7Ma8am97 /bin/rubber-farm.lua Или скачайте вручную: erobot.lua в /lib/erobot.lua pathfinder.lua в /lib/pathfinder.lua table_io.lua в /lib/table_io.lua rubber-farm.lua в /bin/rubber-farm.lua
  14. ME Upgrade из extracells при установке в робота крашит игру.
  15. Так как на сервере установлены моды добавляющие одинаковые металлы, предлагаю установить мод UniDict. Этот мод автоматически унифицирует одинаковые предметы из разных модов.
  16. Версия 0.7.6 http://pastebin.com/bT21Huzi Инструкция
  17. Мне только апгрейд для робота из этого мода интересен. Но я вообще могу без AE обойтись. Например, мод EnderStorage — для сервера с магией в самый раз. Два блока — эндербочка и эндерсундук. Один предмет — эндерсумка. Есть драйвер для OC.
  18. Если отрубить интеграцию, то невозможно будет узнать через OC сколько эссенции хранится в сети. Я думаю достаточно запретить жидкостный интерфейс Труб и бочек на сервере нет. Поэтому он не нужен. А через апгрейд робота таскаются только жидкости для которых существуют вёдра. А в возможности хранить эссенцию в капсулах ничего страшного нет. Этот предмет можно запретить. Он вообще отмечен как WIP.
  19. ME Fluid Pattern вызывает артефакты при открытии инвентаря. Необходимости в этом предмете нет.
  20. Отчет по взаимодействию модов EC и TE: Для хранения эссенций могут быть использованы ячейки EC. Если нужно хранить эссенцию строго в ячейках TE необходимо поставить отдельный drive с повышенным приоритетом. Ячейки EC не требуют для крафта предметов из TC, но могут хранить эссенцию, что несколько читерно. Возможно, стоит добавить в крафт жидкостных ячеек предметы из TC. Эссенция отображается в жидкостном терминале как газ, и её можно поместить в капсулы IC2. Эссенцию хранящуюся в ячейках EC можно выкачивать через жидкостный интерфейс. Проблема: если часть эссенции хранится в буфере жидкостного интерфейса, то в жидкостном терминале она не отображается, а в терминале эссенций — отображается, хотя достать её через терминал невозможно (то есть терминал эссенций отображает общее количество эссенции в сети). me_controller.getFluidsInNetwork(): имя жидкости для эссенции "gaseous$ESSENTIAessentia"; 1 ед ессенции = 250 мБ. Установка опции "enableThaumatic Energistics" в false выше описанное поведение не меняет (Во всяком случае я разницы не заметил). Тестировалось при опции B:"ExtraCells Blacklist"=false [thaumicenergistics.cfg]. Если опция установлена в true, то метод me_controller.getFluidsInNetwork() эссенции не возвращает. И эссенции хранятся строго в ячейках TE.
  21. При установленном моде ExtraCells эссенция не видна через метод me_controller.getFluidsInNetwork, если опция "ExtraCells Blacklist" [thaumicenergistics.cfg] установлена в true. ExtraCells спамит о не доступности мода InGameWikiMod при заходе на сервер. Блокируется установкой опции enableIngameWikiMod в false.
  22. Скрипт для minetweaker. Запрет крафта кварцевой бочки. Фикс рецептов её использующих.
×
×
  • Создать...