Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- openSides = {}
- local function getPath(side)
- local periphs = {}
- for k,v in pairs(fs.list("/dev/")) do
- if v:find("ttyS") then
- local A = fs.open("/dev/"..v,"r")
- local B = fs.open("/dev/"..v,"w")
- B.write("getSide")
- periphs[v] = A.readAll()
- end
- end
- for k,v in pairs(periphs) do
- if v == side then
- return "/dev/"..k
- end
- end
- end
- local function cap()
- modem.close(os.getComputerID())
- modem.close(65535)
- modem.open(65533)
- modem.open(65534)
- event, side, sChannel, rChannel, data, dist = os.pullEvent("modem_message")
- local table = {
- event = event,
- side = side,
- recipient = sChannel,
- sender = rChannel,
- data = data,
- distance = dist}
- modem.close(65533)
- modem.close(65534)
- modem.open(65535)
- modem.open(os.getComputerID())
- return table
- end
- local function send(msg, to, from)
- id = math.random(1, 800000)
- local message = {
- nMessageID = id,
- nRecipient = to,
- message = msg,
- sProtocol = nil,
- }
- modem.transmit(to, from, message)
- end
- function open(side)
- local periph = getPath(side)
- local file = fs.open(periph,"w")
- file.write("open",os.getComputerID())
- file.close()
- table.insert(openSides,side)
- end
- function close(side)
- for k,v in pairs(openSides) do
- if v == "side" then
- local path = getPath(side)
- local file = fs.open(path,"w")
- file.write("close",os.getComputerID())
- file.close()
- table.remove(openSides,k)
- end
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment