serafim7

сканер эффектов нанитов [OpenComputers]

Aug 19th, 2016
364
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. --[[  opencomputers сканер эффектов нанитов
  2.  
  3. !!! ОПАСНО !!! попадаются негативные эффекты, в том числе моментальный урон
  4.  
  5. требования:
  6. планшет или комьютер с wi-fi картой
  7. ]]--
  8.  
  9. local event = require("event")
  10. local component = require("component")
  11. local term = require("term")
  12.  
  13. local msg=""
  14. local map=""
  15. local ex=true
  16. local J=0
  17. local modem = component.modem
  18.  
  19. modem.open(1)
  20. modem.broadcast(1, "nanomachines", "setResponsePort", 1)
  21.  
  22. function eventer(tbl)
  23.   local head=tbl[6]
  24.   local title=tbl[7]
  25.   local message=tbl[8]
  26.   if head=="nanomachines" then
  27.     if title=="effects" then
  28.       msg=message
  29.     elseif title=="input" and message=="error" then
  30.       ex=false
  31.       msg="error"
  32.     end
  33.   end
  34. end
  35.  
  36. local function send(command, ...)
  37.   component.modem.broadcast(1, "nanomachines", command, ...)
  38. end
  39.  
  40. term.clear()
  41. print("Сканирую эффекты:")
  42.  
  43. while ex do
  44.   J=J+1
  45.   send("setInput", J, true)
  46.   eventer({event.pull("modem_message")})
  47.   send("getActiveEffects")
  48.   eventer({event.pull("modem_message")})
  49.   print(J..":"..msg)
  50.     if msg~="{}" then
  51.       map=map..J..":"..msg.."\n"
  52.     end
  53.   send("setInput", J, false)
  54.   _,_,_,_,_,_,_,_=event.pull("modem_message")
  55. end
  56.  
  57. term.clear()
  58. print("Сканирование завершено. Ваши эффекты:\n")
  59. print(map)
RAW Paste Data