Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --[[
- Changes:
- Turtles no longer monitor how many rows they've gone forward (no more rowsProgressed file)
- Master turtle simply waits for (numberSlaves) unique turtles to send messages saying
- they are ready and waiting. Slave turtles repeatedly send ready and waiting signals to prevent
- the sync problems we were having before.
- --]]
- -- Number of neighbouring turtles
- numberSlaves = 65
- -- Open up modem to receive wireless broadcasts
- rednet.open("right")
- -- Wait until neighbouring turtles are ready
- function waitForSlaves()
- local IDsOfWaitingTurtles = {}
- local remoteTurtleID, rednetMessage
- local newTurtleIsReportingReady
- -- Wait for (numberNeighbours) unique turtles to send ready messages
- repeat
- remoteTurtleID, rednetMessage, _ = rednet.receive()
- if rednetMessage == "I am ready and waiting master" then
- -- Check if turtle has replied already
- newTurtleIsReportingReady = true
- for i=1, table.getn(IDsOfWaitingTurtles) do
- if remoteTurtleID == IDsOfWaitingTurtles[i] then
- newTurtleIsReportingReady = false
- break
- end
- end
- if newTurtleIsReportingReady then
- table.insert(IDsOfWaitingTurtles, remoteTurtleID)
- end
- end
- until table.getn(IDsOfWaitingTurtles) >= numberSlaves
- rednet.broadcast("You are authorised to proceed")
- end
- bool=true
- while bool == true do
- if rs.getInput("back", true) then
- print ("Waiting")
- sleep (1)
- else
- print ("Let's Roll!")
- bool=false
- end
- end
- X=32
- print ("Starting World Eating Scripts!")
- while true do
- turtle.turnLeft()
- for u = 1, X do
- turtle.dig()
- while not turtle.forward() do
- turtle.attack()
- turtle.dig()
- end
- end
- turtle.turnRight()
- turtle.forward()
- turtle.turnRight()
- for u = 1, X do
- turtle.dig()
- while not turtle.forward() do
- turtle.attack()
- turtle.dig()
- end
- end
- turtle.turnLeft()
- Fuel = turtle.getFuelLevel()
- print ("Fuel level is: "..Fuel)
- if Fuel >= 8192 then
- print ("Fuel level is above minimum safe limit.")
- else
- print ("Fuel is below safe limit! Refueling!")
- turtle.dig()
- turtle.select(2)
- while not turtle.place() do
- turtle.select(3)
- turtle.dig()
- turtle.attack()
- turtle.select(2)
- end
- turtle.suck()
- turtle.refuel()
- turtle.dig()
- turtle.select(3)
- end
- print ("Dropping off items")
- turtle.dig()
- turtle.attack()
- turtle.select(1)
- while not turtle.place() do
- turtle.select(3)
- turtle.dig()
- turtle.attack()
- turtle.select(1)
- end
- for dropslot = 3, 16 do
- turtle.select(dropslot)
- turtle.drop()
- sleep(.25)
- end
- waitForSlaves()
- turtle.select(1)
- turtle.dig()
- turtle.select(3)
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement