Advertisement
LeslieCraft

[HUN] Minecraft, computercraft turtle. v0.9

Nov 24th, 2012
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.   --Automata banyaszo Turtle v0.9--
  2.             --By Matteo--
  3.            --2012. 11.18--
  4.  
  5. --[[
  6. ----------------------------------------
  7. 0.1 -Banyaszas.
  8. 0.2 -Minden inditasnal tankol.
  9. 2012.11.19
  10. 0.3 -HotFIX: ha nincs elotte block
  11.       akkor is banyasz maga felett.
  12. 0.4 -Fordulokent elmegy es
  13.       kiuriti magat a chest-be.
  14. 0.5 -Ha soder hullik ra, erzekeli
  15.       es kibanyassza.
  16.     -Csak akkor tankol, ha 2000 ala
  17.       esik az uzemanyag szint.
  18. 0.6 -Maga alatt is banyasz.
  19.       A tankolas fordulonkent van, nem
  20.       indulasonkent.
  21. 2012.11.20
  22. 0.7 -Install parancsal, megcsinalja
  23.       maganak a dokkolo helyet. 6x6
  24.       3chest 2tabla tartalom leirassal.
  25.     -Tankolas opcio pontositva. Akkor
  26.       tankol, ha 100 ala esik az
  27.       uzemanyag szint. Masodik chestbol
  28.       kiveszi maganak a szenet, ha a
  29.       slot1 ben 30 ala esik a szen.
  30. 2012.11.24
  31. 0.8 -HotFix: Tankilasok finomitva.
  32.      -Ha menetkozben kifogy, egyet
  33.       tankol.
  34.     -Install resznel leellenorzi a
  35.      slotok darabszamat. Ha hianyzik
  36.      kiirja, hogy mi Ês honnan.
  37.     -Indulasnal kulon parancs resz.
  38.     -Program menet, sorrend pontositva.
  39. 2012.11.25
  40. 0.9 -Fokent kulalak es felhasznalo
  41.      barat javitasok.
  42.     -Min es max hatar a szelesseg es
  43.       hosszusagnal.
  44.     -Csak szamot lehet mar megadni.
  45.     -"Menuk" jobban el vannak rendezve
  46.     -Ha tankol, de kifogyott a szen,
  47.       jelzi es var.
  48.     -Ha nem tud elolre lepni, leellenorzi
  49.       az uzemanyagszintet, ha kell tankol.
  50. ----------------------------------------
  51. Kijavitando hibak:
  52.   -Ha az "uritesi" savban neki megy
  53.    valaminek, ott urit.
  54.   -MOB okat nem erzekeli.
  55.   -Ha valahol leall kezzel kell a
  56.    helyere vinni. (GPS megirasa kell)
  57. ----------------------------------------
  58. ]]--
  59.  
  60.  
  61. --[[ Functions ]]--
  62.  
  63. function clear()
  64.   term.clear()
  65.   term.setCursorPos(1,1)
  66. end
  67.  
  68.  
  69.  
  70. function printF()
  71.   print("  --Automata banyaszo Turtle v0.9--")
  72.   print("            --By Matteo--")
  73.   term.setCursorPos(1,5)
  74.  
  75. end
  76.  
  77. function telepitAera()
  78.   clear()
  79.   turtle.select(1)
  80.   while szendarab ~= 3 do
  81.     printF()
  82.     print("1. Lepes")
  83.     print("")
  84.     szendarab = turtle.getItemCount(1)
  85.     szenkell = 3 - szendarab
  86.     print("Elso sor, elso slotba, rakj 3db darab szenet.")
  87.     print("Meg ennyi kell: "..szenkell)
  88.     term.setCursorPos(1,10)
  89.     print("Ha beraktad, folytatodik a telepites")
  90.     sleep(0.5)
  91.     clear()
  92.   end
  93.  
  94.   ladadarab = turtle.getItemCount(2)
  95.   turtle.select(2)
  96.   while ladadarab ~= 3 do
  97.     printF()
  98.     print("2. Lepes")
  99.     print("")
  100.     ladadarab = turtle.getItemCount(2)
  101.     ladakell = 3 - ladadarab
  102.     print("Elso sor, masodik slotba, rakj 3db ladat (chest).")
  103.     print("Meg ennyi kell: ".. ladakell)
  104.     term.setCursorPos(1,10)
  105.     print("Ha beraktad, folytatodik a telepites")
  106.     sleep(0.5)
  107.     clear()
  108.   end
  109.  
  110.   signdarab = turtle.getItemCount(3)
  111.   turtle.select(3)
  112.   while signdarab ~= 1 do
  113.     printF()
  114.     print("3. Lepes")
  115.     print("")
  116.     signdarab = turtle.getItemCount(3)
  117.     signkell = 1 - signdarab
  118.     print("Elso sor, harmadik slotba, rakj egy tablat (sign).")
  119.     print("Meg ennyi kell: ".. signkell)
  120.     term.setCursorPos(1,10)
  121.     print("Ha beraktad, folytatodik a telepites")
  122.     sleep(0.5)
  123.     clear()
  124.   end
  125.  
  126.   signdarab = turtle.getItemCount(4)
  127.   turtle.select(4)
  128.   while signdarab ~= 1 do
  129.     printF()
  130.     print("4. Lepes")
  131.     print("")
  132.     signdarab = turtle.getItemCount(4)
  133.     signkell = 1 - signdarab
  134.     print("Elso sor, negyedik slotba, rakj egy tablat (sign).")
  135.     print("Meg ennyi kell: ".. signkell)
  136.     term.setCursorPos(1,10)
  137.     print("Ha beraktad, folytatodik a telepites")
  138.     sleep(0.5)
  139.     clear()
  140.   end
  141.  
  142.   if fuel == 0 then
  143.     while turtle.getItemCount(1) == 0 do
  144.       printF()
  145.       print("Kerlek ellenorizd, hogy az 1-es slotban van-e szenem.")
  146.       print("Rakj 2db szenet es nyomj egy entert")
  147.       read()
  148.       clear()
  149.     end
  150.     turtle.select(1)
  151.     print("Tankoltam.")
  152.     turtle.refuel(1)
  153.     sleep(1)
  154.     end
  155.    clear()
  156.    printF()
  157.    print("Epites elkezdodott, kerlek vard meg mig kesz lesz.")
  158.    for i = 1, 4, 2 do
  159.        
  160.      for i = 1, 5 do
  161.        lepesE()
  162.      end
  163.        turnL()
  164.  
  165.      for i = 1, 5 do
  166.        lepesE()
  167.      end
  168.      turnR()
  169.    end
  170.    itemInstall()
  171. end
  172.  
  173.  
  174.  
  175. function itemGo()
  176.  turtle.turnLeft()
  177.  turtle.forward()
  178.  turtle.turnRight()
  179. end
  180.  
  181.  
  182.  
  183. function itemInstall()
  184.   turtle.turnRight()
  185.   turtle.select(2)
  186.   for i = 1, 3 do
  187.     lepesE()
  188.   end
  189.   for i = 1, 2 do
  190.     turtle.place()
  191.     itemGo()
  192.   end
  193.   turtle.select(3)
  194.   turtle.place([[Kibanyaszott
  195. block-ok
  196. -------->]])
  197.   itemGo()
  198.   turtle.select(2)
  199.   turtle.place()
  200.   itemGo()
  201.   turtle.select(4)
  202.   turtle.place([[Uzemanyag nekem
  203. (szen)
  204. ------->]])
  205.   turtle.turnRight()
  206.   for i = 1, 4 do
  207.     turtle.forward()
  208.   end
  209.   turtle.turnLeft()
  210.   dropAll()
  211.   turtle.turnRight()
  212.   turtle.turnRight()
  213.   for i = 1, 3 do
  214.     turtle.forward()
  215.   end
  216.   turtle.turnRight()
  217.   clear()
  218.   banyaszas()
  219. end
  220.  
  221.  
  222.  
  223. function reFuel()
  224. fuel = turtle.getFuelLevel()
  225.   if fuel < 100 then    
  226.     turtle.select(1)
  227.     while not turtle.refuel(1) do
  228.       clear()
  229.       printF()
  230.       print("Nincs szen az egyse slotban")
  231.       sleep(3)
  232.      end
  233.     print("Tankoltam.")
  234.   end
  235. end
  236.  
  237.  
  238.  
  239. function getFuel()
  240.   local fuelslot = turtle.getItemCount(1)
  241.   turtle.turnRight()
  242.   turtle.select(1)
  243.   turtle.turnLeft()
  244.   if fuelslot < 10 then
  245.     for i = 1, 3 do
  246.       turtle.forward()
  247.     end
  248.     turtle.turnRight()
  249.     while not turtle.suck() do
  250.       clear()
  251.       printF()
  252.       print("Nincs a ladaban szen. Kerlek toltsd fel")
  253.       print("Ha feltoltotted, kiveszem.")
  254.       sleep(3)
  255.     end
  256.     clear()
  257.     printF()
  258.     turtle.turnRight()
  259.     for i = 1, 3 do
  260.       turtle.forward()
  261.     end
  262.   end
  263. end
  264.  
  265.  
  266.  
  267. function dropAll()
  268.   local slot = 2
  269.  
  270.   while slot ~= 17 do
  271.     turtle.select(slot)
  272.     turtle.drop()
  273.     slot = slot+1
  274.   end
  275. end  
  276.  
  277.  
  278.  
  279. function targetC()
  280.   lepes = 0
  281.   turtle.turnRight()
  282.   while turtle.forward() do
  283.     clear()
  284.     printF()
  285.     lepes = lepes + 1
  286.     print("Lepesek a chest-ig: "..lepes)
  287.   end
  288.  
  289.   while not turtle.forward() do
  290.     dropAll()
  291.     turtle.turnLeft()
  292.     getFuel()
  293.     turtle.turnLeft()
  294.   end
  295.   clear()
  296.   printF()
  297.   print("Ennyit megyek vissza: "..lepes)
  298.  
  299.   for i = 2, lepes do
  300.     turtle.forward()
  301.   end
  302.  
  303.   turtle.turnRight()  
  304. end
  305.  
  306.  
  307.  
  308. function digDown()
  309.  
  310.   while turtle.detectDown() do
  311.     turtle.digDown()
  312.   end
  313. end
  314.  
  315.  
  316.  
  317. function lepesE()
  318.  
  319.   while not turtle.forward() do
  320.     turtle.dig()
  321.      if turtle.getFuelLevel() == 0 then
  322.        turtle.select(1)
  323.        reFuel()
  324.      end
  325.   end
  326.   sleep(0.4)
  327.  
  328.   while turtle.detectUp() do
  329.     turtle.digUp()
  330.     sleep(0.4)
  331.   end
  332. end
  333.  
  334.  
  335.  
  336. function turnL()
  337.   turtle.turnLeft()
  338.   lepesE()
  339.   turtle.turnLeft()
  340. end
  341.  
  342.  
  343.  
  344. function turnR()
  345.   turtle.turnRight()
  346.   lepesE()
  347.   turtle.turnRight()
  348. end
  349.  
  350.  
  351. function banyaszas()
  352.   while true do
  353.     clear()
  354.     local fuel = turtle.getFuelLevel()
  355.     printF()
  356.     term.setCursorPos(1,5)
  357.     print("Online")
  358.     print("Uzemanyag szint: "..fuel)
  359.     print("")
  360.     write("Szelesseg: ")                      
  361.     szeles = read()
  362.     if szeles < "51" and szeles > "1" then
  363.       write("Hossz: ")
  364.       local hosszu = read()
  365.       if hosszu < "51" and hosszu > "1" then
  366.         hosszu = hosszu-1
  367.         szeles = szeles-1
  368.         for i = 1, szeles, 2 do
  369.          
  370.           for i = 1, hosszu do
  371.             digDown()
  372.             lepesE()
  373.             digDown()
  374.           end
  375.             turnL()
  376.  
  377.           for i = 1, hosszu do
  378.             digDown()
  379.             lepesE()
  380.             digDown()
  381.           end
  382.        
  383.           reFuel()
  384.           turnR()
  385.           targetC()
  386.         end
  387.         term.clear()
  388.         term.setCursorPos(1,1)
  389.       else
  390.         clear()
  391.         printF()
  392.         print("")
  393.         print("Hosszusagnak 2 es 50 kozottinek kell lennie")
  394.         sleep(3)
  395.         banyaszas()
  396.       end
  397.     else
  398.       clear()
  399.       printF()
  400.       print("")
  401.       print("Szelesseg 2 es 50 kozott kell lennie")
  402.       sleep(3)
  403.       banyaszas()
  404.     end
  405.   end
  406. end
  407.  
  408. --[[ Main program ]]--
  409.  
  410.  
  411. while true do
  412.   clear()
  413.   printF()
  414.   print("")
  415.   term.setCursorPos(1,12)
  416.   print("Parancsok: help")
  417.   term.setCursorPos(1,5)
  418.   write("Program: ")
  419.   program = read()
  420.   if program == "install" then
  421.     clear()
  422.     printF()
  423.     print("A kovetkezo dolgok legyenek nalad:")
  424.     print(" - 5db szen")
  425.     print(" - 3db lada (chest)")
  426.     print(" - 2db tabla (sign)")
  427.     print("Ha ezek megvannak kerlek, nyomj egy entert.")
  428.     read("")
  429.     clear()
  430.     telepitAera()
  431.   elseif program == "help" then
  432.     clear()
  433.     printF()
  434.     print("install: Dokkolo epites.")
  435.     print("banya:   Banyaszo program.")
  436.     term.setCursorPos(1,12)
  437.     print("Tovabb lepeshez nyomj egy [entert]")
  438.     read("")
  439.     clear()
  440.   elseif program == "banya" then
  441.     banyaszas()
  442.   else
  443.     clear()
  444.     printF()
  445.     print("Helytelen parancs, kerlek hasznald a [help] parancsot")
  446.     print("Tovabb lepeshez nyomj egy [entert]")
  447.     read("")
  448.   end
  449. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement