Advertisement
BigSHinyToys

Experemental Net bridge

Apr 18th, 2013
190
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 0.86 KB | None | 0 0
  1. --[[
  2.         Net bridge
  3.         by BigSHinyToys
  4. ]]--
  5.  
  6. local function findDevice(sType)
  7.     local tList = {}
  8.     for _,sSide in pairs(rs.getSides()) do
  9.         if peripheral.isPresent(sSide) and peripheral.getType(sSide) == sType then
  10.             table.insert(tList,{device = peripheral.wrap(sSide) , side = sSide})
  11.         end
  12.     end
  13.     return tList
  14. end
  15.  
  16. local tModem = findDevice("modem")
  17.  
  18. local function openChan(freq)
  19.     for _,tDevice in pairs(tModem) do
  20.         tDevice.device.open(freq)
  21.     end
  22. end
  23.  
  24. local function reSend(tIn)
  25.     for _,tDevice in pairs(tModem) do
  26.         if tDevice.side ~= tIn[2] then
  27.             tDevice.device.transmit(tIn[3],tIn[4],tIn[5])
  28.         end
  29.     end
  30. end
  31.  
  32. openChan(65535)
  33.  
  34. while true do
  35.     local event = {os.pullEvent()}
  36.     if event[1] == "modem_message" then
  37.         openChan(event[4])
  38.         reSend(event)
  39.     end
  40.     --[[
  41.     for i = 1,#event do
  42.         write(tostring(event[i]).." ")
  43.     end
  44.     print("")
  45.     ]]--
  46. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement