Лучшие модовые сервера Minecraft

Технологии, Магия, Эволюция, Покемоны
и многие другие режимы уже ждут вас!

Начать играть
Гайды

[TechnoMagic 1.7.10] OpenComputers Создание робота для убийства мобов

Автор: Even1s · Обновлён:

Приветствую всех в моем гайде, сегодня я расскажу и покажу как сделать робота для убийства мобов

Примечание: данный гайд подойдет для многих сборок, но я играю на technomagic. Все места, которые отличаются при разных сборках я отдельно обговорю

Как вообще работает робот? Мобы спавнятся и притягиваются к роботу через материальный притяжатель. Он их убивает, и время от времени складывает лут в сундук. Для удобства соединения он ведет в другой сундук от которого идут трубы в мэ систему и в таум-восстановитель. От восстановителя меч обратно идет к роботу.
И так по кругу

1.Создание робота

Нужен робот из таких компонентов(минимальные требования):

Скрытый текст

Системный блок 2 ур

Процессор 1 ур

Видеокарта 1 ур

Память 1 ур (у меня 2 плашки, но можно и одну)

Жёсткий диск 1 ур

Дисковод

EEPROM (Lua BIOS)

Монитор 1 ур

Клавиатура

Улучшение "контроллер инвентаря"

Улучшение "инвентарь"

Собираем робота в сборщике роботов. Но запускать рано, хотя если хотите можно и запустить но ничего не получится(но и не сломается, не беспокойтесь)
Достаем дискету с openOS. Запускаем робота и пишем install, затем openos, и подтверждаем
Потом дискету можно убрать

 

2. Место для робота

unknown.png?width=1200&height=504

И здесь присутствует разница для различных сборок
Вместо таум-восстановителя можно поставить любой блок, который будет чинить наш предмет, либо хранилище, которое будет вести к нему

Принципиально важно только местоположение сундука, остальное можете расставить как вам удобно.

Теперь сервомеханизмы:

Скрытый текст

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

image.png.ee173078b3880caf0da05a2d91accb07.png

image.png.62cce7b638218c7a7e7dc9d04a4fedf0.png

В третий сервомеханизм просто надо поставить фильтр чтоб он забирал все предметы из таум-восстановителя

3.Инструментарий робота

image.png.71f48496dcbf4c37e1885048f2c14680.png

Для робота как ни странно, нужен меч
Все предметы с мобов он должен собирать сам
Но если по каким-то причинам вам нужно чтоб он складывал в сундук или он почему-то не собирает предметы просто поставьте рядом ним кинетический притяжатель и голодный сундук или другой блок, всасывающий предметы

Далее идет программирование робота
Пишите edit [название команды, которое вам нравится](для дальнейших правок так же)
копируете код и вставляете его кнопкой Insert (у вас на клавиатуре) или в настройках управления OpenComputers "вставить буфер обмена"
далее для вызова команды пишите название этой команды

Скрытый текст
local robot = require("robot")
local component = require("component")
local inv = component.inventory_controller
local MIN_TOOL_CHARGE = 0.6

while true do
  for i=1,200 do
    o,p= robot.detect()
    if o==true then
      robot.swing()
    else
      os.sleep(1)
    end
  end
  for n=1,16 do
    robot.select(n)
    robot.dropDown()
  end
  if robot.durability() < MIN_TOOL_CHARGE then
    robot.select(1)
    inv.equip()
    robot.dropDown()
    os.sleep(1)
    d = robot.compareTo(1)
    while d == true do
      os.sleep(1)
      d = robot.compareTo(1)
    end
    robot.select(1)
    inv.equip()
  end
end

А теперь я подробно распишу работу кода
Если вам не требуется полное понимание работы робота, можете не читать то, что ниже написано 

local robot = require("robot")
local component = require("component")
local inv = component.inventory_controller
local MIN_TOOL_CHARGE = 0.6

Эта часть нужна для общей работы робота: чтоб он мог работать с инвентарем и в принципе корректно

  for i=1,200 do
    o,p= robot.detect()
    if o==true then
      robot.swing()
    else
      os.sleep(1)
    end
  end

Здесь он делает 200 ударов и если мобов нет, то ждет 1 сек(так немного лучше с оптимизацией, но если хотите, то можете убрать else)

  for n=1,16 do
    robot.select(n)
    robot.dropDown()
  end

После этого он сбрасывает все вещи, кроме меча

  if robot.durability() < MIN_TOOL_CHARGE then
    robot.select(1)
    inv.equip()
    robot.dropDown()
    os.sleep(1)
    d = robot.compareTo(1)
    while d == true do
      os.sleep(1)
      d = robot.compareTo(1)
    end
    robot.select(1)
    inv.equip()
  end

Финальная часть кода. Если у меча осталось прочности менее чем 0.6(значение можно менять в самом начале кода, изменив значение MIN_TOOL_CHARGE), то он сбрасывается с остальными вещами, но если вы правильно установили сервомеханизмы то он должен идти в таум-восстановитель, а после этого обратно в робота. Затем робот экипирует меч

Примечание: при написании кода я вдохновлялся гайдом зябла на ферму дерева, но я его переделал его на убийство мобов

Скрытый текст

 

Похожие гайды