Advertisement
Heracles421

RC_Turtle

Oct 21st, 2012
366
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.53 KB | None | 0 0
  1. function RCslave()
  2. while true do
  3. local scrap, message = rednet.receive()
  4. if scrap == cid then
  5.     if message == "TS Forward" then
  6.         print("Forward")
  7.         if turtle.detect() == true then
  8.             turtle.dig()
  9.         end
  10.         turtle.forward()
  11.     elseif message == "TS Backward" then
  12.         print("Backward")
  13.         turtle.back()
  14.     elseif message == "TS TurnLeft" then
  15.         print("Turn Left")
  16.         turtle.turnLeft()
  17.     elseif message == "TS TurnRight" then
  18.         print("Turn Right")
  19.         turtle.turnRight()
  20.     elseif message == "TS PlaceBlock" then
  21.         if turtle.detect() == true then
  22.             print("Block Present")
  23.         else
  24.             print("Place Block")
  25.         turtle.place()
  26.         end
  27.     elseif message == "TS Up" then
  28.         print("Up")
  29.         if turtle.detectUp() == true then
  30.             turtle.digUp()
  31.         end
  32.         turtle.up()
  33.     elseif message == "TS Down" then
  34.         print("Down")
  35.         if turtle.detectDown() == true then
  36.             turtle.digDown()
  37.         end
  38.         turtle.down()
  39.     elseif message == "TS PlaceBlockUp" then
  40.         if turtle.detect() == true then
  41.             print("Block Present")
  42.         else
  43.             print("Place Block Up")
  44.         end
  45.         turtle.placeUp()
  46.     elseif message == "TS PlaceBlockDown" then
  47.         if turtle.detect() == true then
  48.             print("Block Present")
  49.         else
  50.             print("Place Block Down")
  51.         end
  52.         turtle.placeDown()
  53.     elseif message == "TS NextSlot" then
  54.         local scrap, message = rednet.receive()
  55.         s = tonumber(message)
  56.         print("Now using slot " ..s)
  57.         turtle.select(s)
  58.     elseif message == "TS PreviousSlot" then
  59.         local scrap, message = rednet.receive()
  60.         s = tonumber(message)
  61.         print("Now using slot " ..s)
  62.         turtle.select(s)
  63.     elseif message == "TS Redstone" then
  64.         rs.setOutput("front", true)
  65.         rs.setOutput("top", true)
  66.         rs.setOutput("bottom", true)
  67.         rs.setOutput("right", true)
  68.         rs.setOutput("left", true)
  69.         rs.setOutput("back", true)
  70.         sleep(.1)
  71.         rs.setOutput("front", false)
  72.         rs.setOutput("top", false)
  73.         rs.setOutput("bottom", false)
  74.         rs.setOutput("right", false)
  75.         rs.setOutput("left", false)
  76.         rs.setOutput("back", false)
  77.         print("Redstone")
  78.     elseif message == "TS Refuel" then
  79.         print("Refuelling")
  80.         rfs=1
  81.         turtle.select(rfs)
  82.         while true do
  83.             turtle.refuel()
  84.             if turtle.getItemCount(rfs)==0 then
  85.                 rfs=rfs+1
  86.                 turtle.select(rfs)
  87.                 if turtle.getItemCount(tonumber(rfs)) < 1 then
  88.                     rfs=s
  89.                     turtle.select(s)
  90.                     break
  91.                 end
  92.             end
  93.         end
  94.     elseif message == "TS Attack" then
  95.         print("Attack")
  96.         turtle.attack()
  97.         turtle.attackUp()
  98.         turtle.attackDown()
  99.     elseif message == "TS Mine" then
  100.         print("Mine")
  101.         turtle.dig()
  102.         turtle.digUp()
  103.         turtle.digDown()
  104.     elseif message == "TS Program" then
  105.         local scrap, message = rednet.receive()
  106.         program = message
  107.         print("Running "..program)
  108.         shell.run(program)
  109.     elseif message == "TS GetPos" then
  110.         local x, y, z = gps.locate(1)
  111.         sleep(.1)
  112.         if x ~= nil then
  113.             rednet.send(cid, "X: "..tostring(x)..", Y: "..tostring(y)..", Z:"..tostring(z))
  114.         else
  115.             rednet.send(cid, "Unable to reach cluster")
  116.         end
  117.     elseif message == "TS GetFuel" then
  118.         local fuel = turtle.getFuelLevel()
  119.         sleep(.1)
  120.         if fuel ~= nil then
  121.             rednet.send(cid, tostring(fuel))
  122.         else
  123.             rednet.send(cid, "Unable to get fuel level")
  124.         end
  125.     end
  126.     end
  127.     end
  128. end
  129.  
  130. function startup()
  131. s=1
  132. turtle.select(s)
  133. term.clear()
  134. term.setCursorPos(1,1)
  135. rednet.open("right")
  136. textutils.slowPrint("TurtleReceive V "..version.." Initiated.")
  137. sleep(2)
  138. print("What is my controler's ID?")
  139. cid = tonumber(read())
  140. term.clear()
  141. term.setCursorPos(1,1)
  142. print("TurtleReceive V "..version.." Initiated.")
  143. print("My ID is: "..os.getComputerID())
  144. RCslave()
  145. end
  146.  
  147. version=1.0
  148. startup()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement