Advertisement
ecco7777

Turtle filler controller + me stock

Nov 19th, 2016
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. file="bild"
  2. me=peripheral.wrap("front")
  3. r=peripheral.wrap("right")
  4. r.link()
  5. slot={}
  6. chars={}
  7. slot[" "]=12
  8. slot["0"]=1
  9. slot["1"]=2
  10. slot["2"]=3
  11. slot["3"]=4
  12. slot["4"]=5
  13. slot["5"]=6
  14. slot["6"]=7
  15. slot["7"]=8
  16. slot["8"]=9
  17. slot["9"]=10
  18. slot["a"]=11
  19. slot["b"]=12
  20. slot["c"]=13
  21. slot["d"]=14
  22. slot["e"]=15
  23. slot["f"]=16
  24. id={}
  25. id[" "]=15*32768+3225
  26. id["0"]=0*32768+3225
  27. id["1"]=1*32768+3225
  28. id["2"]=2*32768+3225
  29. id["3"]=3*32768+3225
  30. id["4"]=4*32768+3225
  31. id["5"]=5*32768+3225
  32. id["6"]=6*32768+3225
  33. id["7"]=7*32768+3225
  34. id["8"]=8*32768+3225
  35. id["9"]=9*32768+3225
  36. id["a"]=10*32768+3225
  37. id["b"]=11*32768+3225
  38. id["c"]=12*32768+3225
  39. id["d"]=13*32768+3225
  40. id["e"]=14*32768+3225
  41. id["f"]=15*32768+3225
  42.  
  43. function getCharCount(str,char)
  44. charnum=0
  45. for i=1, #str do
  46. if string.sub(str,i,i)==char then
  47. charnum=charnum+1
  48. end
  49. end
  50. return(charnum)
  51. end
  52.  
  53. function fileToTable(file)
  54. if fs.exists(file)~=true then
  55. print("file"..file.." not found")
  56. return(false)
  57. end
  58. fp=fs.open(file,"r")
  59. line={}
  60. i=1
  61. line[i]=fp.readLine()
  62. if line[i]==nil then return(false) end
  63. while line[i]~=nil do
  64. i=i+1
  65. line[i]=fp.readLine()
  66. end
  67. return(line)
  68. end
  69.  
  70. img=fileToTable(file)
  71.  
  72. i=1
  73. i2=1
  74. i3=1
  75. while img[i]~=nil do
  76. for i2=1, #img[i] do
  77. chars[i3]=string.sub(img[1],i2,i2)
  78. i3=i3+1
  79. end
  80. i=i+1
  81. end
  82.  
  83. onechar=""
  84. for i=1, #img do
  85. onechar=onechar..img[i]
  86. end
  87. term.clear()
  88. term.setCursorPos(1,1)
  89. term.write("Slot1 weiß: "..tostring(getCharCount(onechar,"0")))term.setCursorPos(1,2)
  90. term.write("Slot2 orange: "..tostring(getCharCount(onechar,"1")))term.setCursorPos(1,3)
  91. term.write("Slot3 magenta: "..tostring(getCharCount(onechar,"2")))term.setCursorPos(1,4)
  92. term.write("Slot4 hellblau: "..tostring(getCharCount(onechar,"3")))term.setCursorPos(1,5)
  93. term.write("Slot5 gelb: "..tostring(getCharCount(onechar,"4")))term.setCursorPos(1,6)
  94. term.write("Slot6 hellgrün: "..tostring(getCharCount(onechar,"5")))term.setCursorPos(1,7)
  95. term.write("Slot7 pink: "..tostring(getCharCount(onechar,"6")))term.setCursorPos(1,8)
  96. term.write("Slot8 grau: "..tostring(getCharCount(onechar,"7")))term.setCursorPos(21,1)
  97. term.write("Slot9 hellgrau: "..tostring(getCharCount(onechar,"8")))term.setCursorPos(21,2)
  98. term.write("Slot10 cyan: "..tostring(getCharCount(onechar,"9")))term.setCursorPos(21,3)
  99. term.write("Slot11 lila: "..tostring(getCharCount(onechar,"a")))term.setCursorPos(21,4)
  100. term.write("Slot12 blau: "..tostring(getCharCount(onechar,"b")+getCharCount(onechar,"b")))term.setCursorPos(21,5)
  101. term.write("Slot13 braun: "..tostring(getCharCount(onechar,"c")))term.setCursorPos(21,6)
  102. term.write("Slot14 grün: "..tostring(getCharCount(onechar,"d")))term.setCursorPos(21,7)
  103. term.write("Slot15 rot: "..tostring(getCharCount(onechar,"e")))term.setCursorPos(21,8)
  104. term.write("Slot16 schwarz: "..tostring(getCharCount(onechar,"f")))term.setCursorPos(1,9)
  105.  
  106. as=io.read()
  107.  
  108. if as=="craft" then
  109. me.craft(id["0"],getCharCount(onechar,"0"))
  110. me.craft(id["1"],getCharCount(onechar,"1"))
  111. me.craft(id["2"],getCharCount(onechar,"2"))
  112. me.craft(id["3"],getCharCount(onechar,"3"))
  113. me.craft(id["4"],getCharCount(onechar,"4"))
  114. me.craft(id["5"],getCharCount(onechar,"5"))
  115. me.craft(id["6"],getCharCount(onechar,"6"))
  116. me.craft(id["7"],getCharCount(onechar,"7"))
  117. me.craft(id["8"],getCharCount(onechar,"8"))
  118. me.craft(id["9"],getCharCount(onechar,"9"))
  119. me.craft(id["a"],getCharCount(onechar,"a"))
  120. me.craft(id["b"],getCharCount(onechar,"b"))
  121. me.craft(id["c"],getCharCount(onechar,"c"))
  122. me.craft(id["d"],getCharCount(onechar,"d"))
  123. me.craft(id["e"],getCharCount(onechar,"e"))
  124. me.craft(id["f"],getCharCount(onechar,"f"))
  125. end
  126.  
  127. if as=="request" then
  128. me.retrieve(id["0"],getCharCount(onechar,"0"),1)
  129. me.retrieve(id["1"],getCharCount(onechar,"1"),1)
  130. me.retrieve(id["2"],getCharCount(onechar,"2"),1)
  131. me.retrieve(id["3"],getCharCount(onechar,"3"),1)
  132. me.retrieve(id["4"],getCharCount(onechar,"4"),1)
  133. me.retrieve(id["5"],getCharCount(onechar,"5"),1)
  134. me.retrieve(id["6"],getCharCount(onechar,"6"),1)
  135. me.retrieve(id["7"],getCharCount(onechar,"7"),1)
  136. me.retrieve(id["8"],getCharCount(onechar,"8"),1)
  137. me.retrieve(id["9"],getCharCount(onechar,"9"),1)
  138. me.retrieve(id["a"],getCharCount(onechar,"a"),1)
  139. me.retrieve(id["b"],getCharCount(onechar,"b"),1)
  140. me.retrieve(id["c"],getCharCount(onechar,"c"),1)
  141. me.retrieve(id["d"],getCharCount(onechar,"d"),1)
  142. me.retrieve(id["e"],getCharCount(onechar,"e"),1)
  143. me.retrieve(id["f"],getCharCount(onechar,"f"),1)
  144. end
  145.  
  146. print("Höhe: "..tostring(#img))
  147. print("Breite: "..tostring(#img[1]))
  148. e,key=os.pullEvent("key")
  149. while key~=28 do
  150. e,key=os.pullEvent("key")
  151. end
  152.  
  153. for i=1, #chars do
  154. turtle.select(slot[string.sub(onechar,i,i)])
  155. if turtle.getItemCount(slot[string.sub(onechar,i,i)])>1 then
  156. turtle.drop(1)
  157. else
  158. if r.resupply(slot[string.sub(onechar,i,i)])==false then term.write("Bitte Material nachfüllen und Taste drücken")
  159. e,key=os.pullEvent("key")
  160. while key~=28 do
  161. e,key=os.pullEvent("key")
  162. end
  163. end
  164. turtle.drop(1)
  165. end
  166. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement