Guest User

serumPurify

a guest
Aug 13th, 2013
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.32 KB | None | 0 0
  1. mg = peripheral.wrap("left")
  2. rednet.open("right")
  3.  
  4. local numSerums = 0
  5.  
  6. function processSerums()
  7.    local serum, state
  8.  
  9.    for serum=1,numSerums do
  10.       print ("Processing serum #"..tostring(serum))
  11.       turtle.select(serum)
  12.       turtle.drop()
  13.       sleep(1)
  14.       state = mg.get()
  15.       if (state["Pure Serum"] == false) then
  16.          repeat
  17.             sleep(15)
  18.             state = mg.get()
  19.          until (state["Pure Serum"])
  20.       end
  21.       turtle.suck()
  22.    end
  23. end
  24.  
  25. function getSerums()
  26.    local serum, flag
  27.  
  28.    numSerums = 0
  29.    turtle.select(1)
  30.  
  31.    while turtle.suck() do
  32.       numSerums = numSerums + 1
  33.    end
  34. end
  35.  
  36. function doWork()
  37.    print ("Getting serums...")
  38.    turtle.turnLeft()
  39.    getSerums()
  40.    turtle.turnRight()
  41.    if (numSerums < 1) then
  42.       print ("Nothing to do!")
  43.       return
  44.    end
  45.    print ("Done")
  46.  
  47.    print ("Processing serums...")
  48.    processSerums()
  49.    print ("Done")
  50.  
  51.    print ("Returning serums...")
  52.    turtle.turnRight()
  53.    for serum=1,numSerums do
  54.       turtle.select(serum)
  55.       turtle.drop()
  56.    end
  57.    turtle.turnLeft()
  58.    print ("All done!")
  59. end
  60.  
  61. while true do
  62.    id, msg, dist = rednet.receive()
  63.    if (msg == "Purify") and (dist == 2) then
  64.       print ("Start work")
  65.       sleep(1)
  66.       doWork()
  67.       rednet.broadcast("Done")
  68.    end
  69. end
Advertisement
Add Comment
Please, Sign In to add comment