Advertisement
ZNZNCOOP

BunkerDoor

Jan 8th, 2015
221
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.13 KB | None | 0 0
  1. NAME= 'door_1'
  2. MODEMSIDE= 'bottom'
  3. DOORSIDE= 'top'
  4. tu= textutils.unserialize
  5. ts= textutils.serialize
  6. function createPackage(datas)
  7.    data= {}
  8.    data[1]= NAME
  9.    data[2]= datas
  10.    tmp= ts(data)
  11.    return tmp
  12. end
  13.  
  14. function transmitPackage(package)
  15.    m.transmit(CHANNELSEND,CHANNELSEND,package)
  16. end
  17.  
  18. m= peripheral.wrap(MODEMSIDE)
  19. CHANNELSEND= 2
  20. CHANNELRECEIVE= 1
  21. DOORSTATUS= false
  22. m.open(CHANNELSEND)
  23. m.open(CHANNELRECEIVE)
  24. os.startTimer(5)
  25. while true do
  26.    event,a,b,c,d= os.pullEvent()
  27.    if (event == 'modem_message') then
  28.       data= {}
  29.       datas= {}
  30.       data= tu(d)
  31.       if (data[1] == NAME) then
  32.          datas= tu(data[2])
  33.          if (datas[1]) == 'open' then
  34.             rs.setOutput(DOORSIDE,false)
  35.             sleep(1)
  36.             rs.setOutput(DOORSIDE,true)
  37.             DOORSTATUS= true
  38.          end
  39.          if (datas[1] == 'close') then
  40.             sleep(1)
  41.             rs.setOutput(DOORSIDE,false)
  42.             DOORSTATUS= false
  43.          end
  44.       end
  45.    end
  46.    if (event == 'timer') then
  47.       os.startTimer(5)
  48.       transmitPackage(createPackage(ts({'ping',DOORSTATUS})))
  49.    end
  50. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement