Advertisement
Karnel

Robot

Jul 14th, 2016
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.37 KB | None | 0 0
  1. local r = require("robot")
  2. local com = require("component")
  3. local event = require("event")
  4. local modem = com.modem
  5. local port = 666   ---------> используемый порт
  6. local pass = "gogo" --------> пароль подключения
  7. local invSize = r.inventorySize()
  8.  
  9. modem.close()
  10. modem.open(port)
  11. modem.setStrength(500)
  12.  
  13. local _, clientAddr, serverAddr, _, _, _ = event.pull("modem_message", nil, nil, port, nil, pass) --  определение сервера
  14.  
  15. local function ready()
  16.     modem.send(serverAddr, port, clientAddr)
  17. end
  18.  
  19. local function drop()
  20.     for i=1, invSize do
  21.         r.select(i)
  22.         r.drop()
  23.         r.select(1)
  24.     end
  25. end
  26.  
  27. ready()
  28.  
  29. local doit = {}
  30. doit.up = r.up
  31. doit.down = r.down
  32. doit.left = r.turnLeft
  33. doit.right = r.turnRight
  34. doit.forward = r.forward
  35. doit.back = r.back
  36. doit.swing = r.swing
  37. doit.swingUp = r.swingUp
  38. doit.swingDown = r.swingDown
  39. doit.use = r.use
  40. doit.useUp = r.useUp
  41. doit.useDown = r.useDown
  42. doit.place = r.place
  43. doit.placeUp = r.placeUp
  44. doit.placeDown = r.placeDown
  45. doit.suck = r.suck
  46. doit.suckUp = r.suckUp
  47. doit.suckDown = r.suckDown
  48. doit.drop = drop
  49. doit.password = ready
  50. doit[pass] = ready
  51.  
  52. while true do
  53.     local _, _, _, _, _, ev = event.pull("modem_message", nil, serverAddr, port)
  54.     for k,v in pairs(doit) do
  55.         if k == ev then
  56.             modem.send(serverAddr, port, doit[ev]())
  57.             break
  58.         end
  59.     end
  60. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement