Mariomarco

TurtleRails

Dec 28th, 2012
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.97 KB | None | 0 0
  1. write("TurtleMarcoOS")
  2. while true do
  3. local function CheckItems(sInt, slot, tslot)
  4.  while turtle.getItemCount(slot) < sInt do
  5.   if turtle.getItemCount(slot) == 0 then
  6.     turtle.select(slot)
  7.     turtle.suck()
  8.   end
  9.   if turtle.getItemCount(slot) <= sInt then
  10.    turtle.select(tslot)
  11.    turtle.suck()
  12.    if turtle.getItemCount(slot) + turtle.getItemCount(tslot) >= sInt then
  13.       turtle.transferTo(slot, sInt - turtle.getItemCount(slot))
  14.       trutle.drop()
  15.    else
  16.       turtle.transferTo(slot, turtle.getItemCount(tslot))
  17.       turtle.select(tslot)
  18.       turtle.suck()
  19.    end
  20.   end
  21.  end
  22. end
  23.  
  24. local function refuel()
  25.    turtle.select(8)
  26.    if turtle.getFuelLevel() <= 1 then
  27.    turtle.refuel(2)
  28.    turtle.refuel(2)
  29.    turtle.refuel(2)
  30.    end
  31.    rednet.open("right")
  32.    rednet.broadcast("DiamondTurtleCoal")
  33.    rednet.broadcast(tostring(turtle.getItemCount(8)))
  34. end
  35.  
  36. local function checkFuelLevel()
  37.     rednet.open("right")
  38.     rednet.broadcast("DiamondTurtleFuel")
  39.     rednet.broadcast(tostring(turtle.getFuelLevel()))
  40. end
  41.  
  42. refuel()
  43. checkFuelLevel()
  44. if turtle.detect() == true then
  45.   turtle.select(3)
  46.   if turtle.compare() == true then
  47.     turtle.down()
  48.     turtle.forward()
  49.   end
  50.   turtle.select(6)
  51.   if turtle.compare() == true then
  52.     turtle.turnLeft()
  53.   end
  54. end
  55.  
  56. if turtle.detectUp() == true then
  57.   turtle.select(1)
  58.   if turtle.compareUp() == true then
  59.     turtle.forward()
  60.   end
  61.   turtle.select(4)
  62.   if turtle.compareUp() == true then
  63.     turtle.turnRight()
  64.     turtle.forward()
  65.   end
  66.   turtle.select(3)
  67.   if turtle.compareUp() == true then
  68.     turtle.forward()
  69.     while turtle.detectUp() == false do
  70.       turtle.up()
  71.     end
  72.   end
  73.   turtle.select(5)
  74.   if turtle.compareUp() == true then
  75.     turtle.select(15)
  76.     turtle.drop()
  77.     turtle.select(14)
  78.     turtle.drop()
  79.     turtle.select(13)
  80.     turtle.drop()
  81.     turtle.turnRight()
  82.     turtle.turnRight()
  83.     turtle.forward()
  84.   end
  85.   turtle.select(7)
  86.   if turtle.compareUp() == true then
  87.    local senderId, message, distance = rednet.receive()  
  88.      if message == "DTStart" then
  89.       turtle.forward()      
  90.      elseif message == "DTStop" then
  91.        return
  92.      end
  93.   end
  94.   turtle.select(2)
  95.   if turtle.compareUp() == true then
  96.     turtle.select(12)
  97.     turtle.suck()
  98.     turtle.select(9)
  99.     if turtle.compareDown() == true then
  100.       CheckItems(8, 12, 16)
  101.       turtle.select(12)
  102.       turtle.transferTo(13, 8)
  103.     end
  104.     turtle.select(10)
  105.     if turtle.compareDown() == true then
  106.       CheckItems(1, 12, 16)
  107.       turtle.select(12)
  108.       turtle.transferTo(14, 1)
  109.     end
  110.     turtle.select(11)
  111.     if turtle.compareDown() == true then
  112.       CheckItems(64, 12, 16)
  113.       turtle.select(12)
  114.       turtle.transferTo(15, 64)
  115.     end
  116.     turtle.select(12)
  117.     turtle.drop()
  118.     turtle.turnRight()
  119.     turtle.turnRight()
  120.     turtle.forward()
  121.   end
  122.   if turtle.detectUp() == false then
  123.     return
  124.   end
  125. end
  126. refuel()
  127. checkFuelLevel()
  128. sleep(0.001)
  129. end
Advertisement
Add Comment
Please, Sign In to add comment