View difference between Paste ID: rkeRHvAA and FGNb0dLN
SHOW: | | - or go back to the newest paste.
1-
local nativeTerm = term.native or term
1+
local serverid = 173;
2
3-
local function invoke(sMethod, ...)
3+
local function sendEvent(event, p1, p2, p3, p4, p5)
4-
nativeTerm[sMethod](...)
4+
	rednet.send(serverid, "EventMessage")
5-
for k,sSide in pairs(redstone.getSides()) do
5+
	rednet.send(serverid, event)
6-
  if peripheral.isPresent(sSide) and peripheral.getType(sSide) == "monitor" then
6+
	for i = 1,5 do
7-
   peripheral.call(sSide, sMethod, ...)
7+
		rednet.send(serverid, "p" ..i)
8-
  end
8+
	end
9
10
	--RECEIVER CODE:
11
	--if message == "EventMessage" then
12-
term.write = function(text) invoke("write", text) end
12+
	--	i, e = rednet.receive(.1)
13-
term.scroll = function(n) invoke("scroll", n) end
13+
	--	i, p1 = rednet.receive(.1)
14-
term.setCursorPos = function(x, y) invoke("setCursorPos", x, y) end
14+
	--	i, p2 = rednet.receive(.1)
15-
term.setCursorBlink = function(B) invoke("setCursorBlink", B) end
15+
	--	i, p3 = rednet.receive(.1)
16-
term.clear = function() invoke("clear") end
16+
	--	i, p4 = rednet.receive(.1)
17-
term.clearLine = function() invoke("clearLine") end
17+
	--	i, p5 = rednet.receive(.1)
18
	--end
19-
nativeTerm.clear()
19+
20-
nativeTerm.setCursorPos(1, 1)
20+
21
os.pullEventRaw = function( _sFilter )
22
	local event, p1, p2, p3, p4, p5 = coroutine.yield( _sFilter )
23
	sendEvent(event, p1, p2, p3, p4, p5)
24
	
25
	return event, p1, p2, p3, p4, p5
26
end
27
28
term.clear()
29
term.setCursorPos(1,1)
30
print(os.version())