Advertisement
koki2000

Mining turtle (3 direction) + fuel algoritm

Sep 4th, 2016
154
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 8.81 KB | None | 0 0
  1. local lefele = 0
  2. local jobbra = 0
  3. local elore = 0
  4. local y = 0
  5. local x = 0
  6. local z = 0
  7. local fakja = 0
  8.  
  9. local c = turtle.compare()
  10. local cu = turtle.compareUp()
  11. local cd = turtle.compareDown()
  12.  
  13.  
  14. function refuel()
  15.  local fuel = turtle.getFuelLevel()
  16.  local uthossz = jobbra + lefele + elore * 2
  17.  if fuel - 10 < uthossz then
  18.   print("keves az uzemanyag az utra")
  19.   print("uzemanyag: ", fuel)
  20.   sleep(1)
  21.  end
  22.  while fuel < 1 do
  23.   print("keves az uzemanyag: ", fuel)
  24.   for i = 1, 16 do
  25.    turtle.select(i)
  26.    if turtle.refuel(1) then
  27.     print("tankoltam ennyituzemanyagot: ", turtle.getFuelLevel()) sleep(1)
  28.     return
  29.    else
  30.     if i == 16 then
  31.      print("nem volt mit tankolni") sleep(1)
  32.     end
  33.    end
  34.   end
  35.  end
  36. end
  37.  
  38. refuel()
  39.  
  40. function install()
  41. if not fs.exists("/z") then
  42.     iteminstall()
  43.     print("/x2 file letrehozasa")
  44.     sleep(.2)
  45.     file = fs.open("/x2","w")
  46.     file.writeLine("0")
  47.     file.close()
  48.     print("kesz")
  49.     sleep(.6)
  50.  
  51.     print("/y2 file letrehozasa")
  52.     sleep(.2)
  53.     file = fs.open("/y2","w")
  54.     file.writeLine("0")
  55.     file.close()
  56.     print("kesz")
  57.     sleep(.6)
  58.  
  59.     print("/z2 file letrehozasa")
  60.     sleep(.2)
  61.     file = fs.open("/z2","w")
  62.     file.writeLine("0")
  63.     file.close()
  64.     print("kesz")
  65.     sleep(.6)    
  66.  
  67.     print("/x file letrehozasa")
  68.     sleep(.2)
  69.     file = fs.open("/x","w")
  70.     file.writeLine("0")
  71.     file.close()
  72.     print("kesz")
  73.     sleep(.6)
  74.  
  75.     print("/y file letrehozasa")
  76.     sleep(.2)
  77.     file = fs.open("/y","w")
  78.     file.writeLine("0")
  79.     file.close()
  80.     print("kesz")
  81.     sleep(.6)
  82.    
  83.     print("/z file letrehozasa")
  84.     sleep(.2)
  85.     file = fs.open("/z","w")
  86.     file.writeLine("0")
  87.     file.close()
  88.     print("kesz")
  89.     sleep(.6)
  90.     return miner()
  91.     else
  92.     miner()
  93.     end
  94. end
  95.  
  96. function iteminstall()
  97. local fakjadarab = turtle.getItemCount(1)
  98.     while fakjadarab < 16 do
  99.         cls()
  100.         fakjadarab = turtle.getItemCount(1)
  101.         fakjakell = 16 - fakjadarab
  102.         print("Elso sor, elso slotba, rakj 16db fakjat.")
  103.         print("Meg ennyi kell: ".. fakjakell)
  104.         print("Ha beraktad, folytatodik a program")
  105.         sleep(0.4)
  106.         cls()
  107.     end
  108. end
  109.  
  110. function load()
  111.     file = fs.open("z2", "r")
  112.     if file then
  113.         jobbra = file.readLine()
  114.         file.close()
  115.         print("z2: ", jobbra)
  116.         sleep(.2)
  117.     jobbra = jobbra + 0
  118.     end
  119.    
  120.     file = fs.open("x2", "r")
  121.     if file then
  122.         elore = file.readLine()
  123.         file.close()
  124.         print("x2: ", elore)
  125.         sleep(.2)
  126.     elore = elore + 0
  127.     end
  128.    
  129.     file = fs.open("y2", "r")
  130.     if file then
  131.         lefele = file.readLine()
  132.         file.close()
  133.         print("y2: ", lefele)
  134.         sleep(.2)
  135.         lefele = lefele + 0
  136.     end
  137.    
  138.     file = fs.open("x", "r")
  139.     if file then
  140.         x = file.readLine()
  141.         file.close()
  142.         print("x: ", x)
  143.         sleep(.2)
  144.         x = x + 0
  145.     end
  146.    
  147.     file = fs.open("y", "r")
  148.     if file then
  149.         y = file.readLine()
  150.         file.close()
  151.         print("y: ", y)
  152.         sleep(.2)
  153.         y = y + 0
  154.     end
  155.  
  156.     file = fs.open("z", "r")
  157.     if file then
  158.         z = file.readLine()
  159.         file.close()
  160.         print("z: ", z)
  161.         sleep(.2)
  162.         z = z + 0
  163.     end
  164. end
  165.  
  166. function cls()
  167. term.clear()
  168. term.setCursorPos(1,1)
  169. end
  170.  
  171. function dropall()              --Chestnel minden slotot kiurit kiveve az egyest.
  172.  for i = 4, 16 do
  173.   turtle.select(i)
  174.   turtle.drop()
  175.  end
  176. end
  177.  
  178. function kiut()
  179. refuel()
  180.  if turtle.compare(2) then
  181.   local slot = turtle.getSelectedSlot()
  182.   turtle.select(3)
  183.   while turtle.getItemCount(3) > 1 do
  184.    turtle.drop(1)
  185.   end
  186.   turtle.select(slot)
  187.  end
  188. turtle.select(2)
  189. turtle.dig()
  190. turtle.digUp()
  191. turtle.digDown()
  192. if fakja==16 then
  193. turtle.select(1)
  194. turtle.placeDown()
  195. turtle.select(2)
  196. fakja = 0
  197. end
  198. fakja = fakja + 1
  199. end
  200.  
  201. function zback()
  202.  refuel()
  203.     while not turtle.forward() do
  204.         if turtle.detect() == true then
  205.         cls()
  206.         print("blokkot talaltam")
  207.         turtle.dig()
  208.         else
  209.         refuel()
  210.         print("mob van elottem. Tamadok!")
  211.         turtle.attack()
  212.         end
  213.     end
  214. end
  215.  
  216. function digdown()
  217.  refuel()
  218.  while not turtle.down() do
  219.   if turtle.detectDown() then
  220.    if turtle.digDown() then
  221.     cls()
  222.     print("blokkot talaltam alattam")
  223.    else
  224.     cls()
  225.     print("bedrockba utkoztem")
  226.    end
  227.   else
  228.    refuel()
  229.    print("mob van alattam")
  230.   end
  231.  end
  232. end
  233.  
  234.  
  235. function digforward()
  236.  refuel()
  237.     while not turtle.forward() do
  238.         if turtle.detect() == true then
  239.         cls()
  240.         print("blokkot talaltam")
  241.         kiut()
  242.         else
  243.         refuel()
  244.         print("mob van elottem. Tamadok!")
  245.         turtle.attack()
  246.         end
  247.     end
  248. end
  249.  
  250. function back()
  251.  refuel()
  252.     while not turtle.forward() do
  253.         if turtle.detect() == true then
  254.         cls()
  255.         print("blokkot talaltam")
  256.         kiut()
  257.         else
  258.         refuel()
  259.         print("mob van elottem. Tamadok!")
  260.         turtle.attack()
  261.         end
  262.     end
  263. end
  264.  
  265. function digup()
  266.  refuel()
  267.     while not turtle.up() do
  268.         if turtle.detectUp() == true then
  269.         cls()
  270.         print("blokk van felettem")
  271.         turtle.digUp()
  272.         else
  273.         refuel()
  274.         print("mob van felettem")
  275.         end
  276.     end
  277. end
  278.  
  279. function miner()
  280. load()
  281. cls()
  282. if jobbra<1 and lefele<1 and elore<1 and x<1 and y<1 and z<1 then
  283. print("mennyit menjek jobbra")
  284. jobbra = tonumber(read())
  285. if jobbra == nil then
  286. cls()
  287. print("Jobbra csak szamot lehet megadni!")
  288. return miner()
  289. end
  290. if jobbra<2 then
  291. print("min 2")
  292. sleep(1)
  293. return miner()
  294. end
  295. if jobbra>50 then
  296. print("max 50")
  297. sleep(1)
  298. return miner()
  299. end
  300. file = fs.delete("z2")
  301. file = fs.open("/z2","w")
  302. file.writeLine(jobbra)
  303. file.close()
  304. jobbra = jobbra + 0
  305. end
  306. if jobbra>0 and lefele<1 and elore<1 then
  307. print("mennyit menjek le")
  308. lefele = tonumber(read())
  309. if lefele == nil then
  310. cls()
  311. print("lefele csak szamot lehet megadni!")
  312. return miner()
  313. end
  314. if lefele>60 then
  315. print("max 60")
  316. sleep(1)
  317. return miner()
  318. end
  319. file = fs.delete("y2")
  320. file = fs.open("/y2","w")
  321. file.writeLine(lefele)
  322. file.close()
  323. lefele = lefele + 0
  324. end
  325. if jobbra>0 and lefele>0 and elore<1 then
  326. cls()
  327. print("mennyit menjek elore")
  328. elore = tonumber(read())
  329. if elore == nil then
  330. cls()
  331. print("Elore csak szamot lehet megadni!")
  332. return miner()
  333. end
  334. if elore>50 then
  335. print("max 50")
  336. sleep(1)
  337. return miner()
  338. end
  339. file = fs.delete("x2")
  340. file = fs.open("/x2","w")
  341. file.writeLine(elore)
  342. file.close()
  343. elore = elore + 0
  344. end
  345.  
  346. if jobbra>0 and lefele >0 and elore >0 then
  347. turtle.select(1)
  348.     if z<1 and x<1 and y<1 then
  349.     local fakjadarab = turtle.getItemCount(1)
  350.         while fakjadarab < 16 do
  351.                 cls()
  352.                 fakjadarab = turtle.getItemCount(1)
  353.                 fakjakell = 16 - fakjadarab
  354.                 print("Elso sor, elso slotba, rakj 16db fakjat.")
  355.                 print("Meg ennyi kell: ".. fakjakell)
  356.                 print("Ha beraktad, folytatodik a program")
  357.                 sleep(0.4)
  358.                 cls()
  359.         end
  360.     end
  361. for i = 1, jobbra do
  362.     if z<1 then
  363.     turtle.turnRight()
  364.     end
  365. digforward()
  366. jobbra = jobbra - 1
  367. file = fs.delete("z2")
  368. file = fs.open("/z2","w")
  369. file.writeLine(jobbra)
  370. file.close()
  371. z = z + 1
  372. file = fs.delete("z")
  373. file = fs.open("/z","w")
  374. file.writeLine(z)
  375. file.close()
  376. print("z:", z)
  377. end
  378. end
  379.  
  380.  
  381. if jobbra<1 and lefele>0 then
  382. for i = 1, lefele do
  383.     if y<1 then
  384.     turtle.turnLeft()
  385.     end
  386. digdown()
  387. lefele = lefele - 1
  388. file = fs.delete("y2")
  389. file = fs.open("/y2","w")
  390. file.writeLine(lefele)
  391. file.close()
  392. y = y + 1
  393. file = fs.delete("y")
  394. file = fs.open("/y","w")
  395. file.writeLine(y)
  396. file.close()
  397. print("lefele: ", lefele)
  398. print("y:", y)
  399. end
  400. end
  401.  
  402.  
  403. if lefele<1 and elore>0 then
  404. for i = 1, elore do
  405. digforward()
  406. elore = elore - 1
  407. file = fs.delete("x2")
  408. file = fs.open("/x2","w")
  409. file.writeLine(elore)
  410. file.close()
  411. x = x + 1
  412. file = fs.delete("x")
  413. file = fs.open("/x","w")
  414. file.writeLine(x)
  415. file.close()
  416. print("elore", elore)
  417. print("x:", x)
  418. end
  419. turtle.turnLeft()
  420. turtle.turnLeft()
  421. end
  422.  
  423.  
  424. if elore<1 and x>0 then
  425. for i = 1, x do
  426. back()
  427. x = x - 1
  428. file = fs.delete("x")
  429. file = fs.open("/x","w")
  430. file.writeLine(x)
  431. file.close()
  432. print("x", x)
  433. end
  434. end
  435.  
  436.  
  437. if x<1 and y>0 then
  438. for i = 1, y do
  439. digup()
  440. y = y - 1
  441. file = fs.delete("y")
  442. file = fs.open("/y","w")
  443. file.writeLine(y)
  444. file.close()
  445. print("y:", y)
  446. end
  447. if y<1 and z>0 then
  448. turtle.turnRight()
  449. end
  450. end
  451.  
  452. if y<1 and z>0 then
  453. for i = 1, z do
  454. zback()
  455. z = z - 1
  456. file = fs.delete("z")
  457. file = fs.open("/z","w")
  458. file.writeLine(z)
  459. file.close()
  460. print("z:", z)
  461. if z<1 then
  462. dropall()
  463. turtle.turnRight()
  464. end
  465. end
  466. end
  467.  
  468.  
  469. end
  470.  
  471. while true do
  472. install()
  473. sleep(.1)
  474. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement