Advertisement
Guest User

runner

a guest
Aug 26th, 2016
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.69 KB | None | 0 0
  1. pimside = "left"
  2. chestdir = "down"
  3. redstoneside = "back"
  4. senseside = "right"
  5. safenames = {"agichobo15", "bagofdoritos"}
  6. transside = "top"
  7. transchest = "up"
  8. gateside = "front"
  9. opsleeptime = 1
  10.  
  11.  
  12. term.clear()
  13. term.setCursorPos(1,1)
  14. pim = peripheral.wrap(pimside)
  15. trans = peripheral.wrap(transside)
  16. redstone.setOutput(gateside, true)
  17.  
  18. function search(ar, sear)
  19.   for i = 1, #ar do
  20.     if sear == ar[i] then
  21.       return true
  22.     end
  23.   end
  24.   return false
  25. end
  26.  
  27. function opisnearby(tab)
  28.   for i, s in pairs(tab) do
  29.     if search(safenames, s.name) == true then
  30.       return true
  31.     end
  32.   end
  33.   return false
  34. end
  35.  
  36. function checksafe()
  37.   tab = peripheral.call(senseside, "getPlayers")
  38.   return not opisnearby(tab)
  39. end
  40.  
  41. function suckallitems(size)
  42.   print("sucking items")
  43.   for i=1,size do
  44.       pim.pushItem(chestdir, i)
  45.   end
  46. end
  47.  
  48. function toggletransport()
  49.   print("toggling warp")
  50.   if trans.getStackInSlot(1) == none then
  51.     trans.pullItem(transchest, 1)
  52.   else
  53.     trans.pushItem(transchest, 1)
  54.   end
  55. end
  56.  
  57. function waitforredstone()
  58.   while redstone.getInput(redstoneside) == false do
  59.     os.pullEvent("redstone")
  60.   end
  61. end
  62.  
  63. function run()  
  64.   while true do
  65.     redstone.setOutput(gateside, true)
  66.     waitforredstone()
  67.     s = pim.getInventorySize()
  68.     if s > 1 then
  69.       if redstone.getInput(redstoneside) == true then
  70.         if checksafe() == true then
  71.           suckallitems(s)
  72.           toggletransport()
  73.           sleep(1)
  74.           toggletransport()
  75.         else
  76.           print("op detected. canceling suck.")
  77.           redstone.setOutput(gateside, false)
  78.           sleep(opsleeptime)
  79.         end
  80.       end
  81.     end
  82.   end
  83. end
  84.  
  85. run()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement