Jump to content




Error bios:338: [string "TreeCutter"}]:10: 'do' expected

lua turtle turtle lua

14 replies to this topic

#1 JaydenLoon3y

  • Members
  • 19 posts

Posted 19 December 2012 - 01:34 PM

So I'm making a program to cut down a tree and i am having this error.

Error bios:338: [string "TreeCutter"}]:10: 'do' expected

Although the error says 'do' i already have do there

Any help would be much appreciated!

Here's My Code:

H = 7

local function checkFuel()
  if turtle.getFuelLevel() < 20 then
	turtle.select(1)
	turtle.refuel(1)
  end
end

while H = 7 do
  checkFuel()
  turtle.dig()
  turtle.forward()
  H = H-1
end

while H < 7 do
  checkFuel()
  turtle.digUp()
  H = H-1
end

while H = 0 do
  checkFuel()
  turtle.down()
  turtle.down()
  turtle.down()
  turtle.down()
  turtle.down()
  turtle.down()
  checkFuel()
  turtle.turnRight()
  turtle.turnRight()
  turtle.forward()
  turtle.select(4)
  turtle.drop()
  checkFuel()
  turtle.turnRight()
  turtle.turnRight()
  turtle.select(2)
  turtle.place()
  turtle.select(3)
  turtle.place()
  H = H+7
end


#2 remiX

  • Members
  • 2,076 posts
  • LocationSouth Africa

Posted 19 December 2012 - 01:43 PM

while H = 0 do

change to
while H == 0 do and with the other while

Using a single = is for setting variables, to compare two variables, you use double ==

#3 JaydenLoon3y

  • Members
  • 19 posts

Posted 19 December 2012 - 02:08 PM

Thanks so much that has fixed that error.

I just have one more error.

The turtle just keeps going up and doesn't stop.

Any reason?

i know it has something to do with the counting of the H

#4 remiX

  • Members
  • 2,076 posts
  • LocationSouth Africa

Posted 19 December 2012 - 02:10 PM

How does it keep going up? There isn't a single turtle.up() in your code? Did you add anything other than changing the ==

#5 Lyqyd

    Lua Liquidator

  • Moderators
  • 8,465 posts

Posted 19 December 2012 - 02:10 PM

What? There is literally no turtle.up() anywhere in the code you posted. How do you expect us to troubleshoot code that we don't have? Post the updated code.

#6 JaydenLoon3y

  • Members
  • 19 posts

Posted 19 December 2012 - 02:14 PM

Hi, I'm having a problem with a lumberjack program I'm making.

The problem is that it keeps going upwards

Not sure exactly whats wrong but i know it has to be something to do with the counting of H

Please post a fix

All help would be much appreciated

Here's my code!


H = 7

local function checkFuel()
  if turtle.getFuelLevel() < 20 then
    turtle.select(1)
    turtle.refuel(1)
  end
end

while H == 7 do
  checkFuel()
  turtle.dig()
  turtle.forward()
  H = H-1
end

while H < 7 do
  checkFuel()
  turtle.digUp()
  turtle.up()
  H = H - 1
end

while H == 0 do
  checkFuel()
  turtle.down()
  turtle.down()
  turtle.down()
  turtle.down()
  turtle.down()
  turtle.down()
  checkFuel()
  turtle.turnRight()
  turtle.turnRight()
  turtle.forward()
  turtle.select(4)
  turtle.drop()
  checkFuel()
  turtle.turnRight()
  turtle.turnRight()
  turtle.select(2)
  turtle.place()
  turtle.select(3)
  turtle.place()
  H = H + 7
end


#7 Lyqyd

    Lua Liquidator

  • Moderators
  • 8,465 posts

Posted 19 December 2012 - 02:18 PM

Please don't post another topic for a question about the same piece of code. The problem is that you enter the going-up loop with H at 6, then continue to go upward as long as H is less than 7, but you subtract one from H each time you loop. H will continue being smaller than 7 forever, so you'll keep looping forever.

#8 remiX

  • Members
  • 2,076 posts
  • LocationSouth Africa

Posted 19 December 2012 - 02:18 PM

while H == 7 do
  checkFuel()
  turtle.dig()
  turtle.forward()
  H = H-1
end

while H < 7 do
  checkFuel()
  turtle.digUp()
  turtle.up()
  H = H - 1
end
... Must we point it out?
First while triggers then reduces H by 1. Then the next while loop triggers and never stops because H is ALWAYS below 7. That's why it's ALWAYS going up

#9 JaydenLoon3y

  • Members
  • 19 posts

Posted 19 December 2012 - 02:25 PM

Oh yea...

could you post a fix please

Also doesn't saying

while H == 7 do
  checkFuel()
  turtle.down()
  turtle.down()
  turtle.down()
  turtle.down()
  turtle.down()
  turtle.down()
  ...

Override it?

#10 Lyqyd

    Lua Liquidator

  • Moderators
  • 8,465 posts

Posted 19 December 2012 - 02:29 PM

We don't know what you want the program to do, precisely, so it would be hard to "post a fix" for the broken logic you've utilized. You'll have to figure out what you want the program to do first.

#11 JaydenLoon3y

  • Members
  • 19 posts

Posted 19 December 2012 - 02:33 PM

to go move up 6 spaces
with this action

  checkFuel()
  turtle.digUp()
  turtle.up()

then down with this

  checkFuel()
  turtle.down()
  turtle.down()
  turtle.down()
  turtle.down()
  turtle.down()
  turtle.down()
  checkFuel()
  turtle.turnRight()
  turtle.turnRight()
  turtle.forward()
  turtle.select(4)
  turtle.drop()
  checkFuel()
  turtle.turnRight()
  turtle.turnRight()
  turtle.select(2)
  turtle.place()
  turtle.select(3)
  turtle.place()

And then restart

#12 Lyqyd

    Lua Liquidator

  • Moderators
  • 8,465 posts

Posted 19 December 2012 - 02:40 PM

So do:

for i=1, 6 do
  checkFuel()
  turtle.digUp()
  turtle.up()
end


#13 ChunLing

  • Members
  • 2,027 posts

Posted 19 December 2012 - 04:18 PM

I love you guys...these kinds of topics are the best.

#14 Raron70

  • New Members
  • 12 posts

Posted 19 December 2012 - 08:07 PM

hello i am a noob at computercraft i made refuel program but it wont work
here the code

function fuel()
if turtle.getFuelLevel() <= 5 then
turtle.select(12) --this is the slot where i put my fuel
turtle.refuel(1)
turtle.select(1)
end
end

#15 remiX

  • Members
  • 2,076 posts
  • LocationSouth Africa

Posted 20 December 2012 - 12:54 AM

 ChunLing, on 19 December 2012 - 04:18 PM, said:

I love you guys...these kinds of topics are the best.

:lol: :lol:

 Raron70, on 19 December 2012 - 08:07 PM, said:

hello i am a noob at computercraft i made refuel program but it wont work
here the code

function fuel()
if turtle.getFuelLevel() <= 5 then
turtle.select(12) --this is the slot where i put my fuel
turtle.refuel(1)
turtle.select(1)
end
end

Please rather post your own thread, but did you actually even call the function? Add fuel() to the bottom of the code





1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users