Advertisement
eytixis

Controller 2

Oct 25th, 2017
144
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.22 KB | None | 0 0
  1. -- controller --
  2.  
  3. -- configuration --
  4. turtle =
  5. modemSide = "back"
  6.  
  7.  
  8. function termClear()
  9.     term.clear()
  10.     term.setCursorPos(1,1)
  11. end
  12.  
  13. function basicInterface()
  14.     command = read()
  15.     termClear()
  16.     if command == "controller" then
  17.         controller()
  18.     elseif command == "shutdown" then
  19.         shutDown()
  20.     elseif command == "get inventory" then
  21.         getInventoryAll()
  22.     elseif command == "get slot" then
  23.         print(getSlot(tonumber(read())))
  24.  
  25.     end
  26.     basicInterface()
  27. end
  28.  
  29. function getSlot(sl)
  30.     rednet.send(turtle, "get slot")
  31.     rednet.send(turtle, tonumber(sl))
  32.     return getMessage()
  33. end
  34.  
  35. function getMessage()
  36.     while true do
  37.         idl, msgl = rednet.receive()
  38.         if idl == turtle then
  39.             break;         
  40.         end
  41.     end
  42.     return msgl
  43. end
  44.  
  45. function getInventoryAll()
  46.     termClear()
  47.     for i=1,16 do
  48.         print(getSlot(i))
  49.         sleep(0.1)
  50.     end
  51.  
  52. end
  53.  
  54. function controller()
  55.     while true do
  56.         event,key = os.pullEvent("key")
  57.         if key == keys.w then
  58.             rednet.send(turtle, "go forward")
  59.         elseif key == keys.s then
  60.             rednet.send(turtle, "go back")
  61.         elseif key == keys.a then
  62.             rednet.send(turtle, "turn left")
  63.         elseif key == keys.d then
  64.             rednet.send(turtle, "turn right")
  65.         elseif key == keys.q then
  66.             rednet.send(turtle, "go up")
  67.         elseif key == keys.e then
  68.             rednet.send(turtle, "go down")
  69.         elseif key == keys.numPad7 then
  70.             rednet.send(turtle, "place up")
  71.         elseif key == keys.numPad9 then
  72.             rednet.send(turtle, "dig up")
  73.         elseif key == keys.numPad8 then
  74.             rednet.send(turtle, "inspect up")
  75.             print(getMessage())
  76.         elseif key == keys.numPad4 then
  77.             rednet.send(turtle, "place")
  78.         elseif key == keys.numPad6 then
  79.             rednet.send(turtle, "dig")
  80.         elseif key == keys.numPad5 then
  81.             rednet.send(turtle, "inspect")
  82.             print(getMessage())
  83.         elseif key == keys.numPad1 then
  84.             rednet.send(turtle, "place down")
  85.         elseif key == keys.numPad3 then
  86.             rednet.send(turtle, "dig down")
  87.         elseif key == keys.numPad2 then
  88.             rednet.send(turtle, "inspect down")
  89.             print(getMessage())
  90.         elseif key == keys.j then
  91.             termClear()
  92.             rednet.send(turtle, "send fuel")
  93.             print(getMessage())
  94.         elseif key == keys.p then
  95.             break
  96.         end
  97.     end
  98.  
  99. end
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108. rednet.open(modemSide)
  109. termClear()
  110. term.write("Hello")
  111. basicInterface()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement