Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local fo = 0
- local fi = 0
- local function findModems()
- local wr
- local wrl
- peripheral.find("modem",function(side)
- if peripheral.call(side,"isWireless") then
- wrl = side
- else
- wr = side
- end
- end)
- if wr and wrl then
- return wr,wrl
- else
- error("You need one wired modem and one wireless",0)
- end
- end
- local function open(nChanel,side)
- peripheral.call(side, "open", nChanel )
- end
- local function close(nChanel,side)
- peripheral.call(side, "close", nChanel )
- end
- local function send( nRecipient,nSender,message,side,protocol)
- nMessageID = math.random( 1, 2147483647 )
- local tMessage = {
- nMessageID = nMessageID,
- nRecipient = nRecipient,
- message = message,
- sProtocol = protocol,
- }
- peripheral.call(side,"transmit",nRecipient,nSender,tMessage)
- end
- wrm,wrlm = findModems()
- open(rednet.CHANNEL_REPEAT,wrlm)
- open(rednet.CHANNEL_REPEAT,wrm)
- local x,y = term.getCursorPos()
- while true do
- e = {os.pullEventRaw()}
- if e[1] == "modem_message" and e[2] == wrlm then
- send(e[5].nRecipient,e[4],e[5].message,wrm,e[5].sProtocol)
- fi = fi+1
- elseif e[1] == "modem_message" and e[2] == wrm then
- send(e[5].nRecipient,e[4],e[5].message,wrlm,e[5].sProtocol)
- fo = fo+1
- elseif e[1] == "terminate" then
- close(rednet.CHANNEL_REPEAT,wrlm)
- close(rednet.CHANNEL_REPEAT,wrm)
- break
- end
- term.setCursorPos(1,y)
- term.write("Messages forwarded in "..fi)
- term.setCursorPos(1,y+1)
- term.write("Messages forwarded out "..fo)
- end
- term.setCursorPos(1,y+2)
- print("Ended")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement