rednet.open("left")
local computerID = 0
if (fs.exists("Config.txt")) then
local file = fs.open("Config.txt","r")
file.readLine()
computerID = file.readLine()
else
while not (tonumber(computerID ) and tonumber(computerID ) > 0) do
term.clear()
term.setCursorPos(1,1)
term.write("Computer ID: ")
computerID = read()
if not (tonumber(computerID )) then
print("Not a number!")
sleep(1)
end
end
local file = fs.open("Config.txt","a")
file.close()
file = fs.open("Config.txt","w")
file.writeLine("ComputerID: ")
file.write(computerID)
file.close()
end
function fetchItem(item,amount)
itemAmount = amount
if (item.location.X > 0) then
turtle.turnRight()
X = item.location.X
Xdir = 0
else
turtle.turnLeft()
X = -item.location.X
Xdir = 1
end
if (item.location.Y > 0) then
Y = item.location.Y
Ydir = 0
else
Y = -item.location.Y
Ydir = 1
end
for i = 1,X do
while not (turtle.forward()) do sleep(1) end
end
for i = 1,Y do
if (Ydir == 0) then
while not (turtle.up()) do sleep(1) end
else
while not (turtle.down()) do sleep(1) end
end
end
if (Xdir == 0) then
turtle.turnLeft()
else
turtle.turnRight()
end
while itemAmount > 0 do
if (itemAmount > 64) then
turtle.suck(64)
turtle.select(turtle.getSelectedSlot()+1)
itemAmount = itemAmount - 64
else
turtle.suck(itemAmount)
itemAmount = 0
end
end
if (Xdir == 0) then
turtle.turnLeft()
else
turtle.turnRight()
end
for i = 1,Y do
if (Ydir == 0) then
while not (turtle.down()) do end
else
while not (turtle.up()) do end
end
end
for i = 1,X do
while not (turtle.forward()) do end
end
if (Xdir == 0) then
turtle.turnLeft()
else
turtle.turnRight()
end
turtle.down()
turtle.select(16)
turtle.dig()
turtle.forward()
turtle.select(1)
for i = 1,15 do
turtle.select(i)
turtle.drop()
end
turtle.select(16)
turtle.back()
turtle.place()
turtle.select(1)
turtle.up()
for i = 1,2 do
turtle.turnLeft()
end
end
print("Turtle ID: "..os.getComputerID())
print("Computer ID: "..computerID)
while true do
id, msg = rednet.receive()
if (id == tonumber(computerID)) then
fetchItem(msg[1],msg[2])
end
end
Comments