Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local comp = require("component")
- local modem = comp.modem
- local event = require("event")
- local term = require("term")
- local gpu = comp.gpu
- local slot = 1
- local wm, hm = gpu.maxResolution()
- local port = 255
- modem.open(port)
- function link()
- io.write("Трехзначный пароль дрона>>")
- pass = io.read()
- modem.broadcast(port,pass)
- end
- buttons = {
- [17]="drone.move(1, 0, 0)",
- [31]="drone.move(-1, 0, 0)",
- [30]="drone.move(0, 0, -1)",
- [32]="drone.move(0, 0, 1)",
- [42]="drone.move(0, -1, 0)",
- [57]="drone.move(0, 1, 0)",
- [23]="for i=1,drone.inventorySize() do drone.select(i) drone.drop(0) end",
- [37]="for i=1, drone.inventorySize() do for i=0, 5 do drone.suck(i) end end",
- [38]="drone.drop(0)",
- [50]="leash.unleash()",
- [49]="leash.leash(0)"
- }
- local stat="open"
- local beam = false
- while true do
- term.clear()
- if stat=="open" then
- print([[
- Дрон - Управление
- Движение - WASD
- Другое:
- 1 - Подключиться к дрону(Пульт)
- 2 - Изменить текст статуса(Дрон)
- 3 - Ввести команду(Дрон)
- 4 - Выйти(Пульт)
- P - Переместиться на координаты относительно дрона(Движение)
- H - Свернуть/развернуть окно(Пульт)
- K - Забрать все вещи(Инвентарь)
- I - Выбросить/положить все вещи(Инвентарь)
- U - Выбрать следующий слот(Инвентарь)
- Y - Выбрать предыдущий слот(Инвентарь)
- L - Выбросить всё из слота(Инвентарь)
- N - Захватить сущность под дроном(Поводок)
- M - Отпустить все сущности(Поводок)
- Примечание: При выходе соединение с дроном само отключает дрона!
- ]])
- end
- local e = {event.pull()}
- if e[1] == "key_down" then
- if e[4] == 5 then
- local h, w = gpu.maxResolution()
- gpu.setResolution(h, w)
- modem.broadcast(port, "computer.shutdown()")
- print("Вышли")
- break
- elseif e[4] == 21 then
- if slot == 1 then
- slot = 2
- end
- slot = slot - 1
- modem.broadcast(port, "drone.select(" .. slot .. ")")
- elseif e[4] == 22 then
- if slot == 8 then
- slot = 7
- end
- slot = slot + 1
- modem.broadcast(port, "drone.select(" .. slot .. ")")
- elseif e[4] == 2 then
- link()
- elseif e[4] == 25 then
- term.clear()
- print("Введите X координату относительно дрона")
- io.write(">>")
- local dX = io.read()
- print("Введите Y координату относительно дрона")
- io.write(">>")
- local dY = io.read()
- print("Введите Z координату относительно дрона")
- io.write(">>")
- local dZ = io.read()
- modem.broadcast(port, "move(" .. dX .. ", " .. dY .. ", " .. dZ .. ")")
- elseif e[4] == 35 then
- if stat=="closed" then
- gpu.setResolution(wm, hm)
- stat="open"
- elseif stat=="open" then
- gpu.setResolution(1, 1)
- stat="closed"
- end
- elseif e[4] == 3 then
- print("Текст для дрона:")
- io.write(">>")
- modem.broadcast(port, "drone.setStatusText('" .. io.read() .. "')")
- elseif e[4] == 4 then
- print("Команда для дрона")
- io.write(">>")
- modem.broadcast(port, io.read())
- else
- if buttons[e[4]] then
- modem.broadcast(port, buttons[e[4]])
- end
- end
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement