Advertisement
Birog

Quarry3

Feb 16th, 2013
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function Titel()
  2.     shell.run("clear")
  3.     print("**** Entwickelt & Copyright Birog ****")
  4.     print("              Version a32             ")
  5.     print("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
  6.     print()
  7.     print(" Bitte Hoehe angeben wo Sie stehen (y)")
  8.     write(" Hoehe : ")
  9.     yy= io.read()
  10.     print()
  11.     write(" Laenge eingeben (max64): " )
  12.     ll = io.read()
  13.     print()
  14.     write(" Breite eingeben (max64): " )
  15.     bb = io.read()
  16.     sleep(2)
  17.     yy = yy + 0
  18.     ll = ll +0
  19.     bb = bb +0
  20.  
  21.     shell.run("clear")
  22.     print("**** Entwickelt & Copyright Birog ****")
  23.     print("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
  24.     print("       PråBCfung der Werte låA4uft        ")
  25.         print(yy1)
  26.     sleep(1)
  27.  
  28.       if yy > 100 then
  29.        print("Error - Es wurde eine Hoehe von "..yy.." angegeben.")
  30.        write("Max Arbeitshoehe 100 - Enter zum erneuten eingeben  ")
  31.        io.read()
  32.        Titel()
  33.       end
  34.       if ll > 64 then
  35.        print("Error - Es wurde eine Laenge von "..ll.." angegeben.")
  36.        write("Max wert 64 - Enter zum erneuten eingeben")
  37.        io.read()
  38.        Titel()
  39.       end
  40.       if bb > 64 then
  41.        print("Error - Es wurde eine Breite von "..bb.." angegeben.")
  42.        write("Max wert 64 - Enter zum erneuten eingeben")
  43.        io.read()
  44.        Titel()
  45.       end
  46.     print("           PråBCfung beendet            ")
  47.     print()
  48.     print("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
  49.     sleep(2)  
  50.     a = 0
  51.     yy2=100
  52.     yy1 = yy2 - yy
  53.     bb2 = bb +1
  54. end
  55.  
  56. -- Auftanken
  57. local function refuel()
  58.     local fuelLevel = turtle.getFuelLevel()
  59.     if fuelLevel == "unlimited" or fuelLevel > 0 then
  60.         return
  61.     end
  62.    
  63. local function tryRefuel()
  64.     for n=15,16 do
  65.         if turtle.getItemCount(n) > 0 then
  66.             turtle.select(n)
  67.             if turtle.refuel(1) then
  68.                 turtle.select(1)
  69.                 return true
  70.             end
  71.         end
  72.     end
  73.     turtle.select(1)
  74.         return false
  75.     end
  76.    
  77.     if not tryRefuel() then
  78.         print( "Add more fuel to continue." )
  79.         while not tryRefuel() do
  80.             sleep(1)
  81.         end
  82.         print( "Resuming." )
  83.     end
  84. end
  85.  
  86. -- Abbau vorraus
  87. local function tryDig()
  88.     while turtle.detect() do
  89.         if turtle.dig() then
  90.             sleep(0.5)
  91.         else
  92.             return false
  93.         end
  94.     end
  95.     return true
  96. end
  97.  
  98. --Abbau oben
  99. local function tryDigUp()
  100.     while turtle.detectUp() do
  101.         if turtle.digUp() then
  102.             sleep(0.5)
  103.         else
  104.             return false
  105.         end
  106.     end
  107.     return true
  108. end
  109.  
  110. --Nach oben gehen
  111. local function tryUp()
  112.     refuel()
  113.     while not turtle.up() do
  114.         if turtle.detectUp() then
  115.             if not tryDigUp() then
  116.                 return false
  117.             end
  118.         elseif turtle.attackUp() then
  119.         else
  120.             sleep( 0.5 )
  121.         end
  122.     end
  123.     return true
  124. end
  125.  
  126. -- Nach Unten gehen
  127. local function tryDown()
  128.     refuel()
  129.     while not turtle.down() do
  130.         if turtle.detectDown() then
  131.             if not tryDigDown() then
  132.                 return false
  133.             end
  134.         elseif turtle.attackDown() then
  135.         else
  136.             sleep( 0.5 )
  137.         end
  138.     end
  139.     return true
  140. end
  141.  
  142. -- VorwåA4rts gehen
  143. local function tryForward()
  144.     refuel()
  145.     while not turtle.forward() do
  146.         if turtle.detect() then
  147.             if not tryDig() then
  148.                 return false
  149.             end
  150.         elseif turtle.attack() then
  151.         else
  152.             sleep( 0.5 )
  153.         end
  154.     end
  155.     return true
  156. end
  157.  
  158. -- ZuråBCck gehen
  159. local function tryBack()
  160.     refuel()
  161.     while not turtle.forward() do
  162.         if turtle.detect() then
  163.             if not tryDig() then
  164.                 return false
  165.             end
  166.         elseif turtle.attack() then
  167.         else
  168.             sleep( 0.5 )
  169.         end
  170.     end
  171.     return true
  172. end
  173.  
  174. --Block platzieren
  175. local function tryPlace()
  176.  refuel()
  177.  while not turtle.placeDown() do
  178.   if turtle.detectDown() then
  179.    return false
  180.   elseif turtle.attack() then
  181.    print("Attack")
  182.   else
  183.    sleep( 0.5 )
  184.   end
  185.  end
  186.  return true
  187. end
  188.  
  189. --Landmark setzen
  190. function tryLand()
  191.  tryUp()
  192.  turtle.select(2)
  193.  tryPlace()
  194.   for n = 1,ll do
  195.    tryForward()
  196.    print(100/ll*n," % des Weges zurueck gelegt")
  197.   end
  198.   print("Gehe runter")
  199.   tryDown()
  200.   print("Plaziere Block")
  201.   turtle.select(1)
  202.   tryPlace()
  203.   print("Geh ein Block hoch")
  204.   tryUp()
  205.   print("Platziere Landmark 2")
  206.   turtle.select(2)
  207.   tryPlace()
  208.   print("Gehe zuråBCck")
  209.   turtle.turnLeft()
  210.   turtle.turnLeft()
  211.   for n = 1,ll do
  212.    tryForward()
  213.    print(100/ll*n," % des Rueckwegs zurueck gelegt")
  214.   end
  215.   turtle.turnRight()
  216.   for n = 1,bb do
  217.    tryForward()
  218.    print(100/bb*n," % des Weges zurueck gelegt")
  219.   end
  220.   print("Gehe runter")
  221.   tryDown()
  222.   print("Plaziere Block")
  223.   turtle.select(1)
  224.   tryPlace()
  225.   print("Geh ein Block hoch")
  226.   tryUp()
  227.   print("Platziere Landmark 3")
  228.   turtle.select(2)
  229.   tryPlace()
  230.   print("Gehe zuråBCck")
  231.   turtle.turnLeft()
  232.   turtle.turnLeft()
  233.   for n = 1,bb2 do
  234.    tryForward()
  235.    print(100/bb2*n," % des Rueckwegs zurueck gelegt")
  236.   end
  237.   turtle.turnRight()
  238.   turtle.turnRight()
  239.   tryDown()
  240. end
  241.  
  242. -----------------------------------------------
  243. Titel()
  244. print("**** Entwickelt & Copyright Birog ****")
  245. print("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
  246. print()
  247. print("        Gehe auf Arbeitshoehe         ")
  248.  for n=1,yy1 do
  249.   tryUp()
  250. end
  251. print("        Arbeitshoehe erreicht         ")
  252. sleep(1)
  253. print("        Platform wird gebaut..        " )
  254.     a = 0
  255.     for nn=1,3 do
  256.     for n=1,3 do
  257.      turtle.select(1)
  258.      tryPlace()
  259.      tryForward()
  260.      tryDig()
  261.      if n==3 and a ==0 then
  262.       turtle.turnRight()
  263.       tryForward()
  264.       turtle.turnRight()
  265.       tryForward()
  266.       a = a +1
  267.      elseif n==3 and a==1 then
  268.       turtle.turnLeft()
  269.       tryForward()
  270.       turtle.turnLeft()
  271.       tryForward()
  272.       a = a -1
  273.      end
  274.     end
  275.     if nn==3 then
  276.      turtle.turnRight()
  277.      tryForward()
  278.      tryForward()
  279.     end
  280.     end
  281.  
  282. turtle.turnRight()
  283. print("        Platform complete.            ")
  284. print()
  285. print()
  286. print("        Landmarks werden gesetzt      ")
  287. tryLand()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement