Advertisement
BillBodkin

Untitled

Jun 3rd, 2015
372
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.90 KB | None | 0 0
  1. rednet.open("right")
  2.  
  3. minFuel = 200
  4. on = true
  5. itemData = turtle.getItemDetail()
  6. storageServerId = 0
  7. senderId = 0
  8. finDistanceToGo = 0
  9. distanceOut = 0
  10. waiting = false
  11. client = 1
  12. itemToGet = "0"
  13. quantityToGet = 0
  14. ready = false
  15.  
  16. os.sleep(3)
  17.  
  18. while turtle.getFuelLevel() < minFuel do
  19. turtle.refuel(1)
  20. turtle.refuel(2)
  21. turtle.refuel(3)
  22. turtle.refuel(4)
  23. turtle.refuel(5)
  24. turtle.refuel(6)
  25. turtle.refuel(7)
  26. turtle.refuel(8)
  27. turtle.refuel(9)
  28. turtle.refuel(10)
  29. turtle.refuel(11)
  30. turtle.refuel(12)
  31. turtle.refuel(13)
  32. turtle.refuel(14)
  33. turtle.refuel(15)
  34. turtle.refuel(16)
  35. print("Fuel Level: "..turtle.getFuelLevel())
  36. end
  37.  
  38. while on == true do
  39. ready = false
  40. turtle.select(1)
  41. rednet.send(client, "question")
  42. rednet.send(client, "itemToGet: ")
  43. senderId, message, protocol = rednet.receive()
  44. if client == senderId then
  45. itemToGet = tostring(message)
  46. rednet.send(storageServerId, itemToGet)
  47. senderId, message, protocol = rednet.receive()
  48. if senderId == storageServerId then
  49. if message ~= "not avaliable to retrive" then
  50. finDistanceToGo = (tonumber(message) * 2)-1
  51. print (finDistanceToGo)
  52. rednet.send(client, "question")
  53. rednet.send(client, "quantityToGet: ")
  54. senderId, message, protocol = rednet.receive()
  55. if client == senderId then
  56. quantityToGet = tonumber(message)
  57. if quantityToGet > 64 then
  58. ready = false
  59. else
  60. ready = true
  61. end
  62. print("off i go!")
  63. end
  64. end
  65. end
  66. end
  67. if ready == true then
  68.  
  69. --go get stuff
  70.  
  71. while distanceOut < finDistanceToGo do
  72. while turtle.detect() do
  73. turtle.select(2)
  74. turtle.dig()
  75. turtle.select(1)
  76. end
  77. turtle.forward()
  78. distanceOut = distanceOut + 1
  79. end
  80. turtle.turnLeft()
  81. turtle.select(1)
  82. turtle.suck(1)
  83. itemData = turtle.getItemDetail()
  84. if itemData then
  85. while itemData.count < quantityToGet do
  86. i = itemData.count
  87. turtle.suck(1)
  88. itemData = turtle.getItemDetail()
  89. if itemData.count == i then
  90. --not enough
  91. quantityToGet = 0
  92. while itemData.count > 0 do
  93. turtle.drop()
  94. itemData = turtle.getItemDetail()
  95. end
  96. end
  97. end
  98. end
  99. turtle.turnLeft()
  100. while distanceOut > 0 do
  101. while turtle.detect() do
  102. turtle.select(2)
  103. turtle.dig()
  104. turtle.select(1)
  105. end
  106. turtle.forward()
  107. distanceOut = distanceOut - 1
  108. end
  109. itemData = turtle.getItemDetail()
  110. if itemData then
  111. turtle.drop()
  112. rednet.send(client, "text")
  113. rednet.send(client, "There are "..tostring(quantityToGet).." of "..tostring(itemToGet).." in the chest.")
  114. else
  115. rednet.send(client, "text")
  116. rednet.send(client, "failed, no / not enough items of that type")
  117. end
  118. turtle.turnLeft()
  119. turtle.turnLeft()
  120. print("Done")
  121. else
  122. rednet.send(client, "text")
  123. os.sleep(0.5)
  124. rednet.send(client, "failed, try again")
  125. os.sleep(3)
  126. end
  127. end
  128.  
  129.  
  130. rednet.close("right")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement