Advertisement
Guest User

main

a guest
Jul 25th, 2017
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.12 KB | None | 0 0
  1. rednet.open("right")
  2. rednet.host("LCTu", "lct_central")
  3.  
  4. local Levels = {
  5.   ["Thomas"] = 1,
  6.   ["Paddi"] = 2
  7. }
  8.  
  9. local queue = {}
  10. local idle = true
  11. local dest = nil
  12.  
  13. dest = "Thomas"
  14.  
  15. while true do
  16.   print("Looping.")
  17.   if idle and #queue > 0 then
  18.     print("Accepting a request,")
  19.     idle = false
  20.     local req = table.remove(queue, 1)
  21.     local acc = {type = "accept_sending"}
  22.     rednet.send(req.src, acc, "LCTu")
  23.     dest = req.dest
  24.   end
  25.  
  26.   local event, id, msg, prot =
  27.     os.pullEvent()
  28.   if event == "rednet_message" and
  29.     prot == "LCTu" then
  30.     print("Received a message.")
  31.     if msg.type == "request_sending" then
  32.       print("Received a new request.")
  33.       local req = {src = id, dest = msg.dest}
  34.       table.insert(queue, req)
  35.     end
  36.   end
  37.   if event == "redstone" and
  38.     rs.getInput("back") then
  39.     print("Items landed.")
  40.     local lvl = 0
  41.     if Levels[dest] ~= nil then
  42.       lvl = Levels[dest]
  43.     end
  44.     print("Destination is "..dest)
  45.     rs.setAnalogOutput("left", lvl)
  46.     os.sleep(0.2)
  47.     rs.setAnalogOutput("left", 0)
  48.     os.sleep(0.2)
  49.     idle = true
  50.   end
  51. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement