[TechnoMagic 1.7.10] OpenComputers Создание робота для убийства мобов
Автор: Even1s · Обновлён:
Приветствую всех в моем гайде, сегодня я расскажу и покажу как сделать робота для убийства мобов
Примечание: данный гайд подойдет для многих сборок, но я играю на technomagic. Все места, которые отличаются при разных сборках я отдельно обговорю
Как вообще работает робот? Мобы спавнятся и притягиваются к роботу через материальный притяжатель. Он их убивает, и время от времени складывает лут в сундук. Для удобства соединения он ведет в другой сундук от которого идут трубы в мэ систему и в таум-восстановитель. От восстановителя меч обратно идет к роботу.
И так по кругу
1.Создание робота
Нужен робот из таких компонентов(минимальные требования):
Скрытый текст
Системный блок 2 ур
Процессор 1 ур
Видеокарта 1 ур
Память 1 ур (у меня 2 плашки, но можно и одну)
Жёсткий диск 1 ур
Дисковод
EEPROM (Lua BIOS)
Монитор 1 ур
Клавиатура
Улучшение "контроллер инвентаря"
Улучшение "инвентарь"
Собираем робота в сборщике роботов. Но запускать рано, хотя если хотите можно и запустить но ничего не получится(но и не сломается, не беспокойтесь)
Достаем дискету с openOS. Запускаем робота и пишем install, затем openos, и подтверждаем
Потом дискету можно убрать
2. Место для робота
И здесь присутствует разница для различных сборок
Вместо таум-восстановителя можно поставить любой блок, который будет чинить наш предмет, либо хранилище, которое будет вести к нему
Принципиально важно только местоположение сундука, остальное можете расставить как вам удобно.
Теперь сервомеханизмы:
Скрытый текст
Вместо артаны положите меч, использовать который будете именно вы
В третий сервомеханизм просто надо поставить фильтр чтоб он забирал все предметы из таум-восстановителя
3.Инструментарий робота
Для робота как ни странно, нужен меч
Все предметы с мобов он должен собирать сам
Но если по каким-то причинам вам нужно чтоб он складывал в сундук или он почему-то не собирает предметы просто поставьте рядом ним кинетический притяжатель и голодный сундук или другой блок, всасывающий предметы
Далее идет программирование робота
Пишите 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), то он сбрасывается с остальными вещами, но если вы правильно установили сервомеханизмы то он должен идти в таум-восстановитель, а после этого обратно в робота. Затем робот экипирует меч
Примечание: при написании кода я вдохновлялся гайдом зябла на ферму дерева, но я его переделал его на убийство мобов
Скрытый текст