Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- turtle.select(1)
- rednet.open("right")
- function dance()
- shell.run("dance")
- end
- function receive()
- scrap, message = rednet.receive()
- return message
- end
- function stopDancing()
- while true do
- messsage = receive()
- if message == "Dance" then break end
- end
- end
- function inspect()
- a, b = turtle.inspect()
- if a then rednet.send(0,"Currently facing:\n" .. b.name) end
- end
- while true do
- message = receive()
- if message == "Forward" then
- if turtle.getFuelLevel() == 0 then
- rednet.send(0,"Error: Out of fuel.")
- else
- turtle.dig()
- turtle.forward()
- end
- inspect()
- elseif message == "Backward" then
- if turtle.getFuelLevel() == 0 then
- rednet.send(0,"Error: Out of fuel.")
- else
- turtle.back()
- end
- elseif message == "Left" then
- turtle.turnLeft()
- inspect()
- elseif message == "Right" then
- turtle.turnRight()
- inspect()
- elseif message == "Up" then
- if turtle.getFuelLevel() == 0 then
- rednet.send(0,"Error: Out of fuel.")
- else
- turtle.digUp()
- turtle.up()
- end
- inspect()
- elseif message == "Down" then
- if turtle.getFuelLevel() == 0 then
- rednet.send(0,"Error: Out of fuel.")
- else
- turtle.digDown()
- turtle.down()
- end
- inspect()
- elseif message == "Place" then
- turtle.place()
- elseif string.sub(message, 1, 6) == "Select" then
- index = tonumber(string.sub(message, -1)) - 1
- count = turtle.getItemCount(index)
- turtle.select(index)
- if count == 0 then
- rednet.send(0,"Slot " .. index .. " is empty.")
- else
- fullName = turtle.getItemDetail(index).name
- colon = string.find(fullName, ":")
- colon = colon + 1
- name = string.sub(fullName, colon)
- rednet.send(0,"Slot " .. index .. " has " .. count .. " " .. name .. "(s/es).")
- end
- elseif message == "Dance" then
- parallel.waitForAny(dance, stopDancing)
- print("Okay, I'll stop dancing.")
- elseif message == "Refuel" then
- if turtle.getFuelLevel() == 100000 then
- rednet.send(0,"Error: Fuel at capacity. Command ignored.")
- else
- if turtle.getItemCount() == 0 then
- rednet.send(0,"Error: Slot empty.")
- else
- success, error = turtle.refuel()
- if success == false and error == "Items not combustible" then
- rednet.send(0,"Error: Item(s) not combustible.")
- else
- rednet.send(0,"Turtle successfully refueled.")
- end
- end
- rednet.send(0,"Current fuel level: " .. turtle.getFuelLevel())
- end
- elseif message == "Stop" then
- break
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement