Advertisement
MadScience2728

Master7 Test

Jan 4th, 2014
457
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.62 KB | None | 0 0
  1. -- Number of neighbouring turtles
  2. numberNeighbours = 2
  3.  
  4. -- Open up modem to receive wireless broadcasts
  5. rednet.open("right")
  6.  
  7. -- Wait until neighbouring turtles are ready
  8. function waitForNeighbours(localRowsProgressed)
  9. local remoteTurtleID, remoteRowsProgressed
  10.  
  11. -- Wait for all neighbours to have done same number of rows as master
  12. for i=1, numberNeighbours do
  13. repeat
  14. -- Find how many rows the current remote turtle has done
  15. remoteTurtleID, remoteRowsProgressed, _ = rednet.receive()
  16. remoteRowsProgressed = string.match( remoteRowsProgressed, "ROW<%d+>" )
  17. remoteRowsProgressed = string.match( remoteRowsProgressed, "%d+" )
  18. remoteRowsProgressed = tonumber( remoteRowsProgressed )
  19.  
  20. -- If this is a valid rednet message, and remote turtle is lagging behind, tell him to continue
  21. if (remoteRowsProgressed ~= nil) and (remoteRowsProgressed < localRowsProgressed) then
  22. rednet.send(remoteTurtleID, "You are authorised to proceed")
  23. end
  24.  
  25. until localRowsProgressed == remoteRowsProgressed
  26. end
  27.  
  28. rednet.broadcast("You are authorised to proceed")
  29. end
  30.  
  31. -- Sync number of rows already completed to the harddrive
  32. function updateHarddrive(rowsProgressed)
  33. rowsFile = fs.open("rowsProgressed", "w")
  34. rowsFile.writeLine( tostring( rowsProgressed ) )
  35. rowsFile.close()
  36. end
  37.  
  38. -- Read number of rows already completed from harddrive on startup
  39. rowsFile = fs.open("rowsProgressed", "r")
  40.  
  41. if rowsFile ~= nil then
  42. rowsProgressed = tonumber( rowsFile.readLine() )
  43. rowsFile.close()
  44. else
  45. rowsProgressed = 0
  46. end
  47.  
  48. bool=true
  49.  
  50. while bool==true do
  51. if rs.getInput("back", true) then
  52. print ("Waiting")
  53. sleep (1)
  54. else
  55. print ("Let's Roll!")
  56. bool=false
  57. end
  58. end
  59.  
  60. X=3
  61.  
  62. print ("Startup Functions Activating")
  63. print ("Going to lowest point")
  64.  
  65. turtle.select(3)
  66. turtle.back()
  67.  
  68. for a = 1, X do
  69. turtle.digDown()
  70. turtle.attackDown()
  71. turtle.attackDown()
  72. turtle.attackDown()
  73. turtle.attackDown()
  74. turtle.attackDown()
  75. turtle.attackDown()
  76. turtle.attackDown()
  77. turtle.attackDown()
  78. turtle.attackDown()
  79. turtle.attackDown()
  80. turtle.attackDown()
  81. turtle.attackDown()
  82. turtle.attackDown()
  83. turtle.attackDown()
  84. turtle.attackDown()
  85. turtle.attackDown()
  86. turtle.attackDown()
  87. turtle.attackDown()
  88. turtle.attackDown()
  89. turtle.attackDown()
  90. turtle.down()
  91. end
  92.  
  93. for b = 1, X do
  94. turtle.digUp()
  95. while not turtle.up() do
  96. turtle.attackUp()
  97. end
  98. end
  99.  
  100. print ("Calibrated level for a flat bedrock world.")
  101. print ("---------------------------")
  102. print ("Starting World Eating Scripts!")
  103. print ("---------------------------")
  104.  
  105. turtle.dig()
  106.  
  107. while not turtle.forward() do
  108. turtle.attack()
  109. end
  110.  
  111. while true do
  112.  
  113. for i = 1, 2 do
  114.  
  115. for c = 1, X do
  116. turtle.dig()
  117. turtle.digDown()
  118. while not turtle.down() do
  119. turtle.attackDown()
  120. end
  121. end
  122.  
  123. for d = 1, X do
  124. turtle.dig()
  125. turtle.digUp()
  126. while not turtle.up() do
  127. turtle.attackUp()
  128. end
  129. end
  130.  
  131. for r = 1, 2 do
  132. turtle.dig()
  133. while not turtle.forward() do
  134. turtle.attack()
  135. end
  136.  
  137. end
  138.  
  139. Fuel = turtle.getFuelLevel()
  140.  
  141. print ("Fuel level is: "..Fuel)
  142.  
  143. if Fuel >= 8192 then
  144.  
  145. print ("Fuel level is above minimum safe limit.")
  146. print ("Refueling anyway")
  147.  
  148. turtle.select(1)
  149.  
  150. for slot = 3, 16 do
  151. result = turtle.compareTo(slot)
  152. if result == true then
  153. turtle.select(slot)
  154. turtle.refuel()
  155. turtle.select(1)
  156. print ("Refueled on slot "..slot)
  157. else
  158. end
  159. end
  160.  
  161. else
  162.  
  163. print ("Fuel is below safe limit! Not collecting enough coal!")
  164.  
  165. turtle.select(1)
  166.  
  167. for slot = 3, 16 do
  168. result = turtle.compareTo(slot)
  169. if result == true then
  170. turtle.select(slot)
  171. turtle.refuel()
  172. turtle.select(1)
  173. print ("Refueled on slot "..slot)
  174. else
  175. end
  176. end
  177. end
  178.  
  179. turtle.select(2)
  180. print ("Dropping off items")
  181.  
  182. turtle.dig()
  183.  
  184. while not turtle.place() do
  185. turtle.attack()
  186. end
  187.  
  188. for dropslot = 3, 16 do
  189. turtle.select(dropslot)
  190. turtle.drop()
  191. end
  192.  
  193. rowsProgressed = rowsProgressed + 1
  194. updateHarddrive(rowsProgressed)
  195.  
  196. waitForNeighbours(rowsProgressed)
  197.  
  198. turtle.select(2)
  199.  
  200. turtle.dig()
  201.  
  202. turtle.select(3)
  203.  
  204. end
  205. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement