kamilosxd678

[MC-CC] Elevator Server

Aug 28th, 2012
144
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.39 KB | None | 0 0
  1. rednet.open("top")
  2.  
  3. actualLevel = 0
  4. requestLevel = 0
  5. id = 0
  6. request = "null"
  7.  
  8. function setOutputLevel()
  9.  if actualLevel == 0 then
  10.   rs.setBundledOutput("right", colors.white)
  11.  elseif actualLevel == 1 then
  12.   rs.setBundledOutput("right", colors.blue)
  13.  else
  14.   rs.setBundledOutput("right", colors.lime)
  15.  end
  16. end
  17.  
  18. function receive()
  19.  id, request = rednet.receive()
  20.  if id > 0 then
  21.   requestLevel = tonumber(request)
  22.   return true
  23.  else
  24.   return false
  25.  end
  26. end
  27.  
  28. function elevatorUp(levels)
  29.  move = levels*8
  30.  for i = 1, move do
  31.   rs.setBundledOutput("left", colors.white) -- deployer
  32.   os.sleep(1)
  33.   rs.setBundledOutput("left", colors.lime)  -- EngineUp
  34.   os.sleep(1)
  35.   rs.setBundledOutput("left", colors.black)
  36.  end
  37.  actualLevel = actualLevel + levels
  38. end
  39.  
  40. function elevatorDown(levels)
  41.  move = levels*8
  42.  for i = 1, move do
  43.   rs.setBundledOutput("left", colors.orange)  -- EngineDown
  44.   os.sleep(1)
  45.   rs.setBundledOutput("left", colors.blue) -- Breaker
  46.   os.sleep(1)
  47.   rs.setBundledOutput("left", colors.black)
  48.  end
  49.  actualLevel = actualLevel - levels
  50. end
  51.  
  52. while true do
  53.  if receive() then
  54.   if actualLevel == requestLevel then
  55.    id = 0
  56.   elseif actualLevel < requestLevel then
  57.    elevatorUp(requestLevel - actualLevel)
  58.    id = 0
  59.   else
  60.    elevatorDown(actualLevel - requestLevel)
  61.    id = 0
  62.   end
  63.   setOutputLevel()
  64.  end
  65.  os.sleep(1)
  66. end
  67.  
  68. rednet.close("top")
Advertisement
Add Comment
Please, Sign In to add comment