Advertisement
LeslieCraft

[HUN] Minecraft, computercraft turtle. v0.8

Nov 23rd, 2012
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.   --Automata banyaszo Turtle v0.8--
  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. ----------------------------------------
  40. Kijavitando hibak:
  41.   -Kell egy min Γ©s max hatΓ‘r.
  42.   -Ha nem szamokat adunk meg, kifagy.
  43.   -Ha az "uritesi" savban neki megy
  44.    valaminek, ott urit.
  45.   -MOB okat nem erzekeli.
  46.   -Ha valahol leall kezzel kell a
  47.    helyere vinni. (GPS megirasa kell)
  48. ----------------------------------------
  49. ]]--)
  50.  
  51. function clear()
  52.   term.clear()
  53.   term.setCursorPos(1,1)
  54. end
  55.  
  56.  
  57.  
  58. function printF()
  59.   print("  --Automata banyaszo Turtle v0.8--")
  60.   print("            --By Matteo--")
  61.   print("")
  62. end
  63.  
  64.  
  65. function telepitAera()
  66.   clear()
  67.   szendarab = turtle.getItemCount(1)
  68.   while szendarab == 0 do
  69.     printF()
  70.     szendarab = turtle.getItemCount(1)
  71.     print("Nincs szen az 1. slotban")
  72.     print("Ha kiegeszitetted, folytatodik a telepites")
  73.     sleep(0.5)
  74.     clear()
  75.   end
  76.  
  77.   ladadarab = turtle.getItemCount(2)
  78.   while ladadarab ~= 3 do
  79.     printF()
  80.     ladadarab = turtle.getItemCount(2)
  81.     ladakell = 3 - ladadarab
  82.     print("Nincs elegendo lada (chest) a 2. slotban")
  83.     print("Meg ennyi kell: ".. ladakell)
  84.     print("Ha kiegeszitetted, folytatodik a telepites")
  85.     sleep(0.5)
  86.     clear()
  87.   end
  88.  
  89.   signdarab = turtle.getItemCount(3)
  90.   while signdarab ~= 1 do
  91.     printF()
  92.     signdarab = turtle.getItemCount(3)
  93.     signkell = 1 - signdarab
  94.     print("Nincs elegendo tabla (sign) a 3. slotban")
  95.     print("Meg ennyi kell: ".. signkell)
  96.     print("Ha kiegeszitetted, folytatodik a telepites")
  97.     sleep(0.5)
  98.     clear()
  99.   end
  100.  
  101.   signdarab = turtle.getItemCount(4)
  102.   while signdarab ~= 1 do
  103.     printF()
  104.     signdarab = turtle.getItemCount(4)
  105.     signkell = 1 - signdarab
  106.     print("Nincs elegendo tabla (sign) a 4. slotban")
  107.     print("Meg ennyi kell: ".. signkell)
  108.     print("Ha kiegeszitetted, folytatodik a telepites")
  109.     sleep(0.5)
  110.     clear()
  111.   end
  112.  
  113.   if fuel == 0 then
  114.     while turtle.getItemCount(1) == 0 do
  115.       printF()
  116.       print("Kerlek ellenorizd, hogy az 1-es slotban van-e szenem.")
  117.       print("Rakj 2db szenet es nyomj egy entert")
  118.       read()
  119.       clear()
  120.     end
  121.     turtle.select(1)
  122.     print("Tankoltam.")
  123.     turtle.refuel(1)
  124.     sleep(1)
  125.     end
  126.    clear()
  127.    printF()
  128.    print("Epites elkezdodott, kerlek vard meg mig kesz lesz.")
  129.    for i = 1, 4, 2 do
  130.        
  131.      for i = 1, 5 do
  132.        lepesE()
  133.      end
  134.        turnL()
  135.  
  136.      for i = 1, 5 do
  137.        lepesE()
  138.      end
  139.      turnR()
  140.    end
  141.    itemInstall()
  142. end
  143.  
  144.  
  145.  
  146. function itemGo()
  147.  turtle.turnLeft()
  148.  turtle.forward()
  149.  turtle.turnRight()
  150. end
  151.  
  152.  
  153.  
  154. function itemInstall()
  155.   turtle.turnRight()
  156.   turtle.select(2)
  157.   for i = 1, 3 do
  158.     lepesE()
  159.   end
  160.   for i = 1, 2 do
  161.     turtle.place()
  162.     itemGo()
  163.   end
  164.   turtle.select(3)
  165.   turtle.place([[Kibanyaszott
  166. block-ok
  167. -------->]])
  168.   itemGo()
  169.   turtle.select(2)
  170.   turtle.place()
  171.   itemGo()
  172.   turtle.select(4)
  173.   turtle.place([[Uzemanyag nekem
  174. (szen)
  175. :)
  176. ------->]])
  177.   turtle.turnRight()
  178.   for i = 1, 4 do
  179.     turtle.forward()
  180.   end
  181.   turtle.turnLeft()
  182.   dropAll()
  183.   turtle.turnRight()
  184.   turtle.turnRight()
  185.   for i = 1, 3 do
  186.     turtle.forward()
  187.   end
  188.   turtle.turnRight()
  189.   clear()
  190.   banyaszas()
  191. end
  192.  
  193.  
  194.  
  195. function reFuel()
  196. fuel = turtle.getFuelLevel()
  197.   if fuel < 100 then    
  198.     turtle.select(1)
  199.     turtle.refuel(1)
  200.     print("Tankoltam.")
  201.   end
  202. end
  203.  
  204.  
  205.  
  206. function getFuel()
  207.   local fuelslot = turtle.getItemCount(1)
  208.   turtle.turnRight()
  209.   turtle.select(1)
  210.   turtle.turnLeft()
  211.   if fuelslot < 10 then
  212.     for i = 1, 3 do
  213.       turtle.forward()
  214.     end
  215.     turtle.turnRight()
  216.     while not turtle.suck() do
  217.       clear()
  218.       printF()
  219.       print("Nincs a ladaban szen. Kerlek toltsd fel")
  220.       print("Ha feltoltotted, kiveszem.")
  221.       sleep(3)
  222.     end
  223.     turtle.turnRight()
  224.     for i = 1, 3 do
  225.       turtle.forward()
  226.     end
  227.   end
  228. end
  229.  
  230.  
  231.  
  232. function dropAll()
  233.   local slot = 2
  234.  
  235.   while slot ~= 17 do
  236.     turtle.select(slot)
  237.     turtle.drop()
  238.     slot = slot+1
  239.   end
  240. end  
  241.  
  242.  
  243.  
  244. function targetC()
  245.   lepes = 0
  246.   turtle.turnRight()
  247.   while turtle.forward() do
  248.     lepes = lepes + 1
  249.     print("Lepesek a chest-ig: "..lepes)
  250.   end
  251.  
  252.   while not turtle.forward() do
  253.     dropAll()
  254.     turtle.turnLeft()
  255.     getFuel()
  256.     turtle.turnLeft()
  257.   end
  258.  
  259.   print("Ennyit megyek vissza: "..lepes)
  260.  
  261.   for i = 2, lepes do
  262.     turtle.forward()
  263.   end
  264.  
  265.   turtle.turnRight()  
  266. end
  267.  
  268.  
  269.  
  270. function digDown()
  271.  
  272.   while turtle.detectDown() do
  273.     turtle.digDown()
  274.   end
  275. end
  276.  
  277.  
  278.  
  279. function lepesE()
  280.  
  281.   while not turtle.forward() do
  282.     turtle.dig()
  283.      if turtle.getFuelLevel() == 0 then
  284.        turtle.select(1)
  285.        turtle.refuel(1)
  286.      end
  287.   end
  288.   sleep(0.4)
  289.  
  290.   while turtle.detectUp() do
  291.     turtle.digUp()
  292.     sleep(0.4)
  293.   end
  294. end
  295.  
  296.  
  297.  
  298. function turnL()
  299.   turtle.turnLeft()
  300.   lepesE()
  301.   turtle.turnLeft()
  302. end
  303.  
  304.  
  305.  
  306. function turnR()
  307.   turtle.turnRight()
  308.   lepesE()
  309.   turtle.turnRight()
  310. end
  311.  
  312.  
  313. function banyaszas()
  314.   while true do
  315.     local fuel = turtle.getFuelLevel()
  316.     printF()
  317.     print("Online")
  318.     print("Uzemanyag szint: "..fuel)
  319.     local hossz = 0
  320.     local szeles = 0
  321.     write("Szelesseg: ")                      
  322.     local szeles = read()
  323.     write("Hossz: ")
  324.     local hosszu = read()
  325.     local hosszu = hosszu-1
  326.     local szeles = szeles-1
  327.     for i = 1, szeles, 2 do
  328.        
  329.       for i = 1, hosszu do
  330.         digDown()
  331.         lepesE()
  332.         digDown()
  333.       end
  334.         turnL()
  335.  
  336.       for i = 1, hosszu do
  337.         digDown()
  338.         lepesE()
  339.         digDown()
  340.       end
  341.        
  342.       reFuel()
  343.       turnR()
  344.       targetC()
  345.     end
  346.     term.clear()
  347.     term.setCursorPos(1,1)
  348.   end
  349. end
  350.  
  351. --Main program--
  352.  
  353.  
  354. while true do
  355.   clear()
  356.   printF()
  357.   print("")
  358.   write("Program: ")
  359.   program = read()
  360.   if program == "install" then
  361.     clear()
  362.     printF()
  363.     print("Kerlek az egyes slotomba rakj kb 2db szenet. A kettes slotba 3db ladat (chest). A harmas es negyes slotba 1-1 tablat (sign) Ha keszen vagy nyomj egy entert, hogy kialakitsam a dokkolo helyemet.")
  364.     read()
  365.     clear()
  366.     telepitAera()
  367.   elseif program == "help" then
  368.     clear()
  369.     printF()
  370.     print("Kezdeshez hasznald az [install] parancsot")
  371.     print("Banyaszo program ujra inditashoz, hasznald a [banya] parancsot")
  372.     print("Tovabb lepeshez nyomj egy [entert]")
  373.     read()
  374.     clear()
  375.   elseif program == "banya" then
  376.     banyaszas()
  377.   else
  378.     clear()
  379.     printF()
  380.     print("Helytelen parancs, kerlek hasznald a [help] parancsot")
  381.     print("Tovabb lepeshez nyomj egy [entert]")
  382.     read()
  383.   end
  384. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement