Advertisement
Guest User

Untitled

a guest
Oct 22nd, 2014
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. -- Here's an extremely basic timer program
  2. -- version 2013.09.20
  3.  
  4. --[[ use these two variables to specify which
  5.        side the redstone signal comes IN and
  6.        which sideyou want to pulse for OUT
  7.        valid options are "left", "right","up",
  8.        "down","front", or "back"
  9.      notice how we use them later in the code
  10.        so we only have to change them once
  11.        at the top of the code instead of each
  12.        time throughout the code.
  13.  
  14.    to install, make a computer and run the following command
  15.     pastebin get 5pC0Njha startup
  16.    then hold CTRL+R to reboot the computer and start the timer!
  17.    hold CTRL+T to terminate the timer and type
  18.         edit startup
  19.    to be able to edit this timer program
  20.    ]]--
  21.  
  22.  
  23. local args = { ... }
  24. local PHASE_LENGTH = 90  -- Standardlaenge je Phase an bzw aus
  25. if #args > 0 then
  26.     PHASE_LENGTH = 0 + args[1]
  27. end
  28. if PHASE_LENGTH > 300 then
  29.     PHASE_LENGTH = 300 -- 5 min bzw 300 sec Limit
  30. end
  31.  
  32. local INPUT_SIDE = "top"     -- change based on where your lever is  
  33. local OUTPUT_SIDE = "back"   -- change based on where your output side is
  34. local IDLE_TIME = 30         -- time (in sec) for cc to wait, rec 30, allows timer to survive reboot
  35.  
  36. --start an infini8te loop
  37. --hold CTRL+T to stop the program
  38. while true do
  39.   --wait for lever to be thrown, or check if red is already active after IDLE_TIME
  40.   parallel.waitForAny(function() e = os.pullEvent("redstone"); return true end, function() sleep(IDLE_TIME); return true end)
  41.   --pulse the output
  42.   while rs.getInput(INPUT_SIDE) do  --while lever is ON
  43.     write(".")  --print a dot each time we pulse
  44.     rs.setOutput(OUTPUT_SIDE,true)  --turn output on
  45.     sleep(PHASE_LENGTH)
  46.     rs.setOutput(OUTPUT_SIDE,false)  --turn output off
  47.     sleep(PHASE_LENGTH)
  48.   end
  49. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement