Advertisement
Visionnix

SMK V103

Aug 23rd, 2014
265
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 7.70 KB | None | 0 0
  1. --SMK V0103 (nicht fertig)
  2.  
  3. --Ziel: Haupttunnel Hoehe3 Breite4
  4.     --       x Nebentunnel Laenge22 Hoehe3 Breite2 Abstand2
  5.     --      Fackeln anbringen
  6.     --      Material in Enderchest sammeln
  7.     --      Bestimmtes Material liegen lassen
  8.     --      Wasser oder Lavaeinbruch möglichst beseitigen (Tunnel schliessen)
  9.  
  10.  
  11. --Funktionen
  12.  
  13.  
  14.  
  15.     -- tanken
  16. local function refuel()                    
  17.     local fuelLevel = turtle.getFuelLevel()                
  18.     if fuelLevel == "unlimited" or fuelLevel > 10 then                 
  19.         return             
  20.     end                
  21.                        
  22.     local function tryRefuel()                 
  23.         for n=1,16 do              
  24.             if turtle.getItemCount(n) > 0 then         
  25.                 turtle.select(n)       
  26.                 if turtle.refuel(1) then       
  27.                     turtle.select(1)   
  28.                     return true
  29.                 end    
  30.             end        
  31.         end            
  32.         turtle.select(1)               
  33.         return false               
  34.     end                
  35.                        
  36.     if not tryRefuel() then                
  37.         print( "Kein Treibstoff" )             
  38.         while not tryRefuel() do               
  39.             sleep(1)           
  40.         end            
  41.         print( "nun gehts weiter" )            
  42.     end                
  43. end    
  44.  
  45.  
  46.  
  47.     --Enderchest befuellen
  48. function fillEnderchest()
  49.  
  50.   while turtle.detectUp() do
  51.     turtle.digUp()
  52.     sleep(0.5)
  53.   end
  54.   turtle.select(16)
  55.   while turtle.placeUp() == false do
  56.     turtle.digUp()
  57.   end
  58.  
  59.   for i = 1,10  do
  60.     turtle.select(i)
  61.     turtle.dropUp()
  62.   end
  63.   turtle.select(16)
  64.   turtle.digUp()
  65. end
  66.  
  67.  
  68.  
  69.     --finales Enderchest bef.
  70. function finalEnderchest()
  71.   turtle.turnLeft()
  72.   turtle.turnLeft()
  73.   turtle.select(16)
  74.   turtle.place()
  75.  
  76.  
  77.   for i = 1,10  do
  78.     turtle.select(i)
  79.     turtle.drop()
  80.   end
  81.   turtle.select(16)
  82.   turtle.dig()
  83.   turtle.turnLeft()
  84.   turtle.turnLeft()
  85. end
  86.  
  87.     --vorwaerts
  88. local function forward()
  89.     while turtle.detect() do       
  90.         if turtle.dig() then   
  91.             sleep(0.5)
  92.         else   
  93.             return false
  94.         end
  95.     end    
  96.     refuel()
  97.     turtle.forward()
  98.     return true    
  99. end        
  100.        
  101.     --hoch
  102. local function moveup()
  103.     while turtle.detectUp() do     
  104.         if turtle.digUp() then 
  105.             sleep(0.5)
  106.         else   
  107.             return false
  108.         end
  109.     end
  110.     refuel()
  111.     turtle.up()
  112.     return true    
  113. end        
  114.  
  115.  
  116.  
  117.     --runter
  118. local function movedown()
  119.     while turtle.detectDown() do       
  120.         if turtle.digDown() then   
  121.             sleep(0.5)
  122.         else   
  123.             return false
  124.         end
  125.     end    
  126.     refuel()
  127.     turtle.down()
  128.     if turtle.getItemCount(10) > 0 then
  129.     fillEnderchest()
  130.     end
  131.     return true    
  132. end        
  133.  
  134.  
  135.  
  136.     --stopfen links
  137. local function placeleft()
  138. a=12
  139.     turtle.select(a)
  140.     turtle.turnLeft()
  141.     while not turtle.detect() do       
  142.        turtle.place()
  143.             if turtle.getItemCount(a) < 1 then
  144.               a=a-1
  145.             end
  146.     end
  147.     turtle.turnRight()
  148. end    
  149.  
  150.  
  151.     --stopfen rechts
  152. local function placeright()
  153. a=12
  154.     turtle.select(a)
  155.     turtle.turnRight()
  156.     while not turtle.detect() do       
  157.        turtle.place()  
  158.         if turtle.getItemCount(a) < 1 then
  159.               a=a-1
  160.             end
  161.     end
  162.     turtle.turnLeft()
  163. end    
  164.  
  165.  
  166.     --stopfen
  167. local function place()
  168. a=12
  169.     turtle.select(a)
  170.     while not turtle.detect() do       
  171.        turtle.place()  
  172.          if turtle.getItemCount(a) < 1 then
  173.               a=a-1
  174.             end
  175.     end
  176. end
  177.  
  178.     --stopfen unten
  179. local function placedown()
  180. a=12
  181.     turtle.select(a)
  182.     while not turtle.detectDown() do       
  183.     turtle.placeDown()
  184.       if turtle.getItemCount(a) < 1 then
  185.               a=a-1
  186.             end
  187.     end
  188. end    
  189.  
  190.  
  191.     --stopfen oben
  192. local function placeup()
  193. a=12
  194.     turtle.select(a)
  195.     while not turtle.detectUp() do     
  196.        turtle.placeUp()
  197.      if turtle.getItemCount(a) < 1 then
  198.               a=a-1
  199.             end
  200.     end
  201. end    
  202.  
  203.     --Fackel setzen
  204. local function torch()
  205. turtle.turnLeft()
  206. turtle.turnLeft()
  207.     turtle.select(15)  
  208.     if turtle.getItemCount(15) < 1 then
  209.         turtle.select(14)
  210.         end
  211.     turtle.place()
  212. turtle.turnRight()
  213. turtle.turnRight()
  214. end    
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.            
  224. --Hauptprogramm
  225. print("Slot 11+12 Plastersteine")
  226. print("Slot 13 Kohle")
  227. print("Slot 14+15 Fackeln")
  228. print("Slot 16 Enderchest")
  229. print("Hit any key to start")
  230. os.pullEvent("char")   
  231.  
  232. --Abfrage
  233. while turtle.getItemCount(16) < 1 do                   
  234.   print "Bitte gebe die Enderchest in slot 16. Hit any key when done."                 
  235.   os.pullEvent("char")                 
  236. end                
  237. while turtle.getItemCount(15) < 1 do                   
  238.   print "Bitte gebe die Fackeln in slot 15. Hit any key when done."                
  239.   os.pullEvent("char")                 
  240. end    
  241. while turtle.getItemCount(14) < 1 do                   
  242.   print "Bitte gebe weitere Fackeln in slot 14. Hit any key when done."                
  243.   os.pullEvent("char")                 
  244. end    
  245. while turtle.getItemCount(13) < 1 do                   
  246.   print "Bitte gebe Kohle in slot 13. Hit any key when done."                  
  247.   os.pullEvent("char")                 
  248. end    
  249.  
  250. while turtle.getItemCount(12) < 1 do                   
  251.   print "Bitte gebe Plastersteine in slot 12. Hit any key when done."                  
  252.   os.pullEvent("char")                 
  253. end        
  254. while turtle.getItemCount(11) < 1 do                   
  255.   print "Bitte gebe weitere Plastersteine in slot 11. Hit any key when done."                  
  256.   os.pullEvent("char")                 
  257. end    
  258.  
  259.  
  260. for t=1,3 do
  261. refuel()
  262. forward()
  263. placeleft()
  264. placedown()
  265. moveup()
  266. placeleft()
  267. moveup()
  268. placeleft()
  269. placeup()
  270. turtle.turnRight()
  271. forward()
  272. placeup()
  273. movedown()
  274. movedown()
  275. placedown()
  276. forward()
  277. placedown()
  278. moveup()
  279. moveup()
  280. placeup()
  281. forward()
  282. placeup()
  283. place()
  284. movedown()
  285. place()
  286. movedown()
  287. place()
  288. placedown()
  289. place()
  290. turtle.turnLeft()
  291. forward()
  292. placedown()
  293. placeright()
  294. moveup()
  295. placeright()
  296. moveup()
  297. placeup()
  298. placeright()
  299. turtle.turnLeft()
  300. forward()
  301. placeup()
  302. movedown()
  303. movedown()
  304. placedown()
  305. forward()
  306. placedown()
  307. moveup()
  308. moveup()
  309. placeup()
  310. forward()
  311. placeup()
  312. place()
  313. movedown()
  314. place()
  315. movedown()
  316. placedown()
  317. place()
  318. turtle.turnRight()
  319. forward()
  320. placeleft()
  321. placedown()
  322. moveup()
  323. placeleft()
  324. torch()
  325. moveup()
  326. placeleft()
  327. placeup()
  328. turtle.turnRight()
  329. forward()
  330. placeup()
  331. movedown()
  332. movedown()
  333. placedown()
  334. forward()
  335. placedown()
  336. moveup()
  337. moveup()
  338. placeup()
  339. forward()
  340. placeup()
  341. place()
  342. movedown()
  343. place()
  344. movedown()
  345. place()
  346. placedown()
  347. forward()
  348. for I=1,5 do      -- Schleife
  349. placedown()
  350. placeright()
  351. moveup()
  352. placeright()
  353. moveup()
  354. placeup()
  355. placeright()
  356. forward()
  357. placeup()
  358. placeright()
  359. movedown()
  360. placeright()
  361. movedown()
  362. placeright()
  363. placedown()
  364. forward()
  365. placedown()
  366. placeright()
  367. moveup()
  368. placeright()
  369. moveup()
  370. placeup()
  371. placeright()
  372. forward()
  373. placeup()
  374. placeright()
  375. movedown()
  376. placeright()
  377. torch()
  378. movedown()
  379. placeright()
  380. placedown()
  381. forward()
  382. end             -- Schleifenende
  383. placedown()
  384. placeright()
  385. place()
  386. moveup()
  387. placeright()
  388. place()
  389. moveup()
  390. placeright()
  391. place()
  392. placeup()
  393. turtle.turnLeft()
  394. forward()
  395. placeright()
  396. place()
  397. placeup()
  398. movedown()
  399. placeright()
  400. place()
  401. movedown()
  402. placeright()
  403. place()
  404. placedown()
  405. turtle.turnLeft()
  406. forward()
  407. for I=1,22 do       -- Schleife
  408. placedown()
  409. placeright()
  410. moveup()
  411. placeright()
  412. moveup()
  413. placeup()
  414. placeright()
  415. forward()
  416. placeup()
  417. placeright()
  418. movedown()
  419. placeright()
  420. movedown()
  421. placeright()
  422. placedown()
  423. forward()
  424. end
  425. placedown()
  426. placeright()
  427. place()
  428. moveup()
  429. placeright()
  430. place()
  431. moveup()
  432. placeright()
  433. place()
  434. placeup()
  435. turtle.turnLeft()
  436. forward()
  437. placeright()
  438. place()
  439. placeup()
  440. movedown()
  441. placeright()
  442. place()
  443. movedown()
  444. placeright()
  445. place()
  446. placedown()
  447. turtle.turnLeft()
  448. forward()
  449. for I=1,5 do      -- Schleife
  450. placedown()
  451. placeright()
  452. moveup()
  453. placeright()
  454. moveup()
  455. placeup()
  456. placeright()
  457. forward()
  458. placeup()
  459. placeright()
  460. movedown()
  461. placeright()
  462. movedown()
  463. placeright()
  464. placedown()
  465. forward()
  466. placedown()
  467. placeright()
  468. moveup()
  469. placeright()
  470. moveup()
  471. placeup()
  472. placeright()
  473. forward()
  474. placeup()
  475. placeright()
  476. movedown()
  477. placeright()
  478. torch()
  479. movedown()
  480. placeright()
  481. placedown()
  482. forward()
  483. end
  484. turtle.turnLeft()
  485. forward()
  486. end
  487. finalEnderchest()
  488.  
  489.  
  490.  
  491. print("Ende")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement