samuelask

Untitled

Aug 4th, 2021 (edited)
30
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.60 KB | None | 0 0
  1. local c = require("component")
  2. local term = require("term")
  3. local component = require("component")
  4. local event = require("event")
  5. local serialization = require("serialization")
  6. local gpu = component.gpu
  7. local w, h = gpu.getResolution()
  8. local computer = require("computer")
  9.  
  10. gpu.fill(1, 1, w, h, " ")
  11. local os = require("os")
  12. local modem = component.modem
  13. local term = require("term")
  14. local sg = c.stargate
  15. local port = 126
  16. adresses_checked = 0
  17. stargates_checked = 0
  18. stargates_found = 0
  19. address = {}
  20. symbols = {"Sculptor","Scorpius","Centaurus","Monoceros","Pegasus","Andromeda","Serpens Caput","Aries","Libra","Eridanus","Leo Minor","Hydra","Sagittarius","Sextans","Scutum","Pisces","Virgo","Bootes","Auriga","Corona Australis","Gemini","Leo","Cetus","Triangulum","Aquarius","Microscopium","Equuleus","Crater","Perseus","Cancer","Norma","Taurus","Canis Minor","Capricornus","Lynx","Orion","Piscis Austrinus"}
  21.  
  22. lenght = {min = 6, max = 6}
  23.  
  24.  
  25. function checkadress(address)
  26. stargates_checked = stargates_checked + 1
  27. if not component.stargate.getEnergyRequiredToDial(address) == "address_malformed" then
  28. stargates_found = stargates_found + 1
  29. print("Address found, saving to file: ",address)
  30. address = serialization.serialize(address_raw)
  31. modem.broadcast(port, "foundaddress", address)
  32. os.sleep(5)
  33. end
  34. end
  35.  
  36. function checksymbols(address)
  37. adresses_checked = adresses_checked + 1
  38. if address[1] == address[2] or address[1] == address[3] or address[1] == address[4] or address[1] == address[6] or address[2] == address[3] or address[2] == address[4] or
  39. address[2] == address[6] or address[3] == address[4] or address[3] == address[5] or address[3] == address[6] or address[4] == address[5] or address[4] == address[6] or address[5] == address[6] then
  40. term.clear(true)
  41. print("Checked Stargates:",stargates_checked)
  42. print("Checked adresses:",adresses_checked)
  43. print("Stargates Found:",stargates_found)
  44. else
  45. checkadress(address)
  46. end
  47. end
  48.  
  49.  
  50.  
  51.  
  52. function print_t(t)
  53. for _,v in pairs(t) do
  54. table.insert(address, v)
  55. end
  56. table.insert(address, "Point of Origin")
  57. checksymbols(address)
  58. address = {}
  59. end
  60.  
  61.  
  62.  
  63. function generate(current, len, chars)
  64. if #current == len then
  65. print_t(current)
  66. return
  67. end
  68. if #current < len then
  69. for c = 1, #chars do
  70. curr = {}
  71. for i = 1, #current do
  72. curr[i] = current[i]
  73. end
  74. curr[#curr+1] = chars[c]
  75. generate(curr, len, chars)
  76. end
  77. end
  78. end
  79.  
  80. function brute(chars, min, max)
  81. for l = min, max do
  82. generate({}, l, chars)
  83. end
  84. end
  85.  
  86.  
  87. brute(symbols, lenght.min, lenght.max)
Add Comment
Please, Sign In to add comment