Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Update 1.5 Advanced Turtle:
- -- -Text des Interfaces ergänzt
- -- -Die Turtle kann jetzt mit Enderchests arbeiten (Nur mit Enderstorage kompatibel)
- -- -Wenn keine Fackeln eingesetzt werden wird der Fackelslot nicht mehr mit Blöcken belegt die
- -- bei Programmende nicht entleert werden
- --Variablen
- zaehler=1
- gangZaehler=1
- --Methoden
- function move3vor() --Gräbt sich 3 mal nach vorne
- for e=1,3 do
- turtle.attack()
- turtle.dig()
- while turtle.detect()==true do
- turtle.attack()
- turtle.dig()
- turtle.attack()
- end
- turtle.forward()
- turtle.attack()
- turtle.digUp()
- end
- end
- function turnAround()
- turtle.turnLeft()
- turtle.turnLeft()
- end
- function schrittvor()
- turtle.attack()
- turtle.dig()
- while turtle.detect()==true do --Überprüft ob noch Sand, Kies oder Mob vor einem ist
- turtle.attack()
- turtle.dig()
- end
- turtle.attack()
- turtle.forward()
- turtle.attack()
- turtle.digUp()
- end
- function gang() --Gräbt einen Gang in eine Richtung
- for i=1,laenge do
- schrittvor()
- end
- turnAround()
- for z=1,laenge do
- schrittvor()
- zaehler=zaehler+1
- if zaehler==abstand+1 then
- fackel()
- zaehler=1
- end
- end
- zaehler=1
- end
- function fackel()
- if turtle.getItemCount(16)==0 then --Überprüft ob Fackel in Slot 16 ist
- else --Wenn Fackel da ist wird Fackel gesetzt
- turnAround()
- turtle.select(16)
- turtle.place()
- turnAround()
- end
- end
- function ablegen() --Legt komplettes Inventar außer den Fackelslot ab
- for d=1,14 do
- turtle.select(d)
- turtle.drop(64)
- end
- end
- --Programm
- shell.run("clear")
- while turtle.getFuelLevel()<500 do
- shell.run("clear")
- sleep(0.5)
- turtle.select(14)
- print("Zu wenig Treibstoff!!!\n")
- print("Fuellevel: ",turtle.getFuelLevel())
- print("Bitte fuehren Sie Treibstoff in das dick umrandete Feld ein.")
- turtle.refuel(64)
- sleep(1.5)
- end
- shell.run("clear")
- turtle.select(16)
- --Erklaerung
- print(" ------------------------------------- ")
- print("| Zum Benutzen des Strip Programms |")
- print("| wird eine Enderiste und Fackeln |")
- print("| benoetigt. |")
- print("| Vor Beginn legen Sie die Kiste |")
- print("| in Slot15 (Feld links von dem |")
- print("| bereits markierten Feld). |")
- print("| Wenn vorhanden legen Sie Fackeln |")
- print("| in das dick umrandete Feld. |")
- print(" ------------------------------------- ")
- print("Benzin: ",turtle.getFuelLevel())
- print("Druecke Enter um fortzufahren")
- read()
- shell.run("clear")
- turtle.select(1)
- --Abfragen
- print("Wie viele gaenge?") --Abfrage nach Ganganzahl
- gaenge=tonumber(read())
- local anzahl=gaenge
- shell.run("clear")
- print("Wie lang sollen die Gaenge sein?") --Abfrage nach Ganglänge
- laenge=tonumber(read())
- shell.run("clear")
- print("Abstand der Fackeln?") --Abfrage nach dem Abstand der Fackeln
- abstand=tonumber(read())
- shell.run("clear")
- --Hauptprogramm
- for gangNR=1,gaenge do
- shell.run("clear")
- print("Noch ",anzahl," Gaenge")
- move3vor()
- anzahl=anzahl-1
- turtle.turnLeft()
- gang() --Linker Gang
- gang() --Rechter Gang
- turtle.turnRight()
- gangZaehler=gangZaehler+1
- if turtle.getFuelLevel()<200 then
- turnAround()
- for c=gangNR,1,-1 do
- move3vor()
- end
- while turtle.getFuelLevel()<100 do
- shell.run("clear")
- sleep(0.5)
- turtle.select(14)
- print("Kein Treibstoffmehr!\n")
- print("Bitte fuehren SieTreibstoff links neben dem Fackelslot rein (Slot 14)")
- turtle.refuel(64)
- sleep(1.5)
- end
- turnAround()
- for c=1,gangNR do
- move3vor()
- end
- end
- if gangNR==gaenge then --Wenn Ende dann zurück zum Ausgang
- turnAround()
- for c=gangNR ,1,-1 do
- move3vor()
- end
- turtle.select(15)
- turtle.place()
- ablegen()
- turtle.select(15)
- turtle.dig()
- else
- if turtle.getItemCount(14)>1 then --Fährt zurück zur Kiste
- turnAround()
- turtle.select(15)
- turtle.place()
- ablegen()
- turtle.select(15)
- turtle.dig()
- turnAround()
- end
- end
- end
- turnAround()
- print("Programmende Strip")
- print("Erwarte neue Befehle")
- --Programmende
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement