Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function save(data,source)
- local file = fs.open(source,"w")
- file.write(textutils.serialize(data))
- file.close()
- end
- function load(source)
- local file = fs.open(source,"r")
- local data = file.readAll()
- file.close()
- return textutils.unserialize(data)
- end
- function rotate(dir)
- facing = load("facing")
- while facing ~= dir do
- turtle.turnRight()
- if facing == 3 then
- facing = 0
- else
- facing = facing+1
- end
- end
- save(dir,"facing")
- end
- fuel = vector.new(-775,72,467)
- n=0
- while true do
- count = load("count")
- n = n+1
- if count==0 then
- n=0
- elseif not fs.exists("buffer"..tostring(n)) then
- if n>count then
- n=0
- end
- else
- target = load("buffer"..tostring(n))
- fs.delete("buffer"..tostring(n))
- if count==n then
- save(0,"count")
- n=0
- end
- pos = vector.new(gps.locate())
- turtle.up()
- if pos.x < target.x then
- rotate(3)
- elseif pos.x > target.x then
- rotate(1)
- end
- i=0
- while i ~= math.abs(pos.x - target.x) do
- turtle.forward()
- i = i+1
- end
- if pos.z < target.z then
- rotate(0)
- elseif pos.z > target.z then
- rotate(2)
- end
- i=0
- while i ~= math.abs(pos.z - target.z) do
- turtle.forward()
- i = i+1
- end
- turtle.down()
- turtle.select(1)
- turtle.digDown()
- for i=1,16 do
- turtle.select(i)
- turtle.placeDown()
- end
- if turtle.getFuelLevel()<100 then
- pos = vector.new(gps.locate())
- rotate(2)
- turtle.up()
- for i=1,math.abs(pos.x - fuel.x) do
- turtle.forward()
- end
- rotate(3)
- for i=1,math.abs(pos.z - fuel.z) do
- turtle.forward()
- end
- turtle.down()
- turtle.select(16)
- turtle.suckDown(32)
- turtle.refuel()
- rotate(0)
- turtle.forward()
- for i=1,16 do
- turtle.select(i)
- turtle.dropDown()
- end
- turtle.select(1)
- end
- end
- sleep(5)
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement