Advertisement
Wyvern67

Shutzengreiffer

Dec 4th, 2015
266
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.08 KB | None | 0 0
  1. rednet.open("right")
  2. inv=peripheral.wrap("left")
  3. state = "none"
  4. chatbox = 3478
  5.  
  6. function _console(text)
  7.     print(text)
  8. end
  9.  
  10. function empty(side)
  11.     if side == "top" then
  12.         for i=1,16 do
  13.             if turtle.getItemCount(i) then
  14.                 turtle.select(i)
  15.                 turtle.dropUp()
  16.             end
  17.         end
  18.     elseif side == "bottom" then
  19.         for i=1,16 do
  20.             if turtle.getItemCount(i) then
  21.                 turtle.select(i)
  22.                 turtle.dropDown()
  23.             end
  24.         end
  25.     else
  26.         turtle.turnLeft()
  27.         turtle.turnLeft()
  28.         for i=1,16 do
  29.             if turtle.getItemCount(i) then
  30.                 turtle.select(i)
  31.                 turtle.drop()
  32.             end
  33.         end
  34.         turtle.turnLeft()
  35.         turtle.turnLeft()
  36.     end
  37. end
  38.  
  39. function pulse(side, delay)
  40.     rs.setOutput(side, true)
  41.     sleep(delay)
  42.     rs.setOutput(side, false)
  43.     sleep(delay)
  44. end
  45.  
  46. function take()
  47.     turtle.select(1)
  48.     turtle.forward()
  49.     turtle.turnLeft()
  50.     while turtle.suck() == true do
  51.         _console("Sucked a stack from deployer 2")
  52.     end
  53.     turtle.turnRight()
  54.     turtle.forward()
  55.     turtle.turnLeft()
  56.     while turtle.suck() == true do
  57.         _console("Sucked a stack from deployer 1")
  58.     end
  59.     turtle.turnRight()
  60.     turtle.back()
  61.     turtle.back()
  62.    
  63.     for i=3,16 do
  64.         if turtle.getItemCount(i) > 0 then
  65.             state = "none"
  66.         end
  67.     end
  68.    
  69.     if state == "normal" then
  70.         empty("bottom")
  71.     elseif state == "indus" then
  72.         empty("top")
  73.     else
  74.         empty("back")
  75.     end
  76.     state = "none"
  77. end
  78.  
  79. function drop()
  80.     if turtle.getItemCount(1) > 0 and turtle.getItemCount(2) > 0 then
  81.         turtle.forward()
  82.         turtle.turnLeft()
  83.         turtle.select(1)
  84.         turtle.drop()
  85.         turtle.turnRight()
  86.        
  87.         turtle.forward()
  88.         turtle.turnLeft()
  89.         turtle.select(2)
  90.         turtle.drop()
  91.         turtle.turnRight()
  92.        
  93.         turtle.back()
  94.         turtle.back()
  95.     end
  96. end
  97.  
  98. function giveIndus()
  99.     turtle.select(1)
  100.     for i=1,2 do
  101.         if turtle.suckUp() == false then
  102.             return false
  103.         end
  104.     end
  105.     if turtle.getItemCount(2) < 64 then
  106.         turtle.suckUp()
  107.         if turtle.getItemCount(3) > 0 then
  108.             turtle.select(3)
  109.             turtle.dropUp()
  110.         end
  111.     end
  112.     drop()
  113.     state = "indus"
  114. end
  115.  
  116. function giveNormal()
  117.     turtle.select(1)
  118.     for i=1,2 do
  119.         if turtle.suckDown() == false then
  120.             return false
  121.         end
  122.     end
  123.     if turtle.getItemCount(2) < 64 then
  124.         turtle.suckDown()
  125.         if turtle.getItemCount(3) > 0 then
  126.             turtle.select(3)
  127.             turtle.dropDown()
  128.         end
  129.     end
  130.     drop()
  131.     state = "normal"
  132. end
  133.  
  134. function giveSand()
  135.     turtle.select(1)
  136.     turtle.turnRight()
  137.     for i=1,2 do
  138.         if turtle.suck() == false then
  139.             return false
  140.         end
  141.     end
  142.     if turtle.getItemCount(2) < 64 then
  143.         turtle.suck()
  144.         if turtle.getItemCount(3) > 0 then
  145.             turtle.select(3)
  146.             turtle.drop()
  147.         end
  148.     end
  149.     turtle.turnLeft()
  150.     drop()
  151.     state = "sand"
  152. end
  153.  
  154. while true do
  155.     sender, message = rednet.receive()
  156.     if sender == chatbox then
  157.         if message == "take" then
  158.             take()
  159.         elseif message == "giveIndus" then
  160.             take()
  161.             giveIndus()
  162.             rednet.send(chatbox, "ok")
  163.         elseif message == "giveNormal" then
  164.             take()
  165.             giveNormal()
  166.             rednet.send(chatbox, "ok")
  167.         elseif message == "giveSand" then
  168.             take()
  169.             giveSand()
  170.             rednet.send(chatbox, "ok")
  171.         else
  172.             _console("Erreur: Message non compris. "..message)
  173.         end
  174.     end
  175. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement