View difference between Paste ID: xf7eNAH8 and EYTkfvnG
SHOW: | | - or go back to the newest paste.
1
local hw = fs.open("report", fs.exists("report") and "a" or "w")
2
local hr = fs.open("report", fs.exists("report") and "r")
3-
print("Skok dlina?")
3+
4
function welcome()
5
print("Version 1.1")
6
print("Skok dlina? (46)")
7
length = read()
8
num_lenght = tonumber(length)
9
print("OK. Dlina ustanovlena: ", length)
10
print("-----")
11
print("Skok shirina?")
12
width = read()
13
num_width = tonumber(width)
14
print("OK. Shirina ustanovlena: ", width)
15
print("Write the side of the modem (left, right, front, back, bottom, top)")
16
rednet_side = read()
17-
sleep(7)
17+
rednet.open(rednet_side)
18
 
19
 --Show total info about turtle settings
20
print("~~~~~")
21
print("Total info:")
22
print("Length: ", length)
23
print("Width: ", width)
24
print("Fuel lvl: ", turtle.getFuelLevel())
25
print("Rednet modem side: ", rednet_side)
26
local x, y, z = gps.locate(5)
27
 if not x then --If gps.locate didn't work, it won't return anything. So check to see if it did.
28
   print("Failed to get my location!")
29
 else
30
   print("I am at (" .. x .. ", " .. y .. ", " .. z .. ")") --This prints 'I am at (1, 2, 3)' or whatever your coordinates are
31
 end
32
print("~~~~~")
33
34
end
35
36-
end
36+
function recive_commands(status, time )
37
local senderId, message, protocol = rednet.receive(time)
38
local fuel = turtle.getFuelLevel()
39
local x, y, z = gps.locate(5)
40
print (x,y,z)
41
local report = {status, fuel}
42
if senderId then
43
print("Sender: ", senderId)
44
print(message)
45
else
46
print("Waiting for cactus...")
47
end
48
if senderId == 4 then
49
  if message == "status" then
50
    rednet.send(tonumber(senderId), report)
51
  end
52
  end
53
end
54
55
function collectStaff(num_width, num_lenght)
56
while num_lenght > 0 do
57
recive_commands("Collecting cactus...", 0.4)  
58
turtle.suck()
59
turtle.suckUp()
60
turtle.suckDown()
61
turtle.forward()
62
num_lenght = num_lenght - 1;
63
print("Ostalos xodov: ", num_lenght)
64
if num_lenght < 1 then
65
turtle.turnRight()
66
while num_width > 1 do
67
turtle.forward()
68
num_width = num_width - 1;
69
end
70
turtle.turnRight()
71
print("Povorachivayu obratno...")
72
print("Fuel lvl: ", turtle.getFuelLevel())
73
end
74
end
75
end
76
77
function make_circle()
78
collectStaff(tonumber(width), tonumber(length))
79
collectStaff(tonumber(width), tonumber(length))
80
end
81
82
function sleeping()
83
print("No cactus for now. Sleep for 20 sec...")
84
sleep(20)
85
--num_width = tonumber(width)
86
--num_lenght = tonumber(length)
87
end
88
89
--Here starts the initialization of the programm
90
91
--Show welcome message and settings
92
welcome()
93
94
--Infinite loop for cheking the redstone signal for the turtle
95
while true do
96
97
if redstone.getInput("back") then
98
make_circle()
99
else
100
recive_commands("Waiting for cactus...", 5)
101
end
102
103
end
104
105
--Here ends the initialization of the programm