View difference between Paste ID: bxvBQsUH and BhqeBxmD
SHOW: | | - or go back to the newest paste.
1
function checksteps()
2-
checksteps
2+
h = fs.open("st","r")
3
if h == nil then
4
state =1
5
else
6
sleep(3)
7
local stat = h.readLine()
8-
turtle.forward()
8+
if stat == nil then 
9
state = 1
10
else 
11
state = stat
12-
turtle.turnRight()
12+
13
sleep(3)
14
h.close()
15
write(state)
16-
turtle.turnLeft()
16+
17
end
18
19-
function place(local dir)
19+
function getitems()
20
write("waiting")
21
sleep(30)
22
write("go")
23-
if dir == 1then
23+
local going = true
24
repeat
25
if turtle.getItemCount(1) > 0 then
26
for i = 1 , 12 do
27
turtle.select(i)
28
turtle.dropUp()
29
end
30
else
31-
function dig(local dir)
31+
sleep(10)
32
if turtle.getItemCount(1) == 0 then
33
going = false
34
end
35
end
36
sleep(20)
37
until going ==false
38
select(15) turtle.dropUp()
39
select(16) turtle.dropUp()
40
end
41
42-
function select(local i)
42+
function write()
43
h = fs.open("st","w")
44
sleep(3)
45
h.write(state)
46
sleep(3)
47
h.close()
48
end
49
50
function steps()
51
if state == 1 then select(16) place(2) set(2)
52
elseif state == 2 then select(15) place(1) set(3)
53
elseif state == 3 then getitems() set(4)
54
elseif state == 4 then select(16) dig(2) set(5)
55
elseif state == 5 then select(15) dig(1) set(6)
56
elseif state == 6 then move() set(7)
57
elseif state == 7 then move() set(8)
58
elseif state == 8 then move() set(9)
59
elseif state == 9 then move() set(10)
60
elseif state == 10 then move() set(11)
61
elseif state == 11 then move() set(12)
62
elseif state == 12 then move() set(13)
63
elseif state == 13 then move() set(14)
64
elseif state == 14 then select(14) place(1) set(15)
65
elseif state == 15 then select(14) place() set(16)
66
elseif state == 16 then back() set(17)
67
elseif state == 17 then back() set(18)
68
elseif state == 18 then back() set(19)
69
elseif state == 19 then back() set(20)
70
elseif state == 20 then back() set(21)
71
elseif state == 21 then back() set(22)
72
elseif state == 22 then back() set(23)
73
elseif state == 23 then back() set(24)
74
elseif state == 24 then back() set(25)
75
elseif state == 25 then select(14) dig(1) set(26)
76
elseif state == 26 then move() set(27)
77
elseif state == 27 then move() set(28)
78
elseif state == 28 then move() set(29)
79
elseif state == 29 then move() set(30)
80
elseif state == 30 then move() set(31)
81
elseif state == 31 then move() set(32)
82
elseif state == 32 then move() set(33)
83
elseif state == 33 then move() set(34)
84
elseif state == 34 then move() set(35)
85
elseif state == 35 then right() set(36)
86
elseif state == 36 then move() set(37)
87
elseif state == 37 then left() set(38)
88
elseif state == 38 then move() set(39)
89
elseif state == 39 then left() set(90)
90
elseif state == 90 then up() set(40)
91
elseif state == 40 then move() set(41)
92
elseif state == 41 then left() set(42)
93
elseif state == 42 then rednet.broadcast("dig") local id,msg,dis =rednet.receive() set(43)
94
elseif state == 43 then rednet.broadcast("move") local id,msg,dis =rednet.receive() set(44)
95
elseif state == 44 then rednet.broadcast("move") local id,msg,dis =rednet.receive() set(45)
96
elseif state == 45 then rednet.broadcast("move") local id,msg,dis =rednet.receive() set(46)
97
elseif state == 46 then rednet.broadcast("move") local id,msg,dis =rednet.receive() set(47)
98
elseif state == 47 then rednet.broadcast("move") local id,msg,dis =rednet.receive() set(48)
99
elseif state == 48 then rednet.broadcast("move") local id,msg,dis =rednet.receive() set(49)
100
elseif state == 49 then rednet.broadcast("move") local id,msg,dis =rednet.receive() set(50)
101
elseif state == 50 then rednet.broadcast("move") local id,msg,dis =rednet.receive() set(51)
102
elseif state == 51 then rednet.broadcast("move") local id,msg,dis =rednet.receive() set(52)
103
elseif state == 52 then rednet.broadcast("move") local id,msg,dis =rednet.receive() set(53)
104
elseif state == 53 then rednet.broadcast("move") local id,msg,dis =rednet.receive() set(54)
105
elseif state == 54 then rednet.broadcast("move") local id,msg,dis =rednet.receive() set(55)
106
elseif state == 55 then rednet.broadcast("move") local id,msg,dis =rednet.receive() set(56)
107
elseif state == 56 then rednet.broadcast("move") local id,msg,dis =rednet.receive() set(57)
108
elseif state == 57 then rednet.broadcast("move") local id,msg,dis =rednet.receive() set(58)
109
elseif state == 58 then rednet.broadcast("move") local id,msg,dis =rednet.receive() set(59)
110
elseif state == 59 then select(14) dig() set(60)
111
elseif state == 60 then left() set(61)
112
elseif state == 61 then left() set(62)
113
elseif state == 62 then move() set(63)
114
elseif state == 63 then move() set(64)
115
elseif state == 64 then move() set(65)
116
elseif state == 65 then move() set(66)
117
elseif state == 66 then move() set(67)
118
elseif state == 67 then move() set(68)
119
elseif state == 68 then down() set(69)
120
elseif state == 69 then select(14) place(1) set(70)
121
elseif state == 70 then left() set(71)
122
elseif state == 71 then left() set(72)
123
elseif state == 72 then move() set(73)
124
elseif state == 73 then move() set(74)
125
elseif state == 74 then move() set(75)
126
elseif state == 75 then move() set(76)
127
elseif state == 76 then move() set(77)
128
elseif state == 77 then dig() set(78)
129
elseif state == 78 then left() set(79)
130
elseif state == 79 then left() set(80)
131
elseif state == 80 then move() set(81)
132
elseif state == 81 then move() set(82)
133
elseif state == 82 then move() set(83)
134
elseif state == 83 then move() set(84)
135
elseif state == 84 then move() set(85)
136
elseif state == 85 then move() set(86)
137
elseif state == 86 then rednet.broadcast("place") set(1)
138
end 
139
end
140
function set(sta)
141
state = sta
142
end
143
function down()
144
if not turtle.down() then
145
os.shutdown()
146
end
147
end
148
149
function up()
150
if not turtle.up() then
151
os.shutdown()
152
end
153
end
154
155
function move()
156
if not turtle.forward() then
157
os.shutdown()
158
end
159
end
160
161
function right()
162
if not turtle.turnRight() then
163
os.shutdown()
164
end
165
end
166
167
function left()
168
if not turtle.turnLeft() then
169
os.shutdown()
170
end
171
end
172
173
function back()
174
if not turtle.back() then
175
os.shutdown()
176
end
177
end
178
function place(dir)
179
if dir == nil then
180
turtle.place()
181
end
182
if dir == 1 then
183
turtle.placeUp()
184
end
185
if dir== 2 then
186
turtle.placeDown()
187
end 
188
end
189
function dig(dir)
190
if dir == nil then
191
turtle.dig()
192
end
193
if dir == 1 then
194
turtle.digUp()
195
end
196
if dir ==2 then 
197
turtle.digDown()
198
end
199
end
200
function select(i)
201
turtle.select(i)
202
end
203
204
205
local state 
206
rednet.open("right")
207
checksteps()
208
209
210
while true do 
211
steps()
212
write()
213
end