-- cart_killer.lua -- Робот стоит лицом к рельсам и ломает ВСЁ перед собой (вагонетки). -- Нужны: Upgrade Tool и инструмент (Ваджра) в указанном слоте. local robot = require("robot") local computer = require("computer") local event = require("event") -- В каком слоте лежит Ваджра local TOOL_SLOT = 1 local function log(msg) print(os.date("[%H:%M:%S] ") .. msg) end local function selectTool() if robot.select(TOOL_SLOT) then return true else log("Не могу выбрать слот с инструментом: " .. tostring(TOOL_SLOT)) return false end end log("=== Робот-уборщик вагонеток запущен ===") log("Убедись, что он смотрит на рельсы, а в слоте " .. TOOL_SLOT .. " лежит Ваджра.") if not selectTool() then log("Останавливаюсь из-за ошибки выбора слота.") return end local tick = 0 while true do tick = tick + 1 -- На всякий случай каждые 100 тиков снова выбираем слот с Ваджрой if tick % 100 == 0 then selectTool() end -- Бьём перед собой local ok, reason = robot.swing() if ok then log("Удар по entity перед собой (скорее всего вагонетка). reason=" .. tostring(reason)) end -- Немного ждём и ловим Ctrl+Alt+C local deadline = computer.uptime() + 0.2 while true do local left = deadline - computer.uptime() if left <= 0 then break end local sig = {event.pull(left)} if sig[1] == "interrupted" then log("Получен сигнал interrupted, останавливаюсь.") log("=== Робот-уборщик вагонеток завершил работу ===") return end end end