View difference between Paste ID: ZRES1Va8 and nKKyHQeP
SHOW: | | - or go back to the newest paste.
1
local event = require("event")
2
local component = require("component")
3
local term = require("term")
4
5
local modem = component.modem
6
modem.open(1)
7
modem.broadcast(1, "nanomachines", "setResponsePort", 1)
8
msg=""
9
ex=true
10
function eventer(tbl)
11
	local head=tbl[6]
12
	local title=tbl[7]
13
	local message=tbl[8]
14
	if head=="nanomachines" then
15
		if title=="effects" then
16
			msg=message
17
		elseif title=="input" and message=="error" then
18
			ex=false
19
			msg="error"
20
		end
21
	end
22
end
23
24
local function send(command, ...)
25
  component.modem.broadcast(1, "nanomachines", command, ...)
26
end
27
28
29
30
31
map=""
32
J=0
33
while ex do 
34
	J=J+1
35
	send("setInput", J, true)
36
	eventer({event.pull("modem_message")})
37
    send("getActiveEffects")
38
    eventer({event.pull("modem_message")})
39
	print(J..":"..msg)
40
	if msg~="{}" then
41
		map=map..J..":"..msg.."\n"
42
	end
43
	send("setInput", J, false)
44
	_,_,_,_,_,_,_,_=event.pull("modem_message")
45
46
end
47
print("сканирование закончино. интересные эффекты:")
48
print(map)