Jump to content

Code Hilfe Turtle Programm


flowfy

Empfohlene Beiträge

Hallo,

Spiele zur Zeit FTB Infinity Evolved Skyblock und habe zur Automatisierung des Blood Altars im Internet dieses Script gefunden.

Allerdings scheint da was nicht zu stimmen da ich, wenn ich es starten möchte den Fehler: 

bios:14: [string "startup"]:20 "end" expected (to close "if" at line 4) angezeigt bekomme.

Ein hinzufügen eines weiteren "end"'s behebt den Fehler auch nicht. Irgendein Fehler muss in dem Script sein :/

Vielleicht könnt Ihr mir ja einen Tipp geben

Hier das Script:

 

altar = peripheral.warp("front")
while true do
os.sleep(0.5)
if(turtle.suckUp(1)) then
oldItem = turtle.getItemDeteil(1).name
print("Old item: ".. oldItem)
turtle.drop(1)
while true do
os.sleep(0.1)
currentItem = altar.getAllStacks()[1].a
print("Current item: " ..curentItem)
if(oldItem ~= currentItem) then
print("Finished!")
turtle.suck(1)
turtle.turnLeft()
turtle.drop()
turtle.turnRight()
break
end
end

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hatte es eben beim Testen auch gesehen 🤔

Die erste Zeile ist auch falsch - warp gibt es für periphial nicht - sollte wrap heißen:

local altar = peripheral.wrap("front")

 

Wegen dem Rest schau ich noch - was genau hast du für Schritte vorher gemacht?

 

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Was passiert, wenn du end je nach Meldung setzt:

altar = peripheral.wrap("front")

while true do
	os.sleep(0.5)
end

if(turtle.suckUp(1)) then
	oldItem = turtle.getItemDeteil(1).name
	print("Old item: ".. oldItem)
	turtle.drop(1)
end

while true do
    os.sleep(0.1)
	currentItem = altar.getAllStacks()[1].a
	print("Current item: " ..curentItem)
		if(oldItem ~= currentItem) then
		print("Finished!")
		turtle.suck(1)
		turtle.turnLeft()
		turtle.drop()
		turtle.turnRight()
		break
		end
end

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ist der Code inhaltlich richtig? Ich kenne in Verbindung zu Blood Altars nicht die Funktionen - nur von Computercraft halt.

Ua. würde ich meinen, dass das "a" am Ende von

currentItem = altar.getAllStacks()[1].a

nicht richtig ist oder sich auf etwas bezieht, was nicht im Code dabei ist 🤔

 

Btw: da ist noch ein Rechtschreibfehler:

oldItem = turtle.getItemDeteil(1).name

zu

oldItem = turtle.getItemDetail(1).name

 

Schau mal, ob mit der Korrektur etwas passiert.

 

Edit:

Schau mal hier im Forum - da sind Spieler, die in der Thematik tiefer drin sind ;)

http://www.computercraft.info/forums2/

bearbeitet von Bedrock
Link zu diesem Kommentar
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...
B
B