Telida

sender

Jul 28th, 2021 (edited)
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.27 KB | None | 0 0
  1. local component = require("component")
  2. local event = require("event")
  3. local port = 512
  4. local keyWord = "ECSGrief"
  5. local modem
  6.  
  7. if component.isAvailable("modem") then
  8.     modem = component.modem
  9. else
  10.     error("Этой программе требуется беспроводной модем для работы!")
  11. end
  12.  
  13. modem.open(port)
  14.  
  15. -------------------------------------------------------------------------------------
  16.  
  17. local commands = {
  18.     [17] = {
  19.         messageToRobot = "forward",
  20.         screenText = "Приказываю роботу двигаться вперед",
  21.     },
  22.     [31] = {
  23.         messageToRobot = "back",
  24.         screenText = "Приказываю роботу двигаться назад",
  25.     },
  26.     [30] = {
  27.         messageToRobot = "turnLeft",
  28.         screenText = "Приказываю роботу повернуться налево",
  29.     },
  30.     [32] = {
  31.         messageToRobot = "turnRight",
  32.         screenText = "Приказываю роботу повернуться направо",
  33.     },
  34.     [57] = {
  35.         messageToRobot = "up",
  36.         screenText = "Приказываю роботу двигаться вверх",
  37.     },
  38.     [42] = {
  39.         messageToRobot = "down",
  40.         screenText = "Приказываю роботу двигаться вниз",
  41.     },
  42.     [18] = {
  43.         messageToRobot = "use",
  44.         screenText = "Приказываю роботу использовать предмет в руках",
  45.     },
  46.     [46] = {
  47.         messageToRobot = "swing",
  48.         screenText = "Приказываю роботу сломать блок спереди",
  49.     },
  50.     [14] = {
  51.         messageToRobot = "exit",
  52.         screenText = "Приказываю роботу завершить программу принятия сообщений",
  53.     },
  54.     [59] = {
  55.         messageToRobot = "selfDestroy",
  56.         screenText = "Приказываю роботу уничтожить всю информацию на диске. Ему было приятно работать с тобой, повелитель!",
  57.     }
  58. }
  59.  
  60. local function send()
  61.     while true do
  62.         local eventData = { event.pull() }
  63.         if eventData[1] == "key_down" then
  64.             if commands[eventData[4]] then
  65.                 print(commands[eventData[4]].screenText)
  66.                 modem.broadcast(port, keyWord, commands[eventData[4]].messageToRobot)
  67.                 if commands[eventData[4]].messageToRobot == "exit" then
  68.                     return
  69.                 end
  70.             end
  71.         end
  72.     end
  73. end
  74.  
  75. local function main()
  76.     print(" ")
  77.     print("Добро пожаловать в программу ECSGrief Sender v1.0 alpha early access!")
  78.     print(" ")
  79.     print("Используйте WASD, а также SPACE и SHIFT для перемещения. Нажатие клавиши E заставит робота использовать предмет, находящийся у него в руках. Также вы можете использовать клавишу F1 для экстренного удаления всех данных с робота и BACKSPACE для простого выхода из программы. Удачной охоты за ресами!")
  80.     print(" ")
  81.     send()
  82.     print(" ")
  83.     print("Программа доминации над роботом завершена!")
  84. end
  85.  
  86. -------------------------------------------------------------------------------------
  87.  
  88. main()
  89.  
  90. -------------------------------------------------------------------------------------
Add Comment
Please, Sign In to add comment