Advertisement
Snowdingerr

CC:Tweaked Create elevator server

Feb 21st, 2025
466
-1
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.01 KB | Source Code | 0 1
  1. -- elevator server
  2.  
  3. local modem = peripheral.find("modem")
  4. local floor = 3 -- change this to whatever floor it is serving
  5. local channel = 10 + floor
  6.  
  7. term.setCursorPos(1,1)
  8. term.clear()
  9. term.setCursorPos(1,1)
  10. print("floor " .. floor)
  11. print("port " .. channel)
  12.  
  13. modem.open(channel)
  14.  
  15. function callElevator()
  16.     redstone.setOutput("top", true)
  17.     os.sleep(0.025)
  18.     redstone.setOutput("top", false)
  19. end
  20.  
  21. function isElevatorDocked()
  22.     return redstone.getInput("top")
  23. end
  24.  
  25. function handleRequests()
  26.     while true do
  27.         local event, side, receivedChannel, replyChannel, message, distance = os.pullEvent("modem_message")
  28.  
  29.         if receivedChannel == channel then
  30.             if message == "elevator_request" then
  31.                 callElevator()
  32.             elseif message == "is_elevator_docked" then
  33.                 local status = isElevatorDocked()
  34.                 modem.transmit(replyChannel, channel, status)
  35.             end
  36.         end
  37.     end
  38. end
  39.  
  40. parallel.waitForAll(handleRequests)
  41.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement