Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local component = require "component"
- local event = require "event"
- local text = require "text"
- local shell = require "shell"
- local modem = component.modem
- tape = component.tape_drive
- local modemPower = 100
- local nodeAddr = "derp"
- local storedMessages = 0
- local function tape_rezero()
- tape.seek(0-tape.getSize())
- end
- local function extractPath(path)
- return path:sub(1,path:find("!")-1), path:sub(path:find("!")+1,path:len())
- end
- local function idCheck(addr)
- local n = 0
- repeat
- n = n + 1
- print(tConnections[n])
- until tConnections[n] == addr or tConnections[n] == nil
- if tConnections[n] == addr then
- print(n..":"..addr)
- return true
- end
- end
- function recvMsg(name,user,message)
- end
- local function sks_send(path,retPath,name,user,message)
- local toAddr, contPath = extractPath(path)
- modem.broadcast(42,toAddr,contPath,retPath,name,user,message)
- end
- local function store(path,retPath,name,user,message)
- tape.write(path:len())
- tape.write(path)
- print(path)
- tape.write(retPath:len())
- tape.write(retPath)
- print(retPath)
- tape.write(name:len())
- tape.write(name)
- print(name)
- tape.write(user:len())
- tape.write(user)
- print(user)
- tape.write(message:len())
- tape.write(message)
- print(message)
- storedMessages = storedMessages + 1
- print "Message stored! Will be sent soon."
- end
- function msgListener(_,_,from,port,_,toAddr,path,retPath,name,user,message)
- print(from)
- if port == 42 and path ~= nodeAddr and toAddr == nodeAddr then
- store(path,retPath,name,user,message)
- elseif port == 42 and path == nodeAddr and toAddr == nodeAddr then
- recvMsg(name,user,message)
- end
- end
- local function sendTimer()
- tape_rezero()
- print "Send timer activated"
- if storedMessages > 0 then
- repeat
- local path = tape.read(tape.read())
- local retPath = tape.read(tape.read())
- local name = tape.read(tape.read())
- local user = tape.read(tape.read())
- local message = tape.read(tape.read())
- sks_send(path,retPath,name,user,message)
- storedMessages = storedMessages - 1
- until storedMessages == 0
- print "Messages sent!"
- else
- print "No messages sent!"
- end
- end
- local function setup()
- modem.open(42)
- modem.setStrength(100)
- event.listen("modem_message",msgListener)
- event.timer(30,sendTimer,math.huge)
- sendTimer()
- end
- setup()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement