Advertisement
mouse03f

online_minetrip

Mar 3rd, 2021 (edited)
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.64 KB | None | 0 0
  1. function receive()
  2.     while(true) do
  3.     local id, msg = rednet.receive()
  4.     print(msg)
  5.     end
  6. end
  7.  
  8. function main()
  9. local msg = abc
  10. startx,starty,startz=gps.locate()
  11. x,y,z = gps.locate()
  12.  
  13. term.clear()
  14. term.setCursorPos(1,1)    
  15. rednet.open("right")
  16. rednet.broadcast("Robo01 connected")
  17. print("please open 'online' on your other pocket device.")
  18. print("press enter to begin")
  19. io.read()
  20.      
  21. function sendcoords()
  22.     x,y,z = gps.locate()
  23.     rednet.broadcast("Robo01: "..x.. " " ..y.. " " ..z)
  24. end
  25.  
  26. function home()
  27.     rednet.broadcast("Robo01 returning home")
  28.     endx,endy,endz = gps.locate(10)
  29.     end1 = true
  30.     while(end1)
  31.     do
  32.         turtle.turnLeft()
  33.         turtle.dig()
  34.         turtle.forward()
  35.         x,y,z = gps.locate()
  36.         sendcoords()
  37.        
  38.         disendx = startx - endx
  39.         if disendx < 0
  40.         then
  41.             disendx = disendx * -1
  42.         end
  43.        
  44.         discurx = startx - x
  45.         if discurx < 0
  46.         then
  47.             discurx = discurx * -1
  48.         end
  49.        
  50.         if disendx > discurx
  51.         then
  52.             end1 = false
  53.         end
  54.         turtle.back()
  55.     end
  56.      
  57.     end2 = true
  58.     while(end2)
  59.     do
  60.         turtle.dig()
  61.         turtle.forward()
  62.         x,y,z = gps.locate()
  63.         sendcoords()
  64.      
  65.         discurx = startx - x
  66.         if discurx < 0
  67.         then
  68.             discurx = discurx * -1
  69.         end
  70.      
  71.         if discurx == 0
  72.         then
  73.             end2 = false
  74.         end
  75.     end
  76.      
  77.     end3 = true
  78.     while(end3)
  79.     do
  80.         turtle.turnLeft()
  81.         turtle.dig()
  82.         turtle.forward()
  83.         x,y,z = gps.locate()
  84.         sendcoords()
  85.        
  86.         disendz = startz - endz
  87.         if disendz < 0
  88.         then
  89.             disendz = disendz * -1
  90.         end
  91.        
  92.         discurz = startz - z
  93.         if discurz < 0
  94.         then
  95.             discurz = discurz * -1
  96.         end
  97.        
  98.         if disendz > discurz
  99.         then
  100.             end3 = false
  101.         end
  102.         turtle.back()
  103.     end
  104.      
  105.     end4 = true
  106.     while(end4)
  107.     do
  108.         turtle.dig()
  109.         turtle.forward()
  110.         x,y,z = gps.locate()
  111.         sendcoords()
  112.      
  113.         discurz = startz - z
  114.         if discurz < 0
  115.         then
  116.             discurz = discurz * -1
  117.         end
  118.      
  119.         if discurz == 0
  120.         then
  121.             end4 = false
  122.         end
  123.     end
  124.      
  125.     end5 = true
  126.     while(end5)
  127.     do
  128.         turtle.digUp()
  129.         turtle.up()
  130.         x,y,z = gps.locate()
  131.         sendcoords()
  132.         if y == starty
  133.         then
  134.         end5 = false
  135.         turtle.turnLeft()
  136.         turtle.turnLeft()
  137.         turtle.turnLeft()
  138.         turtle.turnLeft()
  139.         end
  140.     end
  141. end
  142.  
  143.  
  144. while(y > 12)
  145. do
  146.     turtle.digDown()
  147.     turtle.down()
  148.     x,y,z = gps.locate()
  149.     sendcoords()
  150. end
  151.  
  152. mine = true
  153. while(mine)
  154. do
  155.     if mine == true
  156.     then
  157.         turn = math.random(1,3)
  158.         rnd = math.random(20,100)
  159.     end
  160.     while(rnd > 0)
  161.     do
  162.         turtle.dig()
  163.         turtle.forward()
  164.         turtle.digDown()
  165.         turtle.digUp()
  166.         sendcoords()
  167.         rnd = rnd - 1
  168.        
  169.         slot = turtle.getItemCount(16)
  170.         if slot > 0
  171.         then
  172.             rnd = 0
  173.             mine = false
  174.             turn = 0
  175.         end
  176.        
  177.         if msg == "home"
  178.         then
  179.             rnd = 0
  180.             mine = false
  181.             turn = 0
  182.         end
  183.  
  184.         end
  185.     if turn == 1
  186.     then
  187.         turtle.turnRight()
  188.     elseif turn > 1
  189.     then
  190.         turtle.turnLeft()
  191.     end
  192. end
  193. home()
  194. end
  195. parallel.waitForAll(receive,main)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement