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) |