ecco7777

CC following turtle

Jun 6th, 2018
155
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.82 KB | None | 0 0
  1. s=peripheral.wrap("right")
  2.  
  3. function scan(s,mode)
  4.     entity={}
  5.     entity.item={}
  6.     entity.mob={}
  7.     entity.player={}
  8.     entity.minecart={}
  9.     entity.itemFrame={}
  10.  
  11. if mode==nil then
  12. mode="all"
  13. end
  14.  
  15. if mode=="mob" or mode=="all" then
  16. mobs=s.getEntityIds("mob")
  17. for i=1, #mobs do
  18. data=nil
  19. data=s.getEntityData(mobs[i],"mob")
  20. if data~=nil then
  21. entity.mob[#entity.mob+1]=data.all()
  22. else
  23. entity.mob[#entity.mob+1]="lost"
  24. end
  25. end
  26. end
  27.  
  28. if mode=="item" or mode=="all" then
  29. items=s.getEntityIds("item")
  30. for i=1, #items do
  31. data=nil
  32. data=s.getEntityData(items[i],"item")
  33. if data~=nil then
  34. entity.item[#entity.item+1]=data.all()
  35. else
  36. entity.item[#entity.item+1]="lost"
  37. end
  38. end
  39. end
  40.  
  41. if mode=="player" or mode=="all" then
  42. players=s.getPlayers()
  43. for i=1, #players do
  44. data=nil
  45. data=s.getPlayerByName(players[i].name)
  46. if data~=nil then
  47. entity.player[#entity.player+1]=data.all()
  48. inv=entity.player[#entity.player].player.inventory
  49. for i2=1, 40 do
  50. if inv[i2]~=nil then
  51. fp=fs.open("temp","w")
  52. itemp=#entity.player
  53. i2temp=i2
  54. error=true
  55. fp.write("entity.player[itemp].player.inventory[i2temp]=inv[i2temp].all() error=false")
  56. fp.close()
  57. shell.run("temp")
  58. shell.run("rm temp")
  59. if error then
  60. entity.player[itemp].player.inventory[i2temp]=nil
  61. end
  62. end
  63. end
  64. else
  65. entity.player[#entity.player+1]="lost"
  66. end
  67. end
  68. end
  69.  
  70. if mode=="minecart" or mode=="all" then
  71. minecarts=s.getEntityIds("minecart")
  72. for i=1, #minecarts do
  73. data=nil
  74. data=s.getEntityData(minecarts[i],"minecart")
  75. if data~=nil then
  76. entity.minecart[#entity.minecart+1]=data.all()
  77. else
  78. entity.minecart[#entity.minecart+1]="lost"
  79. end
  80. end
  81. end
  82.  
  83. if mode=="frame" or mode=="all" then
  84. itemFrames=s.getEntityIds("item_frame")
  85. for i=1, #itemFrames do
  86. data=nil
  87. data=s.getEntityData(itemFrames[i],"item_frame")
  88. if data~=nil then
  89. entity.itemFrame[#entity.itemFrame+1]=data.all()
  90. else
  91. entity.itemFrame[#entity.itemFrame+1]="lost"
  92. end
  93. end
  94. end
  95.  
  96. return entity
  97. end
  98.  
  99. function getPos()
  100.     scan(s,"player")
  101.         if entity.player[1]~=nil then
  102.         pos=entity.player[1].position
  103.         else
  104.         pos={x=0,y=0,z=0}
  105.         end
  106.     return vector.new(pos.x,pos.y,pos.z)
  107. end
  108.  
  109.  
  110. function follow()
  111. posN=vector.new(0,0,0)
  112.  
  113. posN.length(getPos())
  114.  
  115. d=posN.length(getPos())
  116. x = 0
  117. while x == 0 do
  118. d=posN.length(getPos())
  119. d2 = d
  120.  
  121. turtle.forward()
  122. d=posN.length(getPos())
  123.     if d2 < d then
  124.     turtle.turnLeft()
  125.     turtle.turnLeft()
  126.    
  127.     turtle.forward()
  128.    
  129.     turtle.forward()
  130.  
  131.     else
  132.         while x == 0 do
  133.             if d2 >= d then
  134.             print("d2 ist groesser")
  135.             d=posN.length(getPos())
  136.             d2 = d
  137.            
  138.             turtle.forward()
  139.             d=posN.length(getPos())
  140.             print("d2:",d2)
  141.             print("d :",d)
  142.                 if d2 <= d then
  143.                 print("d2 ist kleiner")
  144.                 x=1
  145.                 end
  146.             end
  147.         end
  148.     end
  149. end
  150. turtle.turnLeft()
  151. d=posN.length(getPos())
  152. x = 0
  153.     while x == 0 do
  154.     d=posN.length(getPos())
  155.     d2 = d
  156.  
  157.     turtle.forward()
  158.     d=posN.length(getPos())
  159.         if d2 < d then
  160.         turtle.turnLeft()
  161.         turtle.turnLeft()
  162.        
  163.         turtle.forward()
  164.        
  165.         turtle.forward()
  166.  
  167.         else
  168.             while x == 0 do
  169.                 if d2 >= d then
  170.                 print("d2 ist groesser")
  171.                 d=posN.length(getPos())
  172.                 d2 = d
  173.                
  174.                 turtle.forward()
  175.                 d=posN.length(getPos())
  176.                 print("d2:",d2)
  177.                 print("d :",d)
  178.                     if d2 <= d then
  179.                     print("d2 ist kleiner")
  180.                     x=1
  181.                     end
  182.                 end
  183.             end
  184.         end
  185.     end
  186.  
  187. d=posN.length(getPos())
  188. x = 0
  189.     while x == 0 do
  190.     d=posN.length(getPos())
  191.     d2 = d
  192.  
  193.     turtle.down()
  194.     d=posN.length(getPos())
  195.         if d2 < d then
  196.         print("Fehler")
  197.  
  198.         else
  199.             while x == 0 do
  200.                 if d2 >= d then
  201.                 print("d2 ist groesser")
  202.                 d=posN.length(getPos())
  203.                 d2 = d
  204.  
  205.                 turtle.down()
  206.                 d=posN.length(getPos())
  207.                 print("d2:",d2)
  208.                 print("d :",d)
  209.                     if d2 <= d then
  210.                     print("d2 ist kleiner")
  211.                     x=1
  212.                     end
  213.                 end
  214.             end
  215.         end
  216.     end
  217. end
  218.  
  219. while true do
  220. follow()
  221. end
Add Comment
Please, Sign In to add comment