Jyzarc

JyNet Tool

Feb 1st, 2014
163
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.61 KB | None | 0 0
  1. local JyNet = {}
  2. JyNet.channel = 127
  3. JyNet.frequencies = {}
  4.  
  5. function JyNet.setChannel(sNum)
  6.     JyNet.channel = sNum
  7. end
  8.  
  9. function JyNet.getChannel()
  10.     return JyNet.channel
  11. end
  12.  
  13. function JyNet.open(sSide)
  14.     if peripheral.getType(sSide) == "modem" then
  15.         peripheral.call(sSide,"open",JyNet.channel)
  16.         return true
  17.     else
  18.         return false
  19.     end
  20. end
  21.  
  22. function JyNet.close(sSide)
  23.     if peripheral.getType(sSide) == "modem" then
  24.         peripheral.call(sSide,"close",JyNetChannel)
  25.         return true
  26.     else
  27.         return false
  28.     end
  29. end
  30.  
  31. function JyNet.isOpen(sSide)
  32.     return peripheral.call(sSide,"isOpen",JyNet.channel)
  33. end
  34.  
  35. function JyNet.addFreq(sFreq)
  36.     if not JyNet.frequencies[sFreq] then
  37.         JyNet.frequencies[sFreq] = true
  38.         return true
  39.     else
  40.         return false
  41.     end
  42. end
  43.  
  44. function JyNet.removeFreq(sFreq)
  45.     if JyNet.frequencies[sFreq] then
  46.         JyNet.frequencies[sFreq] = false
  47.         return true
  48.     else
  49.         return false
  50.     end
  51. end
  52.  
  53. function JyNet.getFreq(sFreq)
  54.     return JyNet.frequencies[sFreq]
  55. end
  56.  
  57. function JyNet.send(sMessage,sFreq,sSide,sID)
  58.     JyNet.message = textutils.serialize{sFreq,sMessage}
  59.     if peripheral.getType(sSide) == "modem" then
  60.         peripheral.call(sSide,"transmit",JyNet.channel,sID,JyNet.message)
  61.         return true
  62.     else
  63.         return false
  64.     end
  65. end
  66.  
  67. function JyNet.recieve()
  68.     JyNet.senderChannel = 0
  69.     JyNet.freq = nil
  70.     while JyNet.senderChannel ~= JyNet.channel or not frequencies[freq] do
  71.         JyNet.void,JyNet.side,JyNet.senderChannel,JyNet.id,JyNet.message = os.pullEvent("modem_message")
  72.         freq = textutils.unserialize(message)[1]
  73.         message = textutils.unserialize(message)[2]
  74.     end
  75.     return message,id,freq,side
  76. end
Advertisement
Add Comment
Please, Sign In to add comment