Archives
Trending
Support
Login
clear text
XML
Django
JavaScript
MATLAB
C
C++
C#
Python
SQL
Shell
Bash
Markdown
YAML
JSON
HTML
CSS
PHP
Java
Ruby
Go
Rust
Swift
Kotlin
Arduino
TypeScript
Perl
Autohotkey
Lua
SQF
R
Scala
Haskell
Groovy
Dart
Clojure
VB.NET
Objective-C
PowerShell
Bash
CoffeeScript
Verilog
-- 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
Mark as private (unlisted)
for 30 minutes
for 6 hours
for 1 day
for 1 week
for 1 month
for 1 year
everlasting (like CCCP)