Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local id = os.getComputerID()
- local refuel = 0 -- 1:charger 2:chest 3:manual
- local facing = 0 -- 1:behind 2:under 3:left 4:right
- local turtle = 0 -- 1:digger 2:treetap
- local facingDrop = 0 -- 1:behind 2:under 3:left 4:right
- local facingMeal = 0 -- 1:behind 2:under 3:left 4:right
- local facingSap = 0 -- 1:behind 2:under 3:left 4:right
- function refuel()
- local dropItemCount = 0
- for i = 3, 16 do
- dropItemCount = turtle.getItemCount()
- dropItemCount = dropItemCount + dropItemCount
- end
- turtle.select(1)
- sapItemCount = turtle.getItemCount()
- turtle.select(2)
- mealItemCount = turtle.getItemCount()
- if dropItemCount > 320 then
- if facingDrop == "1" then
- turtle.turnLeft()
- turtle.turnLeft()
- for i = 3, 16 do
- turtle.drop()
- end
- turtle.turnLeft()
- turtle.turnLeft()
- elseif facingDrop == "2" then
- for i = 3, 16 do
- turtle.drop()
- end
- elseif facingDrop == "3" then
- turtle.turnLeft()
- for i = 3, 16 do
- turtle.dropDown()
- end
- turtle.turnRight()
- elseif facingDrop == "4" then
- turtle.turnRight()
- for i = 3, 16 do
- turtle.drop()
- end
- turtle.turnLeft()
- end
- elseif sapItemCount == "0" then
- if facingSap == "1" then
- turtle.turnLeft()
- turtle.turnLeft()
- turtle.suck()
- turtle.turnLeft()
- turtle.turnLeft()
- elseif facingSap == "2" then
- turtle.suckDown()
- elseif facingSap == "3" then
- turtle.turnLeft()
- turtle.suck()
- turtle.turnRight()
- elseif facingSap == "4" then
- turtle.turnRight()
- turtle.suck()
- turtle.turnLeft()
- end
- elseif mealItemCount == "0" then
- if facingMeal == "1" then
- turtle.turnLeft()
- turtle.turnLeft()
- turtle.suck()
- turtle.turnLeft()
- turtle.turnLeft()
- elseif facingMeal == "2" then
- turtle.suckDown()
- elseif facingMeal == "3" then
- turtle.turnLeft()
- turtle.suck()
- turtle.turnRight()
- elseif facingMeal == "4" then
- turtle.turnRight()
- turtle.suck()
- turtle.turnLeft()
- end
- end
- if refuel == "1" then
- --print("Nothing done")
- elseif refuel == "2" then
- if facing == "1" then
- turtle.turnLeft()
- turtle.turnLeft()
- for i = 3, 16 do
- turtle.select(i)
- turtle.suck()
- turtle.refuel()
- end
- turtle.turnLeft()
- turtle.turnLeft()
- elseif facing == "2" then
- for i = 3, 16 do
- turtle.select(i)
- turtle.suckDown()
- turtle.refuel()
- end
- elseif facing == "3" then
- turtle.turnLeft()
- for i = 3, 16 do
- turtle.select(i)
- turtle.suck()
- turtle.refuel()
- end
- turtle.turnRight()
- elseif facing == "4" then
- turtle.turnRight()
- for i = 3, 16 do
- turtle.select(i)
- turtle.suck()
- turtle.refuel()
- end
- turtle.turnLeft()
- end
- elseif refuel == "3" then
- print("NOTE: NO LAVA, IF REQUESED THIS WILL BE IMPLEMENTED EVENTUALLY\n")
- print("Please put fuel in slots 3 to 16. Not all of them have to be full.")
- sleep(2)
- print("Press any key if the fuel is placed in the slots.")
- local event, p1 = os.pullEvent()
- if event == "key" and p1 ~= 27 then
- for i = 3, 16 do
- turtle.select(i)
- turtle.refuel()
- end
- turtle.select(1)
- end
- end
- function clear()
- term.clear()
- term.setCursorPos(1, 1)
- end
- function refuelCoalChest()
- clear()
- print("Every fuel is accepted except for lava buckets.")
- while true do
- print("Where is the chest\n ")
- print("Choices:\nBehind\nUnder\nLeft\nRight")
- refuelCoalChestRead = string.lower(read())
- if refuelCoalChestRead == "behind" then
- refuel = refuel + 2
- facing = facing + 1
- break
- elseif refuelCoalChestRead == "under" then
- refuel = refuel + 2
- facing = facing + 2
- break
- elseif refuelCoalChestRead == "left" then
- refuel = refuel + 2
- facing = facing + 3
- break
- elseif refuelCoalChestRead == "right" then
- refuel = refuel + 2
- facing = facing + 4
- break
- end
- end
- end
- function refuelCharg()
- while true do
- clear()
- print("Is the charging station next to me? ")
- refuelChargRead = string.lower(read())
- if refuelChargRead == "yes" or refuelChargRead == "y" then
- while true do
- clear()
- print("Is the output pointing to me? ")
- refuelChargReader = string.lower(read())
- if refuelChargReader == "yes" or refuelChargReader == "y" then
- refuel = refuel + 1
- break
- elseif refuelChargReader == "no" or refuelChargReader == "n" then
- print("Break me if needed, no fuel and no programs will be lost")
- print("You only have to run this program again when it's placed down")
- sleep(7)
- end
- end
- break
- elseif refuelChargRead == "no" or refuelChargRead == "n" then
- print("Please put a charging station next to me.")
- sleep(5)
- end
- end
- end
- function digger()
- while true do
- turtle.forward()
- turtle.forward()
- turtle.select(1)
- turtle.place()
- turtle.select(2)
- turtle.place()
- turtle.select(1)
- makeSpace()
- rednet.send(tonumber(sendid),"GO")
- refuel()
- p1, p2, p3 = rednet.receive()
- if p2 == "GO" then
- --cut the tree
- sleep(10)
- else
- print("If you see this, please contact the scripter(error:5:turtle1:digger:)")
- end
- end
- end
- function treetap()
- while true do
- turtle.forward()
- turtle.forward()
- turtle.select(1)
- turtle.place()
- turtle.select(2)
- turtle.place()
- turtle.select(1)
- p1, p2, p3 = rednet.receive()
- if p2 == "GO" then
- else
- print("If you see this, please contact the scripter(error:5:turtle1:treetap:")
- pickResin()
- rednet.send(tonumber(sendid), "GO")
- refuel()
- end
- end
- rednet.close("right")
- rednet.open("right")
- shell.run("label set turtle1")
- clear()
- while true do
- clear()
- print("Make sure your companion can cut tree's, or can dig blocks.")
- print("If not, than it needs a treetap\n")
- print("My turtle ID is "..id.."\n")
- print("Start up the other turtle to see it's ID.\nIf you already know the ID, still start up it's program.\n")
- write("What ID has my companion? ")
- sendid = read()
- if not tonumber(sendid) then
- print("This is not a valid ComputerCraft ID")
- else
- break
- end
- end
- print("Making connection..")
- while true do
- rednet.send(tonumber(sendid), "ready?")
- p1, p2, p3 = rednet.receive(10)
- if p2 == "yea" then
- break
- end
- end
- sleep(2)
- print("Connection succesfull!")
- sleep(3)
- print("Make sure you have different chest for the following items.")
- print("If this is not true then the program will still do it's thing, but it will not work properly.")
- sleep(3)
- while true do
- clear()
- print("Where is the chest for dropping items off?\n")
- print("Choices:\nBehind\nUnder\nLeft\nRight")
- chestDropOff = string.lower(read())
- if chestDropOff == "behind" then
- facingDrop = facingDrop + 1
- break
- elseif chestDropOff == "under" then
- facingDrop = facingDrop + 2
- break
- elseif chestDropOff == "left" then
- facingDrop = facingDrop + 3
- break
- elseif chestDropOff == "right" then
- facingDrop = facingDrop + 4
- break
- end
- end
- end
- while true do
- clear()
- print("Where is the chest for Bone Meal?\n")
- print("Choices:\nBehind\nUnder\nLeft\nRight")
- chestMeal = string.lower(read())
- if chestMeal == "behind" then
- facingMeal = facingMeal + 1
- break
- elseif chestMeal == "under" then
- facingMeal = facingMeal + 2
- break
- elseif chestMeal == "left" then
- facingMeal = facingMeal + 3
- break
- elseif chestMeal == "right" then
- facingMeal = facingMeal + 4
- break
- end
- end
- end
- while true do
- clear()
- print("Where is the chest for Rubber Tree Saplings?\n")
- print("Choices:\nBehind\nUnder\nLeft\nRight")
- chestSap = string.lower(read())
- if chestSap == "behind" then
- facingSap = facingSap + 1
- break
- elseif chestSap == "under" then
- facingSap = facingSap + 2
- break
- elseif chestSap == "left" then
- facingSap = facingSap + 3
- break
- elseif chestSap == "right" then
- facingSap = facingSap + 4
- break
- end
- end
- while true do
- clear()
- print("Refuel options:\n 1: Charging station\n 2: Chest with coal\n 3: You will manually refuel me")
- readrefuel = read()
- if not tonumber(readrefuel) then
- elseif readrefuel == "1" then
- refuelCharg()
- break
- elseif readrefuel == "2" then
- refuelCoalChest()
- break
- elseif readrefuel == "3" then
- refuel = refuel + 3
- print("You will refuel me")
- break
- end
- end
- while true do
- clear()
- write("Am I a digger or treetap? ")
- reader = string.lower(read())
- if reader == "digger" then
- turtle = turtle + 1
- break
- elseif reader == "treetap" then
- turtle = turtle + 2
- break
- end
- end
- print("Setup your other turtle")
- while true do
- rednet.send(tonumber(sendid), "ready")
- p1, p2, p3 = rednet.receive(10)
- if p2 == "yea" then
- rednet.send(tonumber(sendid), "setup")
- break
- end
- end
- p1, p2, p3 = rednet.receive()
- if p2 == "gosend" then
- print("Testing if the other turtle is send-ready..")
- rednet.send(tonumber(sendid), "properly")
- p1, p2, p3 = rednet.receive()
- if p2 == "succes" then
- print("Turtle is send-ready!")
- rednet.send(p1, "succes")
- else
- print("This is not the proper turtle")
- error()
- end
- else
- print("Something went wrong")
- end
- print("\nSending information..")
- p1, p2, p3 = rednet.receive()
- if p2 == "sendstuff" and turtle == 1 then
- rednet.send(p1, "treetap")
- print("Information has been sent!")
- digger()
- elseif p2 == "sendstuff" and turtle == 2 then
- rednet.send(p1, "digger")
- print("Information has been sent!")
- print("Doing treetap")
- else
- print("If you see this, please contact the creater of this script")
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement