Glitchies

MyMain

Aug 3rd, 2013
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.13 KB | None | 0 0
  1. rednet.open("right")
  2. local miners = {}
  3. local loaders = {}
  4. local power = {}
  5. local fuelBosses = {}
  6. local tArgs = {...}
  7.  
  8.  
  9. function findTurtles()
  10. local gotMsg = true
  11. local id, msg, dist
  12. rednet.broadcast("checkIn")
  13. while gotMsg do
  14. id,msg,dist = rednet.receive(1)
  15. if msg == "Miner" then
  16. print(id..":"..msg)
  17. miners[#miners+1] = id
  18. elseif msg == "chunkloader" then
  19. print(id..":"..msg)
  20. loaders[#loaders+1] = id
  21. elseif msg == "power" then
  22. print(id..":"..msg)
  23. power[#power+1] = id
  24. elseif msg == "fuelBoss" then
  25. print(id..":"..msg)
  26. fuelBosses[#fuelBosses+1] = id
  27. miners[#miners+1] = id
  28. elseif msg == "Done" then
  29. else
  30. print("Done")
  31. gotMsg = false
  32. end
  33. end
  34. end
  35.  
  36. function checkFuel()
  37. if turtle.getFuelLevel() < 900 then
  38. rednet.send(fuelBosses[1], "fuelBoss")
  39. rednet.receive()
  40. turtle.select(3)
  41. turtle.refuel()
  42. turtle.select(1)
  43. end
  44. end
  45.  
  46. function place()
  47. turtle.select(1)
  48. turtle.place()
  49. turtle.down()
  50. turtle.select(2)
  51. turtle.place()
  52. turtle.attack()
  53. end
  54.  
  55. function remove()
  56. turtle.select(2)
  57. turtle.dig()
  58. turtle.up()
  59. turtle.select(1)
  60. turtle.dig()
  61. end
  62.  
  63. function powerGo()
  64. for x,y in pairs(power) do
  65. rednet.send(y, "powerPlace")
  66. end
  67. end
  68.  
  69. function minersGo()
  70. for x,y in pairs(miners) do
  71. rednet.send(y, "cycle")
  72. end
  73. place()
  74. local total = 0
  75. while total < #miners do
  76. local id,msg,dist=rednet.receive()
  77. total = total+1
  78. end
  79. remove()
  80. end
  81.  
  82. function powerStop()
  83. for x,y in pairs(power) do
  84. rednet.send(y, "powerRemove")
  85. end
  86. end
  87.  
  88. function moveLoaders()
  89. for x,y in pairs(loaders) do
  90. rednet.send(y,"chunkLoad")
  91. rednet.receive()
  92. sleep(0.5)
  93. end
  94. end
  95.  
  96. findTurtles()
  97. if tArgs[1] == nil then tArgs[1] = 1 end
  98. for i = 1,tArgs[1] do
  99. print("Interation: "..tostring(i).." of "..tostring(tArgs[1]))
  100. powerGo()
  101. minersGo()
  102. powerStop()
  103. turtle.forward()
  104. checkFuel()
  105. moveLoaders()
  106. end
Advertisement
Add Comment
Please, Sign In to add comment