Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local JyNetChannel = 127
- local allFreqs = false
- local side,freq,id,message,senderChannel,num,_
- local frequencies = {}
- function setJyNetChannel(num)
- JyNetChannel = num
- end
- function getJyNetChannel()
- return JyNetChannel
- end
- function open(side)
- if peripheral.getType(side) == "modem" then
- peripheral.call(side,"open",JyNetChannel)
- return true
- else
- return false
- end
- end
- function close(side)
- if peripheral.getType(side) == "modem" then
- peripheral.call(side,"close",JyNetChannel)
- return true
- else
- return false
- end
- end
- function isOpen(side)
- return peripheral.call(side,"isOpen",JyNetChannel)
- end
- function openAll()
- for i = 1,6 do
- open(rs.getSides()[i])
- end
- end
- function closeAll()
- for i = 1,6 do
- close(rs.getSides()[i])
- end
- end
- function addFreq(freq)
- if not frequencies[freq] then
- frequencies[freq] = true
- return true
- else
- return false
- end
- end
- function removeFreq(freq)
- if frequencies[freq] then
- frequencies[freq] = false
- return true
- else
- return false
- end
- end
- function addAll()
- allFreqs = true
- end
- function removeAll()
- allFreqs = false
- end
- function getFreq(freq)
- return frequencies[freq]
- end
- function send(message,freq,side,id)
- message = textutils.serialize{freq,message}
- if peripheral.getType(side) == "modem" then
- peripheral.call(side,"transmit",JyNetChannel,id,message)
- return true
- else
- return false
- end
- end
- function recieve()
- senderChannel = 0
- freq = nil
- while senderChannel ~= JyNetChannel or not (frequencies[freq] or allFreqs) do
- _,side,senderChannel,id,message = os.pullEvent("modem_message")
- freq = textutils.unserialize(message)[1]
- message = textutils.unserialize(message)[2]
- end
- return message,id,freq,side
- end
Advertisement
Add Comment
Please, Sign In to add comment