Advertisement
Guest User

Untitled

a guest
Feb 10th, 2016
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.29 KB | None | 0 0
  1. -- This is a ComputerCraft script to easily run turtle API commands from the turtle's command line.
  2.  
  3. local tArgs = {...}
  4. if #tArgs < 1 then
  5. print('Usage: do <cmd> [<repeat>] [more]')
  6. print(' Commands are:')
  7. print(' f, b - forward, back')
  8. print(' l, r - left, right')
  9. print(' d, du, dd - dig (up, down)')
  10. print(' i, iu, id - inspect (up, down)')
  11. print(' sel <num> - select inv num')
  12. print(' s, su, sd - suck items (up, down)')
  13. print('Example: do f 2 r f 2')
  14. print('(Moves forward twice, turns right,')
  15. print('moves forward twice again.)')
  16. end
  17.  
  18.  
  19. local function outOfFuel()
  20. if turtle.getFuelLevel() == 'unlimited' or turtle.getFuelLevel() == 0 then
  21. print('Out of fuel!')
  22. return true
  23. else
  24. return false
  25. end
  26. end
  27.  
  28. for i = 1,#tArgs do
  29. cmd = tArgs[i] -- get the command
  30. if #tArgs < i + 1 then
  31. reps = 1 -- end of cmdline args, so set this to 1
  32. else
  33. if type(tArgs[i+1]) == 'number' then
  34. reps = tonumber(tArgs[i+1]) -- set
  35. else
  36. -- "reps" is actually the next command, so set it to 1
  37. reps = 1
  38. end
  39. end
  40. if tArgs[i] == 'f' then
  41. for j = 1,reps do
  42. print('f ' .. tostring(turtle.forward()))
  43. if outOfFuel() then return end
  44. end
  45. end
  46. if tArgs[i] == 'b' then
  47. for j = 1,reps do
  48. print('b ' .. tostring(turtle.back()))
  49. if outOfFuel() then return end
  50. end
  51. end
  52. if tArgs[i] == 'l' then
  53. for j = 1,reps do
  54. print('l ' .. tostring(turtle.turnLeft()))
  55. if outOfFuel() then return end
  56. end
  57. end
  58. if tArgs[i] == 'r' then
  59. for j = 1,reps do
  60. print('r ' .. tostring(turtle.turnRight()))
  61. if outOfFuel() then return end
  62. end
  63. end
  64. if tArgs[i] == 'd' then
  65. for j = 1,reps do
  66. print('d ' .. tostring(turtle.dig()))
  67. if outOfFuel() then return end
  68. end
  69. end
  70. if tArgs[i] == 'du' then
  71. for j = 1,reps do
  72. print('du ' .. tostring(turtle.digUp()))
  73. if outOfFuel() then return end
  74. end
  75. end
  76. if tArgs[i] == 'dd' then
  77. for j = 1,reps do
  78. print('dd ' .. tostring(turtle.digDown()))
  79. if outOfFuel() then return end
  80. end
  81. end
  82. if tArgs[i] == 'i' then
  83. for j = 1,reps do
  84. print('i ' .. tostring(turtle.inspect()))
  85. if outOfFuel() then return end
  86. end
  87. end
  88. if tArgs[i] == 'iu' then
  89. for j = 1,reps do
  90. print('iu ' .. tostring(turtle.inspectUp()))
  91. if outOfFuel() then return end
  92. end
  93. end
  94. if tArgs[i] == 'id' then
  95. for j = 1,reps do
  96. print('id ' .. tostring(turtle.inspectDown()))
  97. if outOfFuel() then return end
  98. end
  99. end
  100. if tArgs[i] == 'sel' then
  101. -- in this case, reps is the inventory number
  102. print('sel ' .. reps .. ' ' .. tostring(turtle.sel(reps)))
  103. if outOfFuel() then return end
  104. end
  105. if tArgs[i] == 's' then
  106. for j = 1,reps do
  107. print('s ' .. tostring(turtle.suck()))
  108. if outOfFuel() then return end
  109. end
  110. end
  111. if tArgs[i] == 'su' then
  112. for j = 1,reps do
  113. print('su ' .. tostring(turtle.suckUp()))
  114. if outOfFuel() then return end
  115. end
  116. end
  117. if tArgs[i] == 'sd' then
  118. for j = 1,reps do
  119. print('sd ' .. tostring(turtle.suckDown()))
  120. if outOfFuel() then return end
  121. end
  122. end
  123. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement