Advertisement
dlord

/frameengine/frame

Jan 4th, 2013
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. local programPath="frameengine/frame"
  2. local args={...}
  3. local runningProgram=""
  4. local transmitter
  5. local trasmitterSide
  6. local intervalBetweenPulses=1.5
  7.  
  8. local frequencies={
  9.   north=3401,
  10.   east=3402,
  11.   south=3403,
  12.   west=3404,
  13.   up=3405,
  14.   down=3406
  15. }
  16.  
  17. if shell~=nil then
  18.     runningProgram=shell.getRunningProgram()
  19. end
  20.  
  21. -- initialize the wireless transmitter
  22. for i, side in pairs(redstone.getSides()) do
  23.   if peripheral.getType(side)=="wirelessRedstone" then
  24.     transmitter=peripheral.wrap(side)
  25.     trasmitterSide=side
  26.   end
  27. end
  28.  
  29. if transmitter==nil then
  30.   print("No wireless transmitter found!")
  31.   return
  32. end
  33.  
  34. function pulse(frequency)
  35.   transmitter.setFreq(frequency)
  36.   transmitter.set(true)
  37.   sleep(0.1)
  38.   transmitter.set(false)
  39. end
  40.  
  41. function move(direction, count)
  42.   for i=1, count*2 do
  43.     pulse(frequencies[direction])
  44.     sleep(intervalBetweenPulses)
  45.   end
  46. end
  47.  
  48. function runMoveCommand()
  49.   if #args==2 then
  50.     move(args[1], tonumber(args[2]))
  51.   else
  52.     print("move [north/south/west/east/up/down] [number of blocks]")
  53.   end
  54. end
  55.  
  56. if runningProgram==programPath then
  57.   runMoveCommand()
  58. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement