Advertisement
LeslieCraft

[HUN] Minecraft, computercraft turtle. v1.0.4 BETA

Jan 12th, 2013
898
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 23.97 KB | None | 0 0
  1.   --Automata banyaszo Turtle v1.0.4--
  2.             --By Matteo--
  3.           --MC: LeslieHUN--
  4.            --2012. 11.18--
  5.  
  6. --[[
  7. ----------------------------------------
  8. 0.1 -Banyaszas.
  9. 0.2 -Minden inditasnal tankol.
  10. 2012.11.19
  11. 0.3 -HotFIX: ha nincs elotte block
  12.     akkor is banyasz maga felett.
  13. 0.4 -Fordulokent elmegy es
  14.     kiuriti magat a chest-be.
  15. 0.5 -Ha soder hullik ra, erzekeli
  16.     es kibanyassza.
  17.     -Csak akkor tankol, ha 2000 ala
  18.     esik az uzemanyag szint.
  19. 0.6 -Maga alatt is banyasz.
  20.     A tankolas fordulonkent van, nem
  21.     indulasonkent.
  22. 2012.11.20
  23. 0.7 -Install parancsal, megcsinalja
  24.     maganak a dokkolo helyet. 6x6
  25.     3chest 2tabla tartalom leirassal.
  26.     -Tankolas opcio pontositva. Akkor
  27.     tankol, ha 100 ala esik az
  28.     uzemanyag szint. Masodik chestbol
  29.     kiveszi maganak a szenet, ha a
  30.     slot1 ben 30 ala esik a szen.
  31. 2012.11.24
  32. 0.8 -HotFix: Tankilasok finomitva.
  33.     -Ha menetkozben kifogy, egyet
  34.     tankol.
  35.     -Install resznel leellenorzi a
  36.     slotok darabszamat. Ha hianyzik
  37.     kiirja, hogy mi Γ©s honnan.
  38.     -Indulasnal kulon parancs resz.
  39.     -Program menet, sorrend pontositva.
  40. 2012.11.25
  41. 0.9 -Fokent kulalak es felhasznalo
  42.     barat javitasok.
  43.     -Min es max hatar a szelesseg es
  44.     hosszusagnal.
  45.     -Csak szamot lehet mar megadni.
  46.     -"Menuk" jobban el vannak rendezve
  47.     -Ha tankol, de kifogyott a szen,
  48.     jelzi es var.
  49.     -Ha nem tud elolre lepni, leellenorzi
  50.     az uzemanyagszintet, ha kell tankol.
  51.  1.0-Menu rendszer berakva
  52.  2012.12.26
  53.  1.0.1
  54.     -MOB erzekeles
  55.     -Installnal itemnek nem kell pontosan
  56.     annyinak lennie, = helyett <
  57.     -Szemet kiszedve.
  58.  2012.12.27
  59.  1.0.2
  60.     -MOB-okat mar a tankolasi resznel is
  61.     erzekeli.
  62.     -Chest be rakasi resz atalakitva,
  63.     pontositva.
  64.     -Atlathatobb parancssor.
  65.     -szel., hossz. nal pontositva az
  66.     ertek. Mostmar csak szamot lehet
  67.     megadni. Kulon hibajelzes mas
  68.     karakterekre.
  69. 2012.12.31
  70.  1.0.3
  71.     -MOB-okat telepit resznel is erzekeli
  72.     -Installnal ha block van elotte megkerdi
  73.     mi legyen.
  74.     -Alap banyaszott block log. //tΓ©nyleg alap
  75.     -Banyaszas kozben folyamatosan frissulo log
  76.     kijelzese.
  77. 2013.01.12
  78.  1.0.4
  79.     -Fakjakat rak le maganak, ha nincs
  80.     fakja, nem rak le semmit.
  81.     -Telepit resznel fakja lada lerakva
  82.     (Zendor keresere :)
  83.     -Telepites kozben block mob erzekeles
  84.     javitva.
  85.     -LOG berakva, file-okba menti az
  86.     elhasznalt fakjat es a kibanyaszott
  87.     blockok menyiseget
  88. ----------------------------------------
  89. Kijavitando hibak, kovetkezo tevek:
  90.     -Ha valahol leall kezzel kell a
  91.     helyere vinni. (GPS megirasa kell)
  92.     -goto program irasa 11%-nal tart.
  93. ----------------------------------------
  94. ]]--
  95.  
  96.  
  97. --[[ Functions ]]--
  98.  
  99. function clear()
  100.     term.clear()
  101.     term.setCursorPos(1,1)
  102. end
  103.  
  104.  
  105.  
  106. function printF()
  107.     term.setCursorPos(2,1)
  108.     print("--Automata banyaszo Turtle v1.0.4--")
  109.     term.setCursorPos(13,2)
  110.     print("--By Matteo--")
  111.     term.setCursorPos(33,12)
  112.     print("V1.0.4")
  113.     term.setCursorPos(1,5)
  114. end
  115.  
  116.  
  117. function telepitAera()      --Install resz kialakitasa
  118.     clear()
  119.     turtle.select(1)
  120.     szendarab = turtle.getItemCount(1)
  121.     while szendarab < 3 do
  122.         clear()
  123.         printF()
  124.         print("1. Lepes")
  125.         print("")
  126.         szendarab = turtle.getItemCount(1)
  127.         szenkell = 3 - szendarab
  128.         print("Elso sor, elso slotba, rakj 3db darab szenet.")
  129.         print("Meg ennyi kell: "..szenkell)
  130.         term.setCursorPos(1,10)
  131.         print("Ha beraktad, folytatodik a telepites")
  132.         sleep(0.4)
  133.         clear()
  134.     end
  135.     ladadarab = turtle.getItemCount(2)
  136.     turtle.select(2)
  137.     while ladadarab < 4 do
  138.         clear()
  139.         printF()
  140.         print("2. Lepes")
  141.         print("")
  142.         ladadarab = turtle.getItemCount(2)
  143.         ladakell = 4 - ladadarab
  144.         print("Elso sor, masodik slotba, rakj 4db ladat (chest).")
  145.         print("Meg ennyi kell: ".. ladakell)
  146.         term.setCursorPos(1,10)
  147.         print("Ha beraktad, folytatodik a telepites")
  148.         sleep(0.4)
  149.         clear()
  150.     end
  151.     signdarab = turtle.getItemCount(3)
  152.     turtle.select(3)
  153.     while signdarab ~= 1 do
  154.         clear()
  155.         printF()
  156.         print("3. Lepes")
  157.         print("")
  158.         signdarab = turtle.getItemCount(3)
  159.         signkell = 1 - signdarab
  160.         print("Elso sor, harmadik slotba, rakj egy tablat (sign).")
  161.         print("Meg ennyi kell: ".. signkell)
  162.         term.setCursorPos(1,10)
  163.         print("Ha beraktad, folytatodik a telepites")
  164.         sleep(0.4)
  165.         clear()
  166.     end
  167.     local signdarab = turtle.getItemCount(4)
  168.     turtle.select(4)
  169.     while signdarab ~= 1 do
  170.         clear()
  171.         printF()
  172.         print("4. Lepes")
  173.         print("")
  174.         signdarab = turtle.getItemCount(4)
  175.         signkell = 1 - signdarab
  176.         print("Elso sor, negyedik slotba, rakj egy tablat (sign).")
  177.         print("Meg ennyi kell: ".. signkell)
  178.         term.setCursorPos(1,10)
  179.         print("Ha beraktad, folytatodik a telepites")
  180.         sleep(0.4)
  181.         clear()
  182.     end
  183.     fakjadarab = turtle.getItemCount(5)
  184.     turtle.select(5)
  185.     while fakjadarab < 16 do
  186.         clear()
  187.         printF()
  188.         print("5. Lepes")
  189.         print("")
  190.         fakjadarab = turtle.getItemCount(5)
  191.         fakjakell = 16 - fakjadarab
  192.         print("Masodik sor, elso slotba, rakj 16db fakjat (torch).")
  193.         print("Meg ennyi kell: ".. fakjakell)
  194.         term.setCursorPos(1,10)
  195.         print("Ha beraktad, folytatodik a telepites")
  196.         sleep(0.4)
  197.         clear()
  198.     end
  199.     local signdarab2 = turtle.getItemCount(6)
  200.     turtle.select(6)
  201.     while singdarab2 ~= 1 do
  202.         printF()
  203.         print("6. Lepes")
  204.         print("")
  205.         singdarab2 = turtle.getItemCount(6)
  206.         signkell = 1 - signdarab2
  207.         print("Masodik sor, masodik slotba, rakj egy tablat (sign).")
  208.         print("Meg ennyi kell: ".. signkell)
  209.         term.setCursorPos(1,10)
  210.         print("Ha beraktad, folytatodik a telepites")
  211.         sleep(0.4)
  212.         clear()
  213.     end
  214.     if fuel == 0 then
  215.         while turtle.getItemCount(1) == 0 do
  216.             printF()
  217.             print("Kerlek ellenorizd, hogy az 1-es slotban van-e szenem.")
  218.             print("Rakj 2db szenet es nyomj egy entert")
  219.             read("")
  220.             clear()
  221.         end
  222.         turtle.select(1)
  223.         print("Tankoltam.")
  224.         turtle.refuel(1)
  225.         sleep(1)
  226.     end
  227.     clear()
  228.     printF()
  229.     print("Epites elkezdodott, kerlek vard meg mig kesz lesz.")
  230.     for i = 1, 4, 2 do
  231.         for i = 1, 5 do
  232.             lepesE()
  233.         end
  234.         turnL()
  235.         for i = 1, 5 do
  236.             lepesE()
  237.         end
  238.         turnR()
  239.     end
  240.     itemInstall()
  241. end
  242.  
  243. function itemGo()       --Install resznel a mozgas
  244.     turtle.turnLeft()
  245.     while not turtle.forward() do
  246.         if turtle.detect() == true then
  247.             clear()
  248.             printF()
  249.             print("Egy block van elottem, kiuthetem? i/n")
  250.             local valasz = "k"
  251.             local valasz = read()
  252.             if valasz == "i" or valasz == "I" or valasz == "y" or valasz == "Y" or valasz == "k" or valasz == "K" then
  253.                 dig()
  254.             else
  255.                 clear()
  256.                 printF()
  257.                 print("Amig nem veszed el elolem a block-ot nem tudom folytatni a telepitest.")
  258.             end
  259.         else
  260.             clear()
  261.             printF()
  262.             turtle.attack()
  263.             print("Egy MOB, NPC, vagy Player van elottem, tamadok!")
  264.         end
  265.     end
  266.     turtle.turnRight()
  267. end
  268.  
  269. function digLog()
  270.     local digfileread = io.open("/log/digs.txt", "r")
  271.     local block_digs = digfileread:read()
  272.     local digfile = io.open("/log/digs.txt", "w")
  273.     digfileread:close()
  274.     block_digs = block_digs + 1
  275.     digfile:write(block_digs)
  276.     digfile:close()
  277. end
  278.  
  279. function fakjaLog()
  280.     local fakjaread = io.open("/log/fakja.txt", "r")
  281.     local fakjalerakva = fakjaread:read()
  282.     local hasznaltfakja = io.open("/log/fakja.txt", "w")
  283.     fakjaread:close()
  284.     fakjalerakva = fakjalerakva + 1
  285.     hasznaltfakja:write(fakjalerakva)
  286.     hasznaltfakja:close()  
  287. end
  288.  
  289. function dig()
  290.     turtle.dig()
  291.     digLog()
  292. end
  293.  
  294. function noPlace()
  295.     if turtle.forward() == false then
  296.         if turtle.detect() == true then
  297.             clear()
  298.             printF()
  299.             print("Egy block van elottem, kiuthetem? i/n")
  300.             local valasz = "k"
  301.             local valasz = read()
  302.             if valasz == "i" or valasz == "I" or valasz == "y" or valasz == "Y" or valasz == "k" or valasz == "K" or valasz == "igen" or valasz ==  "IGEN" then
  303.                 dig()
  304.            
  305.             elseif valsz == "n" or valsz == "N" or valasz == "nem" or valasz == "NEM" then
  306.                 clear()
  307.                 printF()
  308.                 print("Amig nem veszed el elolem a block-ot, nem tudom folytatni a telepitest.")
  309.                 sleep(.1)
  310.             else
  311.                 clear()
  312.                 printF()
  313.                 print("Nem ismert valaszt adtal meg. i/n?")
  314.             end
  315.         else
  316.             clear()
  317.             printF()
  318.             turtle.attack()
  319.             print("Egy MOB, NPC, vagy Player van elottem, tamadok!")
  320.             sleep(.1)
  321.         end
  322.     end
  323. end
  324.  
  325.  
  326. function itemInstall()      --Chestek, tablak lerakasa
  327.     turtle.turnRight()
  328.     turtle.select(2)
  329.     for i = 1, 3 do
  330.         lepesE()
  331.     end
  332.     for i = 1, 2 do
  333.         while not turtle.place() do
  334.             clear()
  335.             printF()
  336.             print("Nem tudom lehelyezni a ladat")
  337.             noPlace()
  338.         end
  339.         itemGo()
  340.     end
  341.     turtle.select(3)
  342.     while not turtle.place([[Kibanyaszott
  343. block-ok
  344. -------->]]) do
  345.         clear()
  346.         printF()
  347.         print("Nem tudom lehelyezni a tablat")
  348.         noPlace()
  349.     end
  350.     turtle.up()
  351.     turtle.select(5)
  352.     if turtle.place() ~= true then
  353.         sleep(.1)
  354.         turtle.forward()
  355.         while turtle.getItemCount(7) < 1 do
  356.             clear()
  357.             printF()
  358.             print("Kerlek rakj a hetes (kijelolt) slotomba 1db foldet vagy kovet")
  359.             sleep(.5)
  360.         end
  361.         turtle.select(7)
  362.         turtle.place()
  363.         turtle.back()
  364.         turtle.select(5)
  365.         fakjaLog()
  366.         turtle.place()
  367.     end
  368.     turtle.down()
  369.     itemGo()
  370.     turtle.select(2)
  371.     while not turtle.place() do
  372.         clear()
  373.         printF()
  374.         noPlace()
  375.     end
  376.         itemGo()
  377.     turtle.select(4)
  378.     while not turtle.place([[Uzemanyag nekem
  379. (szen,fa)
  380. ------->]]) do
  381.         clear()
  382.         printF()
  383.         print("Nem tudom lehelyezni a tablat")
  384.         noPlace()
  385.     end
  386.     turtle.turnRight()
  387.     for i = 1, 4 do
  388.         while not turtle.forward() do
  389.             if turtle.detect() == true then
  390.                 clear()
  391.                 printF()
  392.                 write("Egy block van elottem, kiuthetem? i/n")
  393.                 local valasz = "k"
  394.                 local valasz = read()
  395.                 if valasz == "i" or valasz == "I" or valasz == "y" or valasz == "Y" or valasz == "k" or valasz == "K" or valasz == "igen" or valasz == "IGEN" then
  396.                     dig()
  397.                 elseif valsz == "n" or valsz == "N" or valasz == "nem" or valasz == "NEM" then
  398.                     clear()
  399.                     printF()
  400.                     print("Amig nem veszed el elolem a block-ot, nem tudom folytatni a telepitest.")
  401.                     sleep(.1)
  402.                 else
  403.                     clear()
  404.                     printF()
  405.                     print("Nem ismert valaszt adtal meg. i/n?")
  406.                 end
  407.             else
  408.                 clear()
  409.                 printF()
  410.                 turtle.attack()
  411.                 print("Egy MOB, NPC, vagy Player van elottem, tamadok!")
  412.                 sleep(.1)
  413.             end
  414.         end
  415.         clear()
  416.         printF()
  417.         printBlock()
  418.     end
  419.     turtle.turnLeft()
  420.     turtle.digUp()
  421.     turtle.up()
  422.     turtle.dig()
  423.     turtle.select(6)
  424.     turtle.place([[-
  425. /\
  426. I
  427. Fakja]])
  428.     if turtle.digUp() then
  429.         digLog()
  430.     end
  431.     turtle.up()
  432.     if turtle.dig() then
  433.         digLog()
  434.     end
  435.     turtle.select(2)
  436.     turtle.place()
  437.     if turtle.digUp() then
  438.         digLog()
  439.     end
  440.     turtle.up()
  441.     if turtle.dig() then
  442.         digLog()
  443.     end
  444.     for i = 1, 3 do
  445.         while not turtle.down() do
  446.             reFuel()
  447.             if turtle.digDown() then
  448.                 digLog()
  449.             end
  450.             turtle.attack()
  451.             sleep(.1)
  452.         end
  453.     end
  454.     dropAll()
  455.     turtle.turnRight()
  456.     turtle.turnRight()
  457.     for i = 1, 3 do
  458.         while not turtle.forward() do
  459.             reFuel()
  460.             noPlace()
  461.             turtle.attack()
  462.             sleep(.1)
  463.         end
  464.     end
  465.     turtle.turnRight()
  466.     clear()
  467.     banyaszas()
  468. end
  469.  
  470.  
  471.  
  472. function reFuel()       --Tankolasi menet
  473.     fuel = turtle.getFuelLevel()
  474.     if fuel < 100 then
  475.     turtle.select(1)
  476.     while not turtle.refuel(1) do
  477.         clear()
  478.         printF()
  479.         print("Nincs szen az egyes slotban")
  480.         sleep(3)
  481.     end
  482.         fuel = turtle.getFuelLevel()
  483.         clear()
  484.         printF()
  485.         print("Tankoltam.")
  486.         print("Uzemanyag szint: "..fuel)
  487.     end
  488. end
  489.  
  490.  
  491.  
  492. function getFuel()      --Lepakolas utan, uzemanyag ellenorzes es feltankolas
  493.     local fuelslot = turtle.getItemCount(1)
  494.     local loopback = 0
  495.     turtle.select(1)
  496.     if fuelslot < 10 then
  497.         turtle.turnRight()
  498.         while loopback ~= 3 do
  499.             if turtle.forward() == false then
  500.                 turtle.attack()
  501.             else
  502.                 loopback = loopback + 1
  503.             end
  504.         end
  505.         turtle.turnRight()
  506.         while not turtle.suck() do
  507.             clear()
  508.             printF()
  509.             print("Nincs a ladaban szen. Kerlek toltsd fel,")
  510.             print("A ladaban minimum 10 db szen legyen mindig.")
  511.             print("Ha feltoltotted, kiveszem.")
  512.             sleep(3)
  513.         end
  514.         local loopback = 0
  515.         turtle.turnRight()
  516.         while loopback ~= 3 do
  517.             if turtle.forward() == false then
  518.                 turtle.attack()
  519.             else
  520.                 loopback = loopback + 1
  521.             end
  522.         end
  523.         turtle.turnRight()
  524.     end
  525. end
  526.  
  527.  
  528.  
  529. function dropAll()      --Chestnel minden slotot kiurit kiveve az egyest.
  530.     local slot = 2
  531.     while slot ~= 5 do
  532.         turtle.select(slot)
  533.         turtle.drop()
  534.         slot = slot + 1
  535.     end
  536.     local slot = 6
  537.     while slot ~= 17 do
  538.         turtle.select(slot)
  539.         turtle.drop()
  540.         slot = slot + 1
  541.     end
  542. --[[    for i = 2, 17 do --Vagy Γ­gy. :)
  543.         turtle.select(i)
  544.         turtle.drop()
  545.     end
  546. --]]
  547. end
  548.  
  549. function targetC()      --Banyatol a chastig
  550.     local loop = true
  551.     while loop do
  552.         if turtle.forward() == true then
  553.             clear()
  554.             printF()
  555.             lepes = lepes + 1
  556.             printBlock()
  557.             term.setCursorPos(1,9)
  558.             print("Lepesek a chest-ig: "..lepes)
  559.         else
  560.             reFuel()
  561.             if turtle.detect() == true then         --Erzekeli a MOB okat
  562. --              if lepes == (loopvissza + 2) then
  563.                     dropAll()
  564.                     getF()
  565.                     turtle.turnLeft()
  566.                     turtle.turnLeft()
  567.                     getFuel()
  568.                     loop = false
  569. --[[mΓ©g kell rajta dolgozni loop vissza alapot kell beallitani             else
  570.                     clear()
  571.                     printF()
  572.                     print("Szerintem egy block van elottem, mert kevesebbet mentem vissza a chesthez mint az elozo korben. Ha nem a chest van elottem, banyasszam ki a blockot? i/n?")
  573.                     local valasz = read()
  574.                     if valasz == "i" or valasz == "I" or valasz == "y" or valasz == "Y" then
  575.                         if dig() == true then
  576.                             block_digs = block_digs + 1
  577.                         end
  578.                     elseif valasz == "n" or valasz == "N" then
  579.                         clear()
  580.                         printF()
  581.                         loopvissza = (lepes - 2)
  582.                         print("Megjegyeztem a chest uj poziciojat.")
  583.                         sleep(3)
  584.                     else
  585.                         clear()
  586.                         printF()
  587.                         print("Helytelen valasz! i/n?")
  588.                         sleep(2)
  589.                         return targetC()
  590.                     end
  591.                 end]]
  592.             else
  593.                 turtle.attack()
  594.             end
  595.         end
  596.     end
  597.     clear()
  598.     printF()
  599.     printBlock()
  600.     term.setCursorPos(1,9)
  601.     print("Ennyit megyek vissza: "..lepes)
  602.     local loopvissza = 0
  603.     while loopvissza ~= lepes do
  604.         if turtle.forward() == false then
  605.             if turtle.detect() == true then
  606.                 clear()
  607.                 printF()
  608.                 print("Van elottem egy block. Kibanyasszam? i/n")
  609.                 local valasz = read()
  610.                 if valasz == "i" or valasz == "I" or valasz == "igen" or valasz == "IGEN" then
  611.                     if dig() == true then
  612.                         digLog()
  613.                     else
  614.                         clear()
  615.                         printF()
  616.                         print("Error1: Blockot erzekelek, de nem tudtam kibanyaszni!")
  617.                         print("Ha kibanyasztad, nyomj egy entert")
  618.                         read("")
  619.                     end
  620.                 elseif valasz == "n" or  valasz == "N" or  valasz == "nem" or  valasz == "NEM" then
  621.                     clear()
  622.                     printF()
  623.                     print("Mig nem veszed el a blockot elolem, nem tudok tovabb menni.")
  624.                     print("Ha kibanyasztad, nyomj egy entert")
  625.                     read("")
  626.                 else
  627.                     clear()
  628.                     printF()
  629.                     print("Helytelen valasz. i/n?")
  630.                 end
  631.             end
  632.             turtle.attack()
  633.             reFuel()
  634.         else
  635.             loopvissza = loopvissza + 1
  636.         end
  637.     end
  638.     turtle.turnRight()
  639. end
  640.    
  641.     --[[  for i = 2, lepes + 1 do //erzekeles nelkul
  642.     while not turtle.forward() do
  643.       turtle.attack()
  644.  
  645.     end
  646.   end
  647. ]]
  648.  
  649.  
  650.  
  651. function digDown()      --Lefele asas, ha van alatta valami.
  652.     while turtle.detectDown() do
  653.         if turtle.digDown() == true then
  654.             digLog()
  655.         end
  656.     end
  657.     printBlock()
  658. end
  659.  
  660.  
  661.  
  662. function lepesE()       --Banyaszas kozbeni lepesek.
  663.     while not turtle.forward() do
  664.         if turtle.detect() == true then
  665.             clear()
  666.             printF()
  667.             printBlock()
  668.             if dig() == true then
  669.                 digLog()
  670.             end
  671.         else
  672.             clear()
  673.             printF()
  674.             turtle.attack()
  675.             print("Egy MOB, NPC, vagy Player van elottem, tamadok!")
  676.         end
  677.         if turtle.getFuelLevel() < 10 then
  678.             turtle.select(1)
  679.             reFuel()
  680.         end
  681.     end
  682.     sleep(0.4)
  683.     while turtle.detectUp() do
  684.         if turtle.digUp() == true then
  685.             digLog()
  686.         end
  687.         sleep(0.4)
  688.     end
  689.     printBlock()
  690. end
  691.  
  692.  
  693.  
  694. function turnL()        --Balra megfordulas
  695.     turtle.turnLeft()
  696.     lepesE()
  697.     turtle.turnLeft()
  698. end
  699.  
  700.  
  701.  
  702. function turnR()        --Jobbra megfordulas
  703.     turtle.turnRight()
  704.     lepesE()
  705.     turtle.turnRight()
  706. end
  707.  
  708. function printBlock()
  709.     local digfileread = io.open("/log/digs.txt", "r")
  710.     local fakjaread = io.open("/log/fakja.txt", "r")
  711.     local block_digs = digfileread:read()
  712.     local fakjalerakva = fakjaread:read()
  713.     digfileread:close()
  714.     fakjaread:close()
  715.     clear()
  716.     printF()
  717.     term.setCursorPos(1,5)
  718.     local fuel2 = turtle.getFuelLevel()
  719.     print("Online")
  720.     print("Uzemanyag szint:  ".. fuel2)
  721.     term.setCursorPos(24,6)
  722.     write("egyseg")
  723.     term.setCursorPos(1,7)
  724.     print("Kitermelt menny.: " .. block_digs)
  725.     term.setCursorPos(24,7)
  726.     write("db")
  727.     term.setCursorPos(1,8)
  728.     print("Elhasznalt fakja: " .. fakjalerakva)
  729.     term.setCursorPos(24,8)
  730.     write("db")
  731.     term.setCursorPos(1,9)
  732.     print("Fakja lerakas: ")
  733.     term.setCursorPos(18,9)
  734.     print(fakjazas)
  735. end
  736.  
  737. function getF()
  738.     if turtle.getItemCount(5) < 5 then
  739.         for i = 2, 3 do
  740.             turtle.up()
  741.         end
  742.         turtle.select(5)
  743.         if turtle.suck() == true then
  744.             fakjazas = true
  745.         else
  746.             fakjazas = false
  747.         end
  748.         for i = 2, 3 do
  749.             while not turtle.down() do
  750.                 turtle.digDown()
  751.                 turtle.attackDown()
  752.             end
  753.         end
  754.     end
  755. end
  756.  
  757. function placeT() --Fakja lerakas
  758.     if turtle.getItemCount(5) == 1 then
  759.         fakjazas = false
  760.     else
  761.         fakjazas = true
  762.     end
  763.     if fakjazas then
  764.         if lepesTsz == 0 then
  765.             sleep(.1)
  766.             if lepesTh == 0 then
  767.                 turtle.select(5)
  768.                 turtle.placeDown()
  769.                 fakjaLog()
  770.             end
  771.         end
  772.     end
  773. end
  774.  
  775.  
  776. function banyaszas()        --Banyaszas menete
  777.     loopvissza = 3
  778.     while true do
  779.         clear()
  780.         local fuel = turtle.getFuelLevel()
  781.         printF()
  782.         if fuel == 0 then
  783.             while turtle.getItemCount(1) == 0 do
  784.                 clear()
  785.                 printF()
  786.                 print("Kerlek ellenorizd, hogy az 1-es slotban van-e szenem.")
  787.                 print("Rakj 2db szenet es folytatom")
  788.                 sleep(.5)
  789.                 clear()
  790.             end
  791.             printF()
  792.             turtle.select(1)
  793.             turtle.refuel(1)
  794.             print("Tankoltam.")
  795.             sleep(1)
  796.             clear()
  797.         end
  798.         clear()
  799.         printF()
  800.         local fuel2 = turtle.getFuelLevel()
  801.         printBlock()
  802.         term.setCursorPos(1,12)
  803.         print("Hosszusag:")
  804.         term.setCursorPos(1,11)
  805.         write("Szelesseg: ")
  806.         szeles = tonumber(read())       --read-be mit adtunk meg, szamokat vagy betuket
  807.         if szeles == 555 then
  808.             return main()
  809.         end
  810.         if szeles == nil then       --Szam vizsgalat
  811.             clear()
  812.             printF()
  813.             term.setCursorPos(1,6)
  814.             print("   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!")
  815.             print("   !                              !")
  816.             print("   !  Szelesseg, csak szam lehet! !")
  817.             print("   !                              !")
  818.             print("   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!")
  819.             sleep(4)
  820.             clear()
  821.             return banyaszas()
  822.         end
  823.         local szeles = szeles + 0
  824.         if (szeles < 51) and (szeles > 1) then
  825.             write("Hosszusag: ")
  826.             local hosszu = tonumber(read())
  827.             if hosszu == nil then
  828.                 clear()
  829.                 printF()
  830.                 print("Szelessegnek, csak szamot lehet megadni!")
  831.                 sleep(3)
  832.                 return banyaszas()
  833.             end
  834.             local hosszu = hosszu + 0
  835.             if (hosszu < 51) and (hosszu > 1) then
  836.                 hosszu = hosszu-1
  837.                 szeles = szeles-1
  838.                 lepesTsz = 0
  839.                 for i = 1, szeles, 2 do
  840.                     lepesTh = 0
  841.                     for i = 1, hosszu do
  842.                         digDown()
  843.                         placeT()
  844.                         lepesTh = math.fmod(lepesTh + 1, 8) --ha keves akkor 8
  845.                         lepesE()
  846.                     end
  847.                     digDown()
  848.                     turnL()
  849.                     for i = 1, hosszu do
  850.                         digDown()
  851.                         lepesE()
  852.                         digDown()
  853.                     end
  854.                     reFuel()
  855.                     turnR()
  856.                     lepes = 0  --//athelyezve targetC() bol
  857.                     turtle.turnRight()  --//athelyezve targetC() bol
  858.                     targetC()
  859.                     lepesTsz = math.fmod(lepesTh + lepes - 4, 8)  --ha keves akkor 8
  860.                 end
  861.                 term.clear()
  862.                 term.setCursorPos(1,1)
  863.             else
  864.                 clear()
  865.                 printF()
  866.                 term.setCursorPos(1,6)
  867.                 print("   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!")
  868.                 print("   !                              !")
  869.                 print("   !  Hosszusag, csak szam lehet! !")
  870.                 print("   !                              !")
  871.                 print("   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!")
  872.                 sleep(4)
  873.                 clear()
  874.                 return banyaszas()
  875.             end
  876.         else
  877.             clear()
  878.             printF()
  879.             print("")
  880.             print("Szelesseg 2 es 50 kozott kell lennie")
  881.             sleep(3)
  882.             return banyaszas()
  883.         end
  884.     end
  885. end
  886.  
  887. function helpP()        --Help menu
  888.     clear()
  889.     printF()
  890.     print("Install      : Dokkolo epites.")
  891.     print("Banya program: Banyaszo program.")
  892.     print("Help         : Menu leirasok.")
  893.     print("Leiras       : Leiras a programrol")
  894.     print("Logs         : Turtle log")
  895.     print("")
  896.     print("Tovabb lepeshez nyomj egy entert")
  897.     read("")
  898.     return main()
  899. end
  900.  
  901. function InstallP()     --Install menu
  902.     clear()
  903.     printF()
  904.     write("Biztosan telepiteni szeretne a file-okat is? Ha igen az elozo logok el fognak veszni. i/n?: ")
  905.         valasz = read()
  906.         if valasz == "i" or valasz == "I" or valasz == "y" or valasz == "Y" then
  907.         print("Log mappa letrehozasa")
  908.         sleep(.2)
  909.         fs.makeDir("log")
  910.         print("kesz")
  911.         sleep(.6)
  912.         print("log/digs.txt file letrehozasa")
  913.         sleep(.2)
  914.         digfile = io.open("/log/digs.txt", "w")
  915.         print("kesz")
  916.         sleep(.6)
  917.         print("log/fakja.txt file letrehozasa")
  918.         sleep(.2)
  919.         hasznaltfakja = io.open("/log/fakja.txt", "w")
  920.         print("Kesz")
  921.         sleep(2.5)
  922.         digfile:write("0")
  923.         digfile:close()
  924.         hasznaltfakja:write("0")
  925.         hasznaltfakja:close()
  926.     elseif valasz == "555" then
  927.         return main()
  928.     end
  929.     clear()
  930.     printF()
  931.     print("A kovetkezo dolgok legyenek nalad:")
  932.     print(" - 5db szen")
  933.     print(" - 4db lada (chest)")
  934.     print(" - 3db tabla (sign)")
  935.     print(" - 16db fakja (torch)")
  936.     print("Ha ezek megvannak kerlek, nyomj egy entert.")
  937.     read("")
  938.     clear()
  939.     return telepitAera()
  940. end
  941.  
  942. --[[ Menu ]]--
  943.  
  944. --[[ Local Variables ]]--
  945.  
  946. local termWidth, termHeight = term.getSize()
  947. local selectedItem = 1
  948. local runing = true
  949.  
  950. --[[ Menu Metods ]]--           --Melyik menu mi legyen
  951. function Choice1()
  952.     InstallP()
  953. end
  954.  
  955. function Choice2()
  956.     banyaszas()
  957. end
  958.  
  959. function Exit()
  960.     clear()
  961.     runing = false
  962. end
  963.  
  964. function Help()
  965.     helpP()
  966. --[[  print(visszaMenu)]]--
  967.    
  968. end
  969.  
  970. function Leiras()       --Leiras menu
  971.     clear()
  972.     printF()
  973.     term.setCursorPos(1,4)
  974.     print([[A program a banyaszasra keszult. A turtle horizontalis pozicioban, 3block magassabban banyasz.
  975. Ez a banyaszasi modszer, a leg optimalisabb a 9-12 es magassagban a gyemant banyaszasahoz.]])
  976.     print("")
  977.     print("")
  978.     print("--Press Enter Key to Continue--")
  979.     read("")
  980.     clear()
  981.     print([[ A programot kizarolag hobbi celbol keszitettem.
  982. Modositas nelkul szabadon terjesztheto. Terjesztesnel fel kell tuntetni a keszitot illetve a verziot. Barhol ahol szamot illetve valaszt lehet megadni, es vissza szeretnel lepni a fomenube, ird be ezt: 555
  983. Jo szorakozast.]])
  984.     print("")
  985.     print("")
  986.     print("--Press Enter Key to Continue--")
  987.     read("")
  988.     clear()
  989.     print("")
  990.     print([[
  991. Program elerese:
  992.   http://pastebin.com/u/LeslieCraft
  993.  
  994. Keszlitette:
  995.   Matteo
  996.  
  997. Minecraft nev:
  998.   LeslieHUN]])
  999.     print("")
  1000.     print("")
  1001.     print("--Press Enter Key to Continue--")
  1002.     read("")
  1003.     return main()
  1004. end
  1005.  
  1006. function Logs()
  1007. clear()
  1008. printF()
  1009. printBlock()
  1010. read("")
  1011. return main()
  1012. end
  1013.  
  1014. function tovabb()
  1015.  main()
  1016. end
  1017.  
  1018. function vissza()
  1019.  main()
  1020. end
  1021.  
  1022. --[[ Menu Definitions ]]--
  1023.  
  1024. local mainMenu = {              --Menuk szerkezete, funkcioi
  1025.     [1] = { text = "   Install   ", handler = Choice1 },
  1026.     [2] = { text = "Banya program", handler = Choice2 },
  1027.     [3] = { text = "    Help     ", handler = Help },
  1028.     [4] = { text = "   Leiras    ", handler = Leiras },
  1029.     [5] = { text = "    Logs     ", handler = Logs },
  1030.     [6] = { text = "    Exit     ", handler = Exit }
  1031. }
  1032.  
  1033. --[[Hamarosan]]     local visszaMenu = {
  1034.     [1] = { text = "Tovabb", handler = tovabb },
  1035.     [2] = { text = "Vissza", handler = vissza }
  1036. }
  1037. --[[ Printing Methods ]]--
  1038.  
  1039. function printMenu ( menu )         --Menu megjelenitese es cursor mozgatasa
  1040.     for i = 1, #menu do
  1041.         if i == selectedItem then
  1042.             term.setCursorPos(10,(i+5))
  1043.             print(">> "..menu[i].text.." <<")
  1044.         else
  1045.             term.setCursorPos(10,(i+5))
  1046.             print("   "..menu[i].text)
  1047.         end
  1048.     end
  1049. end
  1050.  
  1051. --[[ Handler Method ]]--
  1052.  
  1053. function onKeyPressed( key, menu )          --Menunel, gombok erzekelese.
  1054.     if key == keys.enter then
  1055.         onItemSelected(menu)
  1056.     elseif key == keys.up then
  1057.         if selectedItem > 1 then
  1058.             selectedItem = selectedItem - 1
  1059.         end
  1060.     elseif key == keys.down then
  1061.         if selectedItem < #menu then
  1062.             selectedItem = selectedItem + 1
  1063.         end
  1064.     end
  1065. end
  1066.  
  1067. function onItemSelected( menu )
  1068.     menu[selectedItem].handler()
  1069. end
  1070.  
  1071. --[[ Main Methods ]]--
  1072.  
  1073. function main()             --Main menu futtatasa
  1074.     while runing do
  1075.         clear()
  1076.         printF()
  1077.         term.setCursorPos(10,4)
  1078.         printMenu(mainMenu)
  1079.         event, key = os.pullEvent("key")
  1080.         onKeyPressed(key,mainMenu)
  1081.     end
  1082. end
  1083.  
  1084. --[[ Main program ]]--
  1085.  
  1086. fakjazas = true
  1087. main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement