Скрытый текст
Описание:
Черепаха копает на 1x3 n блоков(мобов не трогает(ибо в идеале их быть не должно)), доходя до конца спускается вниз и копает в обратную сторону. Если инвентарь переполняется ставит , может ставить (каждые 8 блоков).
Есть проверка на наличие сундуков, факелов, топлива(да-бы пустая не уехала).
Скрытый текст
По сути программа работает хорошо и 3-5 черепах копают отличные туннели по которым можно пройтись с киркой и обглодать стенки, но хочу послушать критику более опытных программистов.
local tArgs={ [paste][/paste][paste][/paste][paste][/paste] }local torslot=16local chslot=15function mdig() while turtle[paste][/paste]detectUp() do turtle[paste][/paste]digUp() end if turtle[paste][/paste]detectDown() then turtle[paste][/paste]digDown() end while turtle[paste][/paste]detect() do turtle[paste][/paste]dig() endendfunction mchest (mslot) local mdrop=false for j=1,14 do if turtle[paste][/paste]getItemCount(j)==0 then mdrop=false break else mdrop=true end end if mdrop==true then turtle[paste][/paste]select(mslot) if turtle[paste][/paste]placeDown() then for j=1,14 do turtle[paste][/paste]select(j) turtle[paste][/paste]dropDown() end mdrop=false end endendfunction mtorch(mslot) if i%8==0 and not turtle[paste][/paste]detectDown() then turtle[paste][/paste]select(mslot) turtle[paste][/paste]placeDown() endendfunction mtestfuel(dist) if not (turtle[paste][/paste]getFuelLevel()<(dist*2)) then print("Fuel ok") return true else print("Low Fuel to do it") return false endendfunction mtesttor() if tArgs[2]=="tor" then if turtle[paste][/paste]getItemCount(torslot)==0 then print("Torches fail") return false else print("Torches ok") return true end else return true endendfunction mtestch() if turtle[paste][/paste]getItemCount(chslot)==0 then print("Chests fail") return false else print("Chests ok") return true endendfunction mgo(dist) i=0 while i<dist do mdig() mchest(chslot) if tArgs[2]=='tor' then mtorch(torslot) end if turtle[paste][/paste]forward() then i=i+1 end endendfunction mback() turtle[paste][/paste]turnLeft() turtle[paste][/paste]turnLeft() for i=1,3 do if turtle[paste][/paste]detectDown() then turtle[paste][/paste]digDown() end turtle[paste][/paste]down() endendif mtestfuel(tonumber(tArgs[1])) and (mtestch() and mtesttor()) then mgo(tonumber(tArgs[1])) mback() mgo(tonumber(tArgs[1]))end