Advertisement
MadScience2728

we2, slave

Jan 14th, 2014
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.95 KB | None | 0 0
  1. --[[
  2. Changes:
  3. Turtles no longer monitor how many rows they've gone forward (no more rowsProgressed file)
  4. Master turtle simply waits for (numberNeighbours) unique turtles to send messages saying
  5. they are ready and waiting. Slave turtles repeatedly send ready and waiting signals to prevent
  6. the sync problems we were having before.
  7. --]]
  8.  
  9. -- Open up modem to receive wireless broadcasts
  10. rednet.open("right")
  11.  
  12. -- Wait until neighbouring turtles are ready
  13. function waitForMaster()
  14.   local event, param1, param2
  15.  
  16.   rednet.broadcast("I am ready and waiting master")
  17.   os.startTimer(1)
  18.  
  19.   while true do
  20.     event, param1, param2 = os.pullEvent()
  21.  
  22.     -- Resend ready message every second, in case master is not yet ready
  23.     if event == "timer" then
  24.       rednet.broadcast("I am ready and waiting master")
  25.       os.startTimer(1)
  26.    
  27.     -- Wait for master turtle to give the OK to proceed before continuing digging
  28.     elseif event == "rednet_message" then
  29.       local message = param2
  30.       if message == "You are authorised to proceed" then
  31.         break
  32.       end -- if message
  33.     end -- if event
  34.   end -- while
  35. end -- function
  36.  
  37. bool=true
  38.  
  39. while bool==true do
  40.   if rs.getInput("back", true) then
  41.       print ("Waiting")
  42.       sleep (1)
  43.   else
  44.     print ("Let's Roll!")
  45.     bool=false
  46.   end
  47. end
  48.  
  49. X=32
  50.  
  51.   print ("Starting World Eating Scripts!")
  52.  
  53.   while true do
  54.  
  55.   turtle.turnLeft()
  56.  
  57.   for u = 1, X do
  58.  
  59.   turtle.dig()
  60.  
  61.   while not turtle.forward() do
  62.     turtle.attack()
  63.     turtle.dig()
  64.   end
  65.  
  66.   end
  67.  
  68.   turtle.turnRight()
  69.   turtle.dig()
  70.   while not turtle.forward() do
  71.     turtle.dig()
  72.     turtle.attack()
  73.   end
  74.   turtle.turnRight()
  75.  
  76.   for u = 1, X do
  77.  
  78.   turtle.dig()
  79.  
  80.   while not turtle.forward() do
  81.     turtle.attack()
  82.     turtle.dig()
  83.   end
  84.  
  85.   end
  86.  
  87.   turtle.turnLeft()
  88.  
  89.   while not turtle.forward() do
  90.     turtle.attack()
  91.     turtle.dig()
  92.   end
  93.  
  94.  
  95.       Fuel = turtle.getFuelLevel()
  96.  
  97.       print ("Fuel level is: "..Fuel)
  98.  
  99.       if Fuel >= 8192 then
  100.  
  101.         print ("Fuel level is above minimum safe limit.")
  102.  
  103.       else
  104.  
  105.         print ("Fuel is below safe limit! Refueling!")
  106.  
  107.         turtle.dig()
  108.         turtle.select(2)
  109.        
  110.         while not turtle.place() do
  111.           turtle.select(3)
  112.           turtle.dig()
  113.           turtle.attack()
  114.           turtle.select(2)
  115.         end
  116.  
  117.         turtle.suck()
  118.         turtle.refuel()
  119.         turtle.dig()
  120.        
  121.         turtle.select(3)
  122.          
  123.     end
  124.  
  125.     print ("Dropping off items")
  126.  
  127.         turtle.dig()
  128.         turtle.attack()
  129.      
  130.  
  131.     turtle.select(1)
  132.     while not turtle.place() do
  133.       turtle.select(3)
  134.       turtle.dig()
  135.       turtle.attack()
  136.       turtle.select(1)
  137.     end
  138.  
  139.     for dropslot = 3, 16 do
  140.       turtle.select(dropslot)
  141.       turtle.drop()
  142.       sleep(.25)
  143.     end
  144.  
  145.     waitForMaster()
  146.  
  147.     turtle.select(1)
  148.  
  149.     turtle.dig()
  150.  
  151.     turtle.select(3)
  152.  
  153.   end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement