Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function checksteps()
- h = fs.open("st","r")
- if h == nil then
- state =1
- else
- sleep(3)
- local stat = h.readLine()
- if stat == nil then
- state = 1
- else
- state = stat
- end
- sleep(3)
- h.close()
- write(state)
- end
- end
- function getitems()
- write("waiting")
- sleep(30)
- write("go")
- local going = true
- repeat
- if turtle.getItemCount(1) > 0 then
- for i = 1 , 12 do
- turtle.select(i)
- turtle.dropUp()
- end
- else
- sleep(10)
- if turtle.getItemCount(1) == 0 then
- going = false
- end
- end
- sleep(20)
- until going ==false
- select(15) turtle.dropUp()
- select(16) turtle.dropUp()
- end
- function write()
- h = fs.open("st","w")
- sleep(3)
- h.write(state)
- sleep(3)
- h.close()
- end
- function steps()
- if state == 1 then select(16) place(2) set(2)
- elseif state == 2 then select(15) place(1) set(3)
- elseif state == 3 then getitems() set(4)
- elseif state == 4 then select(16) dig(2) set(5)
- elseif state == 5 then select(15) dig(1) set(6)
- elseif state == 6 then move() set(7)
- elseif state == 7 then move() set(8)
- elseif state == 8 then move() set(9)
- elseif state == 9 then move() set(10)
- elseif state == 10 then move() set(11)
- elseif state == 11 then move() set(12)
- elseif state == 12 then move() set(13)
- elseif state == 13 then move() set(14)
- elseif state == 14 then select(14) place(1) set(15)
- elseif state == 15 then select(14) place() set(16)
- elseif state == 16 then back() set(17)
- elseif state == 17 then back() set(18)
- elseif state == 18 then back() set(19)
- elseif state == 19 then back() set(20)
- elseif state == 20 then back() set(21)
- elseif state == 21 then back() set(22)
- elseif state == 22 then back() set(23)
- elseif state == 23 then back() set(24)
- elseif state == 24 then back() set(25)
- elseif state == 25 then select(14) dig(1) set(26)
- elseif state == 26 then move() set(27)
- elseif state == 27 then move() set(28)
- elseif state == 28 then move() set(29)
- elseif state == 29 then move() set(30)
- elseif state == 30 then move() set(31)
- elseif state == 31 then move() set(32)
- elseif state == 32 then move() set(33)
- elseif state == 33 then move() set(34)
- elseif state == 34 then move() set(35)
- elseif state == 35 then right() set(36)
- elseif state == 36 then move() set(37)
- elseif state == 37 then left() set(38)
- elseif state == 38 then move() set(39)
- elseif state == 39 then left() set(90)
- elseif state == 90 then up() set(40)
- elseif state == 40 then move() set(41)
- elseif state == 41 then left() set(42)
- elseif state == 42 then rednet.broadcast("dig") local id,msg,dis =rednet.receive() set(43)
- elseif state == 43 then rednet.broadcast("move") local id,msg,dis =rednet.receive() set(44)
- elseif state == 44 then rednet.broadcast("move") local id,msg,dis =rednet.receive() set(45)
- elseif state == 45 then rednet.broadcast("move") local id,msg,dis =rednet.receive() set(46)
- elseif state == 46 then rednet.broadcast("move") local id,msg,dis =rednet.receive() set(47)
- elseif state == 47 then rednet.broadcast("move") local id,msg,dis =rednet.receive() set(48)
- elseif state == 48 then rednet.broadcast("move") local id,msg,dis =rednet.receive() set(49)
- elseif state == 49 then rednet.broadcast("move") local id,msg,dis =rednet.receive() set(50)
- elseif state == 50 then rednet.broadcast("move") local id,msg,dis =rednet.receive() set(51)
- elseif state == 51 then rednet.broadcast("move") local id,msg,dis =rednet.receive() set(52)
- elseif state == 52 then rednet.broadcast("move") local id,msg,dis =rednet.receive() set(53)
- elseif state == 53 then rednet.broadcast("move") local id,msg,dis =rednet.receive() set(54)
- elseif state == 54 then rednet.broadcast("move") local id,msg,dis =rednet.receive() set(55)
- elseif state == 55 then rednet.broadcast("move") local id,msg,dis =rednet.receive() set(56)
- elseif state == 56 then rednet.broadcast("move") local id,msg,dis =rednet.receive() set(57)
- elseif state == 57 then rednet.broadcast("move") local id,msg,dis =rednet.receive() set(58)
- elseif state == 58 then rednet.broadcast("move") local id,msg,dis =rednet.receive() set(59)
- elseif state == 59 then select(14) dig() set(60)
- elseif state == 60 then left() set(61)
- elseif state == 61 then left() set(62)
- elseif state == 62 then move() set(63)
- elseif state == 63 then move() set(64)
- elseif state == 64 then move() set(65)
- elseif state == 65 then move() set(66)
- elseif state == 66 then move() set(67)
- elseif state == 67 then move() set(68)
- elseif state == 68 then down() set(69)
- elseif state == 69 then select(14) place(1) set(70)
- elseif state == 70 then left() set(71)
- elseif state == 71 then left() set(72)
- elseif state == 72 then move() set(73)
- elseif state == 73 then move() set(74)
- elseif state == 74 then move() set(75)
- elseif state == 75 then move() set(76)
- elseif state == 76 then move() set(77)
- elseif state == 77 then dig() set(78)
- elseif state == 78 then left() set(79)
- elseif state == 79 then left() set(80)
- elseif state == 80 then move() set(81)
- elseif state == 81 then move() set(82)
- elseif state == 82 then move() set(83)
- elseif state == 83 then move() set(84)
- elseif state == 84 then move() set(85)
- elseif state == 85 then move() set(86)
- elseif state == 86 then rednet.broadcast("place") set(1)
- end
- end
- function set(sta)
- state = sta
- end
- function down()
- if not turtle.down() then
- os.shutdown()
- end
- end
- function up()
- if not turtle.up() then
- os.shutdown()
- end
- end
- function move()
- if not turtle.forward() then
- os.shutdown()
- end
- end
- function right()
- if not turtle.turnRight() then
- os.shutdown()
- end
- end
- function left()
- if not turtle.turnLeft() then
- os.shutdown()
- end
- end
- function back()
- if not turtle.back() then
- os.shutdown()
- end
- end
- function place(dir)
- if dir == nil then
- turtle.place()
- end
- if dir == 1 then
- turtle.placeUp()
- end
- if dir== 2 then
- turtle.placeDown()
- end
- end
- function dig(dir)
- if dir == nil then
- turtle.dig()
- end
- if dir == 1 then
- turtle.digUp()
- end
- if dir ==2 then
- turtle.digDown()
- end
- end
- function select(i)
- turtle.select(i)
- end
- local state
- rednet.open("right")
- checksteps()
- while true do
- steps()
- write()
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement