This is a read-only snapshot of the ComputerCraft forums, taken in April 2020.
MrDeano's profile picture

disappearing turtles

Started by MrDeano, 15 October 2012 - 05:13 PM
MrDeano #1
Posted 15 October 2012 - 07:13 PM
hey i found out that when my turtles are full with items and i (player) unloads the chunk it just disappears

heres my code:

Spoiler

xCoord = -164
zCoord = 195
yCoord = 72
xQuarry = 999
zQuarry = 999
yQuarry = 150
xProgress = 999
zProgress = 999
yProgress = 150
oProgress = 1
xHome = xCoord
zHome = zCoord
yHome = yCoord
yTravel = 85
orientation = 4
orientations = {"north", "east", "south", "west"}
zDiff = {-1, 0, 1, 0}
xDiff = {0, 1, 0, -1}
lineLength = 2
lines = 3
yMin = 999
function inventoryFull()

turtle.select(9)

full = turtle.getItemCount(9) > 0

turtle.select(1)

return full
end
function left()

orientation = orientation - 1

orientation = (orientation - 1) % 4

orientation = orientation + 1

turtle.turnLeft()
end
function right()

orientation = orientation - 1

orientation = (orientation + 1) % 4

orientation = orientation + 1

turtle.turnRight()
end
function moveForward()

xCoord = xCoord + xDiff[orientation]

zCoord = zCoord + zDiff[orientation]

turtle.dig()
moved = false

while not(moved) do
  
  moved = turtle.forward()

end
end
function moveUp()

yCoord = yCoord + 1


turtle.digUp()

moved = false

while not(moved) do
  
  moved = turtle.up()

end
end
function moveDown()

yCoord = yCoord - 1

turtle.digDown()
moved = false

while not(moved) do
  
  moved = turtle.down()

end
if yMin > yCoord then
  
  yMin = yCoord

end
end
function look(direction)

while direction ~= orientations[orientation] do
  
  right()

end
end
function goto(xTarget, zTarget, yTarget)

while yTarget < yCoord do
  
  moveDown()

end
while yTarget > yCoord do
  
  moveUp()

end
if xTarget < xCoord then
  
  look("west")
  
  while xTarget < xCoord do
	
   moveForward()
  
  end

end

if xTarget > xCoord then
  
  look("east")
  
  while xTarget > xCoord do
	
   moveForward()
  
  end

end
if zTarget < zCoord then
  
  look("north")
  
  while zTarget < zCoord do
	
   moveForward()
  
  end

end

if zTarget > zCoord then
  
  look("south")
  
  while zTarget > zCoord do
	
   moveForward()
  
  end

end
end
function returnItems()

xProgress = xCoord

zProgress = zCoord

yProgress = yCoord

oProgress = orientation
goto(xHome, zHome, yTravel)

goto(xHome, zHome, yHome)
for i = 1,9 do
  
  turtle.select(i)
  
  turtle.drop()

end

turtle.select(1)
goto(xProgress, zProgress, yTravel)

goto(xProgress, zProgress, yProgress)

look(orientations[oProgress])
end
function digLine()

for i = 1,lineLength do
  
  if inventoryFull() then
	
   returnItems()
  
  end
  
  moveForward()

end
end
function digLayer()

for i = 1,lines do
  
  digLine()
  
  if (i%2) == 1 and i < lines then
	
   left()
	
   moveForward()
	
   left()
  
  elseif i < lines then
	
   right()
	
   moveForward()
	
   right()
  
  end  

end

goto(xQuarry, zQuarry, yCoord)

look("north")

moveDown()
end
function digQuarry(xTarget, zTarget, yTarget)

xQuarry = xTarget

zQuarry = zTarget

yQuarry = yTarget


goto(xQuarry, zQuarry, yTravel)

goto(xQuarry, zQuarry, yQuarry)

look("north")
while yMin > 7 do
  
  digLayer()

end

goto(xQuarry, zQuarry, yQuarry)

yMin = 999
end
digQuarry(-170, 210, 70)
Doyle3694 #2
Posted 15 October 2012 - 07:20 PM
Why repost a thread because it's dead? This is even worse then a bump.
Cloudy #3
Posted 15 October 2012 - 08:00 PM
What version of ComputerCraft are you using?
MrDeano #4
Posted 15 October 2012 - 08:18 PM
v1.33
MrDeano #5
Posted 15 October 2012 - 10:19 PM
anyone
Doyle3694 #6
Posted 16 October 2012 - 08:34 AM
don't bump yoour threads.