Advertisement
LeslieCraft

[HUN] Minecraft, computercraft turtle. v1.0.3

Jan 5th, 2013
377
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.   --Automata banyaszo Turtle v1.0.3--
  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. ----------------------------------------
  78. Kijavitando hibak:
  79.   -Ha valahol leall kezzel kell a
  80.    helyere vinni. (GPS megirasa kell)
  81.   -goto program irasa 10%-nal tart.
  82.   -8 block-onkent rakjon le egy fakjat.
  83.    (By Zendor :)
  84. ----------------------------------------
  85. ]]--
  86.  
  87.  
  88. --[[ Functions ]]--
  89.  
  90. function clear()
  91.     term.clear()
  92.     term.setCursorPos(1,1)
  93. end
  94.  
  95.  
  96.  
  97. function printF()
  98.     term.setCursorPos(2,1)
  99.     print("--Automata banyaszo Turtle v1.0.3--")
  100.     term.setCursorPos(13,2)
  101.     print("--By Matteo--")
  102.     term.setCursorPos(33,12)
  103.     print("V1.0.3")
  104.     term.setCursorPos(1,5)
  105. end
  106.  
  107.  
  108. function telepitAera()      --Install resz kialakitasa
  109.     clear()
  110.     turtle.select(1)
  111.     szendarab = turtle.getItemCount(1)
  112.     while szendarab < 3 do
  113.         printF()
  114.         print("1. Lepes")
  115.         print("")
  116.         szendarab = turtle.getItemCount(1)
  117.         szenkell = 3 - szendarab
  118.         print("Elso sor, elso slotba, rakj 3db darab szenet.")
  119.         print("Meg ennyi kell: "..szenkell)
  120.         term.setCursorPos(1,10)
  121.         print("Ha beraktad, folytatodik a telepites")
  122.         sleep(0.4)
  123.         clear()
  124.     end
  125.     ladadarab = turtle.getItemCount(2)
  126.     turtle.select(2)
  127.     while ladadarab < 3 do
  128.         printF()
  129.         print("2. Lepes")
  130.         print("")
  131.         ladadarab = turtle.getItemCount(2)
  132.         ladakell = 3 - ladadarab
  133.         print("Elso sor, masodik slotba, rakj 3db ladat (chest).")
  134.         print("Meg ennyi kell: ".. ladakell)
  135.         term.setCursorPos(1,10)
  136.         print("Ha beraktad, folytatodik a telepites")
  137.         sleep(0.4)
  138.         clear()
  139.     end
  140.     signdarab = turtle.getItemCount(3)
  141.     turtle.select(3)
  142.     while signdarab ~= 1 do
  143.         printF()
  144.         print("3. Lepes")
  145.         print("")
  146.         signdarab = turtle.getItemCount(3)
  147.         signkell = 1 - signdarab
  148.         print("Elso sor, harmadik slotba, rakj egy tablat (sign).")
  149.         print("Meg ennyi kell: ".. signkell)
  150.         term.setCursorPos(1,10)
  151.         print("Ha beraktad, folytatodik a telepites")
  152.         sleep(0.4)
  153.         clear()
  154.     end
  155.     signdarab = turtle.getItemCount(4)
  156.     turtle.select(4)
  157.     while signdarab ~= 1 do
  158.         printF()
  159.         print("4. Lepes")
  160.         print("")
  161.         signdarab = turtle.getItemCount(4)
  162.         signkell = 1 - signdarab
  163.         print("Elso sor, negyedik slotba, rakj egy tablat (sign).")
  164.         print("Meg ennyi kell: ".. signkell)
  165.         term.setCursorPos(1,10)
  166.         print("Ha beraktad, folytatodik a telepites")
  167.         sleep(0.4)
  168.         clear()
  169.     end
  170.     if fuel == 0 then
  171.         while turtle.getItemCount(1) == 0 do
  172.             printF()
  173.             print("Kerlek ellenorizd, hogy az 1-es slotban van-e szenem.")
  174.             print("Rakj 2db szenet es nyomj egy entert")
  175.             read("")
  176.             clear()
  177.         end
  178.         turtle.select(1)
  179.         print("Tankoltam.")
  180.         turtle.refuel(1)
  181.         sleep(1)
  182.     end
  183.     clear()
  184.     printF()
  185.     print("Epites elkezdodott, kerlek vard meg mig kesz lesz.")
  186.     for i = 1, 4, 2 do
  187.         for i = 1, 5 do
  188.             lepesE()
  189.         end
  190.         turnL()
  191.         for i = 1, 5 do
  192.             lepesE()
  193.         end
  194.         turnR()
  195.     end
  196.     itemInstall()
  197. end
  198.  
  199.  
  200.  
  201. function itemGo()       --Install resznel a mozgas
  202.     turtle.turnLeft()
  203.     while not turtle.forward() do
  204.         if turtle.detect() == true then
  205.             clear()
  206.             printF()
  207.             print("Egy block van elottem, kiuthetem? i/n")
  208.             local valasz = "k"
  209.             local valasz = read()
  210.             if valasz == "i" or valasz == "I" or valasz == "y" or valasz == "Y" or valasz == "k" or valasz == "K" then
  211.                 turtle.dig()
  212.             else
  213.                 clear()
  214.                 printF()
  215.                 print("Amig nem veszed el elolem a block-ot nem tudom folytatni a telepitest.")
  216.             end
  217.         else
  218.             clear()
  219.             printF()
  220.             turtle.attack()
  221.             print("Egy MOB, NPC, vagy Player van elottem, tamadok!")
  222.         end
  223.     end
  224.     turtle.turnRight()
  225. end
  226.  
  227.  
  228.  
  229. function itemInstall()      --Chestek, tablak lerakasa
  230.     turtle.turnRight()
  231.     turtle.select(2)
  232.     for i = 1, 3 do
  233.         lepesE()
  234.     end
  235.     for i = 1, 2 do
  236.         while not turtle.place() do
  237.             clear()
  238.             printF()
  239.             print("Nem tudom lehelyezni a ladat")
  240.             sleep(1)
  241.         end
  242.         itemGo()
  243.     end
  244.     turtle.select(3)
  245.     while not turtle.place([[Kibanyaszott
  246. block-ok
  247. -------->]]) do
  248.         clear()
  249.         printF()
  250.         print("Nem tudom lehelyezni a tablat")
  251.         sleep(1)
  252.     end
  253.     itemGo()
  254.     turtle.select(2)
  255.     while not turtle.place() do
  256.         clear()
  257.         printF()
  258.         print("Nem tudom lehelyezni a ladat")
  259.         sleep(1)
  260.     end
  261.         itemGo()
  262.     turtle.select(4)
  263.     while not turtle.place([[Uzemanyag nekem
  264. (szen,fa)
  265. ------->]]) do
  266.         clear()
  267.         printF()
  268.         print("Nem tudom lehelyezni a tablat")
  269.         sleep(1)
  270.     end
  271.     turtle.turnRight()
  272.     for i = 1, 4 do
  273.         while not turtle.forward() do
  274.             if turtle.detect() == true then
  275.                 clear()
  276.                 printF()
  277.                 write("Egy block van elottem, kiuthetem? i/n :")
  278.                 local valasz = "k"
  279.                 local valasz = read()
  280.                 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
  281.                     turtle.dig()
  282.                 elseif valsz == "n" or valsz == "N" or valasz == "nem" or valasz == "NEM" then
  283.                     clear()
  284.                     printF()
  285.                     print("Amig nem veszed el elolem a block-ot, nem tudom folytatni a telepitest.")
  286.                     sleep(.1)
  287.                 else
  288.                     clear()
  289.                     printF()
  290.                     print("Nem ismert valaszt adtal meg. i/n?")
  291.                 end
  292.             else
  293.                 clear()
  294.                 printF()
  295.                 turtle.attack()
  296.                 print("Egy MOB, NPC, vagy Player van elottem, tamadok!")
  297.                 sleep(.1)
  298.             end
  299.         end
  300.     end
  301.     turtle.turnLeft()
  302.     dropAll()
  303.     turtle.turnRight()
  304.     turtle.turnRight()
  305.     for i = 1, 3 do
  306.         turtle.forward()
  307.     end
  308.     turtle.turnRight()
  309.     clear()
  310.     banyaszas()
  311. end
  312.  
  313.  
  314.  
  315. function reFuel()       --Tankolasi menet
  316.     fuel = turtle.getFuelLevel()
  317.     if fuel < 100 then
  318.     turtle.select(1)
  319.     while not turtle.refuel(1) do
  320.         clear()
  321.         printF()
  322.         print("Nincs szen az egyes slotban")
  323.         sleep(3)
  324.     end
  325.         fuel = turtle.getFuelLevel()
  326.         clear()
  327.         printF()
  328.         print("Tankoltam.")
  329.         print("Uzemanyag szint: "..fuel)
  330.     end
  331. end
  332.  
  333.  
  334.  
  335. function getFuel()      --Lepakolas utan, uzemanyag ellenorzes es feltankolas
  336.     local fuelslot = turtle.getItemCount(1)
  337.     local loopback = 0
  338.     turtle.select(1)
  339.     if fuelslot < 10 then
  340.         turtle.turnRight()
  341.         while loopback ~= 3 do
  342.             if turtle.forward() == false then
  343.                 turtle.attack()
  344.             else
  345.                 loopback = loopback + 1
  346.             end
  347.         end
  348.         turtle.turnRight()
  349.         while not turtle.suck() do
  350.             clear()
  351.             printF()
  352.             print("Nincs a ladaban szen. Kerlek toltsd fel,")
  353.             print("A ladaban minimum 10 db szen legyen mindig.")
  354.             print("Ha feltoltotted, kiveszem.")
  355.             sleep(3)
  356.         end
  357.         local loopback = 0
  358.         turtle.turnRight()
  359.         while loopback ~= 3 do
  360.             if turtle.forward() == false then
  361.                 turtle.attack()
  362.             else
  363.                 loopback = loopback + 1
  364.             end
  365.         end
  366.         turtle.turnRight()
  367.     end
  368. end
  369.  
  370.  
  371.  
  372. function dropAll()      --Chestnel minden slotot kiurit kiveve az egyest.
  373.     local slot = 2
  374.     while slot ~= 17 do
  375.         turtle.select(slot)
  376.         turtle.drop()
  377.         slot = slot+1
  378.     end
  379. --[[    for i = 2, 17 do --Vagy így. :)
  380.         turtle.select(i)
  381.         turtle.drop()
  382.     end
  383. --]]
  384. end
  385.  
  386.  
  387.  
  388. function targetC()      --Banyatol a chastig
  389.     local loop = true
  390.     while loop do
  391.         if turtle.forward() == true then
  392.             clear()
  393.             printF()
  394.             lepes = lepes + 1
  395.             printBlock()
  396.             term.setCursorPos(1,8)
  397.             print("Lepesek a chest-ig: "..lepes)
  398.         else
  399.             reFuel()
  400.             if turtle.detect() == true then         --Erzekeli a MOB okat
  401. --              if lepes == (loopvissza + 2) then
  402.                     dropAll()
  403.                     turtle.turnLeft()
  404.                     turtle.turnLeft()
  405.                     getFuel()
  406.                     loop = false
  407. --[[még kell rajta dolgozni loop vissza alapot kell beallitani             else
  408.                     clear()
  409.                     printF()
  410.                     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?")
  411.                     local valasz = read()
  412.                     if valasz == "i" or valasz == "I" or valasz == "y" or valasz == "Y" then
  413.                         if turtle.dig() == true then
  414.                             block_digs = block_digs + 1
  415.                         end
  416.                     elseif valasz == "n" or valasz == "N" then
  417.                         clear()
  418.                         printF()
  419.                         loopvissza = (lepes - 2)
  420.                         print("Megjegyeztem a chest uj poziciojat.")
  421.                         sleep(3)
  422.                     else
  423.                         clear()
  424.                         printF()
  425.                         print("Helytelen valasz! i/n?")
  426.                         sleep(2)
  427.                         return targetC()
  428.                     end
  429.                 end]]
  430.             else
  431.                 turtle.attack()
  432.             end
  433.         end
  434.     end
  435.     clear()
  436.     printF()
  437.     print("Ennyit megyek vissza: "..lepes)
  438.     local loopvissza = 0
  439.     while loopvissza ~= lepes do
  440.         if turtle.forward() == false then
  441.             if turtle.detect() == true then
  442.                 clear()
  443.                 printF()
  444.                 print("Van elottem egy block. Kibanyasszam? i/n")
  445.                 local valasz = read()
  446.                 if valasz == "i" or valasz == "I" or valasz == "igen" or valasz == "IGEN" then
  447.                     if turtle.dig() == true then
  448.                         block_digs = block_digs + 1
  449.                     else
  450.                         clear()
  451.                         printF()
  452.                         print("Error1: Blockot erzekelek, de nem tudtam kibanyaszni!")
  453.                         print("Ha kibanyasztad, nyomj egy entert")
  454.                         read("")
  455.                     end
  456.                 elseif valasz == "n" or  valasz == "N" or  valasz == "nem" or  valasz == "NEM" then
  457.                     clear()
  458.                     printF()
  459.                     print("Mig nem veszed el a blockot elolem, nem tudok tovabb menni.")
  460.                     print("Ha kibanyasztad, nyomj egy entert")
  461.                     read("")
  462.                 else
  463.                     clear()
  464.                     printF()
  465.                     print("Helytelen valasz. i/n?")
  466.                 end
  467.             end
  468.             turtle.attack()
  469.             reFuel()
  470.         else
  471.             loopvissza = loopvissza + 1
  472.         end
  473.     end
  474.     turtle.turnRight()
  475. end
  476.    
  477.     --[[  for i = 2, lepes + 1 do //erzekeles nelkul
  478.     while not turtle.forward() do
  479.       turtle.attack()
  480.  
  481.     end
  482.   end
  483. ]]
  484.  
  485.  
  486.  
  487. function digDown()      --Lefele asas, ha van alatta valami.
  488.     while turtle.detectDown() do
  489.         if turtle.digDown() == true then
  490.             block_digs = block_digs + 1
  491.         end
  492.     end
  493.     printBlock()
  494. end
  495.  
  496.  
  497.  
  498. function lepesE()       --Banyaszas kozbeni lepesek.
  499.     while not turtle.forward() do
  500.         if turtle.detect() == true then
  501.             clear()
  502.             printF()
  503.             printBlock()
  504.             if turtle.dig() == true then
  505.                 block_digs = block_digs + 1
  506.             end
  507.         else
  508.             clear()
  509.             printF()
  510.             turtle.attack()
  511.             print("Egy MOB, NPC, vagy Player van elottem, tamadok!")
  512.         end
  513.         if turtle.getFuelLevel() < 10 then
  514.             turtle.select(1)
  515.             reFuel()
  516.         end
  517.     end
  518.     sleep(0.4)
  519.     while turtle.detectUp() do
  520.         if turtle.digUp() == true then
  521.             block_digs = block_digs + 1
  522.         end
  523.         sleep(0.4)
  524.     end
  525.     printBlock()
  526. end
  527.  
  528.  
  529.  
  530. function turnL()        --Balra megfordulas
  531.     turtle.turnLeft()
  532.     lepesE()
  533.     turtle.turnLeft()
  534. end
  535.  
  536.  
  537.  
  538. function turnR()        --Jobbra megfordulas
  539.     turtle.turnRight()
  540.     lepesE()
  541.     turtle.turnRight()
  542. end
  543.  
  544. function printBlock()
  545.     clear()
  546.     printF()
  547.     term.setCursorPos(1,5)
  548.     local fuel2 = turtle.getFuelLevel()
  549.     print("Online")
  550.     print("Uzemanyag szint:  ".. fuel2)
  551.     term.setCursorPos(24,6)
  552.     write("egyseg")
  553.     term.setCursorPos(1,7)
  554.     print("Kitermelt menny.: " .. block_digs)
  555.     term.setCursorPos(24,7)
  556.     write("db")
  557. end
  558.  
  559. function banyaszas()        --Banyaszas menete
  560.     loopvissza = 3
  561.     block_digs = 0
  562.     while true do
  563.         clear()
  564.         local fuel = turtle.getFuelLevel()
  565.         printF()
  566.         if fuel == 0 then
  567.             while turtle.getItemCount(1) == 0 do
  568.                 clear()
  569.                 printF()
  570.                 print("Kerlek ellenorizd, hogy az 1-es slotban van-e szenem.")
  571.                 print("Rakj 2db szenet es folytatom")
  572.                 sleep(.5)
  573.                 clear()
  574.             end
  575.             printF()
  576.             turtle.select(1)
  577.             turtle.refuel(1)
  578.             print("Tankoltam.")
  579.             sleep(1)
  580.             clear()
  581.         end
  582.         clear()
  583.         printF()
  584.         local fuel2 = turtle.getFuelLevel()
  585.         print("Online")
  586.         print("Uzemanyag szint:  ".. fuel2)
  587.         term.setCursorPos(24,6)
  588.         write("egyseg")
  589.         term.setCursorPos(1,7)
  590.         print("Kitermelt menny.: " .. block_digs)
  591.         term.setCursorPos(24,7)
  592.         write("db")
  593.         term.setCursorPos(1,10)
  594.         print("Hosszusag:")
  595.         term.setCursorPos(1,9)
  596.         write("Szelesseg: ")
  597.         szeles = tonumber(read())       --read-be mit adtunk meg, szamokat vagy betuket
  598.         if szeles == nil then       --Szam vizsgalat
  599.             clear()
  600.             printF()
  601.             term.setCursorPos(1,6)
  602.             print("   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!")
  603.             print("   !                              !")
  604.             print("   !  Szelesseg, csak szam lehet! !")
  605.             print("   !                              !")
  606.             print("   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!")
  607.             sleep(4)
  608.             clear()
  609.             return banyaszas()
  610.         end
  611.         local szeles = szeles + 0
  612.         if (szeles < 51) and (szeles > 1) then
  613.             write("Hosszusag: ")
  614.             local hosszu = tonumber(read())
  615.             if hosszu == nil then
  616.                 clear()
  617.                 printF()
  618.                 print("Szelessegnek, csak szamot lehet megadni!")
  619.                 sleep(3)
  620.                 return banyaszas()
  621.             end
  622.             local hosszu = hosszu + 0
  623.             if (hosszu < 51) and (hosszu > 1) then
  624.                 hosszu = hosszu-1
  625.                 szeles = szeles-1
  626.                 for i = 1, szeles, 2 do
  627.  
  628.                     for i = 1, hosszu do
  629.                         digDown()
  630.                         lepesE()
  631.                         digDown()
  632.                     end
  633.                     turnL()
  634.                     for i = 1, hosszu do
  635.                         digDown()
  636.                         lepesE()
  637.                         digDown()
  638.                     end
  639.                     reFuel()
  640.                     turnR()
  641.                     lepes = 0  --//athelyezve targetC() bol
  642.                     turtle.turnRight()  --//athelyezve targetC() bol
  643.                     targetC()
  644.                 end
  645.                 term.clear()
  646.                 term.setCursorPos(1,1)
  647.             else
  648.                 clear()
  649.                 printF()
  650.                 term.setCursorPos(1,6)
  651.                 print("   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!")
  652.                 print("   !                              !")
  653.                 print("   !  Szelesseg, csak szam lehet! !")
  654.                 print("   !                              !")
  655.                 print("   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!")
  656.                 sleep(4)
  657.                 clear()
  658.                 return banyaszas()
  659.             end
  660.         else
  661.             clear()
  662.             printF()
  663.             print("")
  664.             print("Szelesseg 2 es 50 kozott kell lennie")
  665.             sleep(3)
  666.             return banyaszas()
  667.         end
  668.     end
  669. end
  670.  
  671. function helpP()        --Help menu
  672.     clear()
  673.     printF()
  674.     print("Install        : Dokkolo epites.")
  675.     print("Banya program  : Banyaszo program.")
  676.     print("Help           : Menu leirasok.")
  677.     print("Leiras         : Leiras a programrol")
  678.     print("")
  679.     print("Tovabb lepeshez nyomj egy entert")
  680.     read("")
  681. end
  682.  
  683. function InstallP()     --Install menu
  684.     clear()
  685.     printF()
  686.     print("A kovetkezo dolgok legyenek nalad:")
  687.     print(" - 5db szen")
  688.     print(" - 3db lada (chest)")
  689.     print(" - 2db tabla (sign)")
  690.     print("Ha ezek megvannak kerlek, nyomj egy entert.")
  691.     read("")
  692.     clear()
  693.     telepitAera()
  694. end
  695.  
  696. --[[ Main program ]]--
  697.  
  698.  
  699. --[[while true do                   //v0.9 es menu nelkuli
  700.   clear()
  701.   printF()
  702.   print("")
  703.   term.setCursorPos(1,12)
  704.   print("Parancsok: help")
  705.   term.setCursorPos(1,5)
  706.   write("Program: ")
  707.   program = read()
  708.   if program == "install" then
  709.     clear()
  710.     printF()
  711.     print("A kovetkezo dolgok legyenek nalad:")
  712.     print(" - 5db szen")
  713.     print(" - 3db lada (chest)")
  714.     print(" - 2db tabla (sign)")
  715.     print("Ha ezek megvannak kerlek, nyomj egy entert.")
  716.     read("")
  717.     clear()
  718.     telepitAera()
  719.   elseif program == "help" then
  720.     clear()
  721.     printF()
  722.     print("install: Dokkolo epites.")
  723.     print("banya:   Banyaszo program.")
  724.     term.setCursorPos(1,12)
  725.     print("Tovabb lepeshez nyomj egy [entert]")
  726.     read("")
  727.     clear()
  728.   elseif program == "banya" then
  729.     banyaszas()
  730.   else
  731.     clear()
  732.     printF()
  733.     print("Helytelen parancs, kerlek hasznald a [help] parancsot")
  734.     print("Tovabb lepeshez nyomj egy [entert]")
  735.     read("")
  736.   end
  737. end
  738. ]]--
  739.  
  740. --[[ Menu ]]--
  741.  
  742. --[[ Local Variables ]]--
  743.  
  744. local termWidth, termHeight = term.getSize()
  745. local selectedItem = 1
  746. local runing = true
  747.  
  748. --[[ Menu Metods ]]--           --Melyik menu mi legyen
  749. function Choice1()
  750.     InstallP()
  751. end
  752.  
  753. function Choice2()
  754.     banyaszas()
  755. end
  756.  
  757. function Exit()
  758.     runing = false
  759. end
  760.  
  761. function Help()
  762.     helpP()
  763. --[[  print(visszaMenu)]]--
  764.    
  765. end
  766.  
  767. function Leiras()       --Leiras menu
  768.     clear()
  769.     printF()
  770.     term.setCursorPos(1,4)
  771.     print([[A program a banyaszasra keszult. A turtle horizontalis pozicioban, 3block magassabban banyasz.
  772. Azert igy mert, a legtobb gyemantot igy lehet gyujteni a kb 9-12 bolck magassagban.]])
  773.     print("")
  774.     print("")
  775.     print("--Press Enter Key to Continue--")
  776.     read("")
  777.     print([[ A programot kizarolag hobbi celbol keszitettem.
  778. Modositas nelkul szabadon terjesztheto. Terjesztesnel fel kell tuntetni a keszitot illetve a verziot.
  779.  
  780. Keszlitette: K.Laszlo Alias -Matteo-
  781. Minecraft nev: LeslieHUN]])
  782.     print("")
  783.     print("--Press Enter Key to Continue--")
  784.     read("")
  785. end
  786.  
  787. function tovabb()
  788.  main()
  789. end
  790.  
  791. function vissza()
  792.  main()
  793. end
  794.  
  795. --[[ Menu Definitions ]]--
  796.  
  797. local mainMenu = {              --Menuk szerkezete, funkcioi
  798.     [1] = { text = "   Install   ", handler = Choice1 },
  799.     [2] = { text = "Banya program", handler = Choice2 },
  800.     [3] = { text = "    Help     ", handler = Help },
  801.     [4] = { text = "   Leiras    ", handler = Leiras },
  802.     [5] = { text = "    Exit     ", handler = Exit }
  803. }
  804.  
  805. --[[Hamarosan]]     local visszaMenu = {
  806.     [1] = { text = "Tovabb", handler = tovabb },
  807.     [2] = { text = "Vissza", handler = vissza }
  808. }
  809. --[[ Printing Methods ]]--
  810.  
  811. function printMenu ( menu )         --Menu megjelenitese es cursor mozgatasa
  812.     for i = 1, #menu do
  813.         if i == selectedItem then
  814.             term.setCursorPos(10,(i+5))
  815.             print(">> "..menu[i].text.." <<")
  816.         else
  817.             term.setCursorPos(10,(i+5))
  818.             print("   "..menu[i].text)
  819.         end
  820.     end
  821. end
  822.  
  823. --[[ Handler Method ]]--
  824.  
  825. function onKeyPressed( key, menu )          --Menunel, gombok erzekelese.
  826.     if key == keys.enter then
  827.         onItemSelected(menu)
  828.     elseif key == keys.up then
  829.         if selectedItem > 1 then
  830.             selectedItem = selectedItem - 1
  831.         end
  832.     elseif key == keys.down then
  833.         if selectedItem < #menu then
  834.             selectedItem = selectedItem + 1
  835.         end
  836.     end
  837. end
  838.  
  839. function onItemSelected( menu )
  840.     menu[selectedItem].handler()
  841. end
  842.  
  843. --[[ Main Methods ]]--
  844.  
  845. function main()             --Main menu futtatasa
  846.     while runing do
  847.         clear()
  848.         printF()
  849.         term.setCursorPos(10,5)
  850.         printMenu(mainMenu)
  851.         event, key = os.pullEvent("key")
  852.         onKeyPressed(key,mainMenu)
  853.     end
  854. end
  855.  
  856. --Main program--
  857.  
  858. block_digs = 0
  859. main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement