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 = 8
- -- 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=66
- print ("---------------------------")
- print ("Starting World Eating Scripts!")
- print ("---------------------------")
- while true do
- moves = 0
- ore = false
- turtle.select(2)
- ore = turtle.compareDown()
- turtle.select(3)
- while ore == false and moves < 67 do
- turtle.digDown()
- moves = moves + 1
- while not turtle.down() do
- turtle.attack()
- end
- sleep(.5)
- turtle.select(2)
- ore = turtle.compareDown()
- turtle.select(3)
- end
- for q=1, moves do
- turtle.digUp()
- while not turtle.up() do
- turtle.attack()
- turtle.digUp()
- end
- end
- for r = 1, 2 do
- turtle.dig()
- while not turtle.forward() do
- turtle.attack()
- end
- end
- print ("Dropping off items")
- turtle.dig()
- turtle.attack()
- turtle.select(1)
- while not turtle.place() do
- turtle.select(3)
- turtle.attack()
- turtle.select(1)
- end
- for dropslot = 3, 16 do
- turtle.select(dropslot)
- turtle.drop()
- end
- waitForSlaves()
- turtle.select(1)
- turtle.dig()
- turtle.select(3)
- end
Advertisement
Add Comment
Please, Sign In to add comment