Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local r = require("robot")
- local c = require("component")
- local ic = c.inventory_controller
- function init()
- -- сундук должен быть напротив робота
- -- в нем должны быть семя, совок, жёрдочки см. ниже
- -- по правой стороне - назад от робота 3 грядки
- -- слева от робота зарядное для робота
- -- напротив центральной грядки через клетку
- -- нужен сундук для семян и готовой продукции
- r.select(13)
- -- семя для скрещивания до 10/10/10
- r.suck(1)
- -- садовый совок AgriCraft
- r.suck(1)
- -- жёрдочки AgriCraft
- r.suck(64)
- -- жёрдочки AgriCraft
- r.suck(64)
- return nil
- end
- function r_work(scena)
- -- действие [F - вперед][RL - поворот]
- -- [P - установка жёрдочки][X - перекрестие]
- -- [G - забрать/поставить семя лопаткой]
- -- [E - посадить семя][U - ткнуть правой кнопкой]
- -- [K - ткнуть левой кнопкой очистить клетку]
- -- [Z - очистить первые 4 слота робота в инвентарь за ним]
- for i=1,scena.len(scena) do
- if (scena.sub(scena,i,i) == "F") then r.forward() end
- if (scena.sub(scena,i,i) == "R") then r.turnRight() end
- if (scena.sub(scena,i,i) == "L") then r.turnLeft() end
- if (scena.sub(scena,i,i) == "U") then r.use() end
- if (scena.sub(scena,i,i) == "K") then r.swing() end
- if (scena.sub(scena,i,i) == "E") then
- -- посадить семя либо 13 слота либо с лопаты
- r.select(13)
- if (r.count() > 0) then
- ic.equip()
- r.use()
- else
- r_work("G")
- end
- end
- if (scena.sub(scena,i,i) == "G") then
- r.select(14)
- ic.equip()
- r.use()
- ic.equip()
- end
- if (scena.sub(scena,i,i) == "P") then
- r.select(15)
- if (r.count()>0) then r.place() else
- r.select(16)
- if (r.count()>0) then r.place() end
- end
- end
- if (scena.sub(scena,i,i) == "Z") then
- r.turnAround()
- for j=1,4 do
- r.select(j)
- if (r.count()>0) then
- if (r.compareTo(16)) then
- r.transferTo(15)
- end
- end
- r.drop(64)
- end
- r.turnAround()
- end
- if (scena.sub(scena,i,i) == "X") then
- r.select(15)
- if (r.count() == 0) then
- r.select(16)
- end
- ic.equip()
- r.use()
- r.use()
- ic.equip()
- end
- end
- return nil
- end
- function wait_res()
- r.select(1)
- while true do
- r.use()
- if (r.count()>0) then break end
- end
- return nil
- end
- function wait_resX()
- r.select(14)
- ic.equip()
- while true do
- if r.use(0,true) then break end
- end
- ic.equip()
- return nil
- end
- -- в сундуке должны лежать 1 семя, 1 лопатка, 2 стака жёрдочек
- init()
- for zz=1,25 do
- print(zz)
- -- ставим 3 жёрдочки и 1 семя с лопаты
- r_work("RPRFLPRFLPELFFR")
- -- ждем первого урожая
- wait_res()
- print("выросло что то готовим скрещивание")
- -- готовим скрещивание
- r_work("RFLKZX")
- -- ждем урожая скрещивания
- wait_resX()
- print("выросло что то и насажено на совок")
- -- ломаем все и готовим грядку к следующему скрещиванию
- r.select(1)
- r_work("KLFRKRFFLKLFRZLF")
- end
- -- окончание снимаем последнее зерно с лопаты
- -- и складываем обратно все ингридиенты
- r_work("RPEKRZ")
- r.turnAround()
- for j=1,3 do
- r.select(13+j)
- r.drop(64)
- end
- print("закончил выращивать, готов к работе!")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement