2016-02-23 05:42:33 +03:00

115 lines
4.2 KiB
Lua
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

local component = require("component")
local event = require("event")
local port = 512
local keyWord = "ECSGrief"
local modem
if component.isAvailable("modem") then
modem = component.modem
else
error("Этой программе требуется беспроводной модем для работы!")
end
modem.open(port)
-------------------------------------------------------------------------------------
local commands = {
[17] = {
messageToRobot = "forward",
screenText = "Приказываю роботу двигаться вперед",
},
[31] = {
messageToRobot = "back",
screenText = "Приказываю роботу двигаться назад",
},
[30] = {
messageToRobot = "turnLeft",
screenText = "Приказываю роботу повернуться налево",
},
[32] = {
messageToRobot = "turnRight",
screenText = "Приказываю роботу повернуться направо",
},
[57] = {
messageToRobot = "up",
screenText = "Приказываю роботу двигаться вверх",
},
[42] = {
messageToRobot = "down",
screenText = "Приказываю роботу двигаться вниз",
},
[18] = {
messageToRobot = "use",
screenText = "Приказываю роботу использовать предмет в руках",
},
[14] = {
messageToRobot = "exit",
screenText = "Приказываю роботу завершить программу принятия сообщений",
},
[59] = {
messageToRobot = "selfDestroy",
screenText = "Приказываю роботу уничтожить всю информацию на диске. Ему было приятно работать с тобой, повелитель!",
},
[19] = {
messageToRobot = "redstone",
screenText = "Приказываю роботу включить/выключить редстоун вокруг себя",
},
[16] = {
messageToRobot = "drop",
screenText = "Приказываю роботу выкинуть предмет из выбранного слота",
},
[33] = {
messageToRobot = "changeToolUsingMode",
screenText = "Приказываю роботу изменить режим использования предмета, а именно swing() или use()",
},
}
local function send()
while true do
local eventData = { event.pull() }
if eventData[1] == "key_down" then
if commands[eventData[4]] then
print(commands[eventData[4]].screenText)
modem.broadcast(port, keyWord, commands[eventData[4]].messageToRobot)
if commands[eventData[4]].messageToRobot == "exit" then
return
end
end
elseif eventData[1] == "scroll" then
if eventData[5] == 1 then
print("Приказываю роботу увеличить режим использования предметов, т.е. useDown() изменится на use(), а use() на useUp()")
modem.broadcast(port, keyWord, "increaseToolUsingSide")
else
print("Приказываю роботу уменьшить режим использования предметов, т.е. useUp() изменится на use(), а use() на useDown()")
modem.broadcast(port, keyWord, "decreaseToolUsingSide")
end
end
end
end
local function main()
print(" ")
print("Добро пожаловать в программу ECSGrief Sender v1.0 alpha early access!")
print(" ")
print("Используйте WASD, а также SPACE и SHIFT для перемещения. Нажатие клавиши E заставит робота использовать предмет, находящийся у него в руках. Также вы можете использовать клавишу F1 для экстренного удаления всех данных с робота и BACKSPACE для простого выхода из программы. Удачной охоты за ресами!")
print(" ")
send()
print(" ")
print("Программа доминации над роботом завершена!")
end
-------------------------------------------------------------------------------------
main()
-------------------------------------------------------------------------------------