drProfessorGTA

BaggerV2

Jul 31st, 2018
158
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.21 KB | None | 0 0
  1. print("Programm zum ausbaggern von Blöcken gestartet!")
  2.  
  3. local FuelBagger = turtle.getFuelLevel()
  4.  
  5. rednet.send(15,"Fuel")
  6. id,FuelBohrer,distance = rednet.receive()
  7.  
  8. print("Fuellstand Bagger: ",FuelBagger)
  9. print("Fuellstand Bohrer: ",FuelBohrer)
  10.  
  11. write("Geben Sie eine laenge ein: ")
  12. lange = io.read()
  13. write("Geben Sie eine breite ein: ")
  14. breite = io.read()
  15. write("Geben Sie eine hohe ein: ")
  16. hohe = io.read()
  17. print("Bagger gestartet!")
  18.  
  19. rednet.send(9,"BAGGER ausbaggern gestartet!")
  20.  
  21. local lange2 = 0+lange
  22. local breite2 = 0+breite
  23. local hohe2 = 0+hohe
  24.  
  25. for h=1,hohe2 do
  26.  
  27.     for b=1,breite2 do
  28.    
  29.         for l=1,lange2 do
  30.            
  31.             local success, block = turtle.inspect()
  32.                 if success then
  33.                    
  34.                     if block.name == "minecraft:dirt" or block.name == "minecraft:grass" or block.name == "minecraft:sand" or block.name == "minecraft:gravel" then
  35.                        
  36.                         while turtle.detect()==true do
  37.                             turtle.dig()
  38.                             os.sleep(0.5)
  39.                         end
  40.                    
  41.                     else
  42.                    
  43.                         rednet.send(9,"BAGGER auf nicht abbaubaren Block gestossen!!")
  44.                         rednet.send(9,"BAGGER Bohrer gerufen!")
  45.                         rednet.send(15,"start") --Position duchgeben und Bohrer prüft seine position, ob er vllt selbst das problem ist
  46.                         os.sleep(1.0)
  47.                         -- Standposition ermitteln
  48.                         xs,ys,zs = gps.locate()
  49.                         standpos = vector.new(xs,ys,zs)
  50.                         rednet.send(15,standpos:tostring())
  51.                         rednet.send(9,"BAGGER Standposition uebergeben!")
  52.                         turtle.back()
  53.                         -- Rechenposition ermitteln
  54.                         xr,yr,zr = gps.locate()
  55.                         rechenpos = vector.new(xr,yr,zr)
  56.                         turtle.back()
  57.                         if xs ~= xr then
  58.                             if xs < xr then
  59.                                 xs = xs - 1
  60.                             elseif xs > xr then
  61.                                 xs = xs + 1
  62.                             end
  63.                         kbreite = "x"
  64.                         klaenge = "z"
  65.                         elseif zs ~= zr then
  66.                             if zs < zr then
  67.                                 zs = zs - 1
  68.                             elseif zs > zr then
  69.                                 zs = zs + 1
  70.                             end
  71.                         kbreite = "z"
  72.                         klaenge = "x"
  73.                         end
  74.                         -- Blockpos ermitteln
  75.                         os.sleep(1.0)
  76.                         blockpos = vector.new(xs,ys,zs)
  77.                         rednet.send(15,blockpos:tostring())
  78.                         rednet.send(9,"BAGGER Blockposition uebergeben!")
  79.                         os.sleep(1.0)
  80.                         rednet.send(15,kbreite)
  81.                         rednet.send(9,"BAGGER Koordinaten Breite uebergeben!")
  82.                         os.sleep(1.0)
  83.                         rednet.send(15,klaenge)
  84.                         rednet.send(9,"BAGGER Koordinaten Laenge uebergeben!")
  85.                         id,message,distance = rednet.receive()
  86.                             if id == 15 then
  87.                                 if message == "fertig" then
  88.                                     rednet.send(9,"BAGGER Bohrer fertig!")
  89.                                     rednet.send(9,"BAGGER Arbeit wieder aufgenommen!")
  90.                                 end
  91.                             end
  92.                        
  93.                        
  94.                    
  95.                     end
  96.                
  97.                 end
  98.  
  99.         turtle.forward()
  100.            
  101.         end
  102.        
  103.     turtle.turnRight()
  104.     turtle.turnRight()
  105.    
  106.         for l=1,lange2 do
  107.            
  108.            
  109.             while turtle.detect()==true do
  110.                 turtle.dig()
  111.                 os.sleep(0.5)
  112.             end
  113.  
  114.         turtle.forward()
  115.            
  116.         end
  117.     turtle.turnLeft()
  118.     turtle.forward()
  119.     turtle.turnLeft()
  120.    
  121.     end
  122.    
  123.     turtle.turnLeft()
  124.    
  125.         for b=1,breite2 do
  126.        
  127.             turtle.forward()
  128.        
  129.         end
  130.        
  131.     turtle.turnRight()
  132.     turtle.up()
  133.     rednet.send(9,"BAGGER neue Schicht begonnen.")
  134.    
  135.  
  136. end
  137.  
  138.  
  139. for h=1,hohe2 do
  140.     turtle.down()
  141. end
  142.  
  143. rednet.send(9,"BAGGER ausbaggern beendet!")
  144. rednet.send(15,"fertig")
Advertisement
Add Comment
Please, Sign In to add comment