Advertisement
samuelask

Untitled

Aug 4th, 2021 (edited)
29
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.99 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.  
  21.  
  22. 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"}
  23.  
  24. lenght = {min = 6, max = 6}
  25.  
  26.  
  27.  
  28. function save(address,name)
  29. local file = fs.open(name,"w")
  30. file.write(textutils.serialize(address))
  31. file.close()
  32. end
  33.  
  34.  
  35.  
  36. function checkadress(address)
  37. for i, v in pairs(component.stargate.getEnergyRequiredToDial(address)) do --loop through the table--
  38. print(i) --print the number--
  39. print(v) --print the value--
  40. end
  41. if not component.stargate.getEnergyRequiredToDial(address) == "address_malformed" then
  42. stargates_found = stargates_found + 1
  43. print("Address found, saving to file: ",address)
  44. address = serialization.serialize(address_raw)
  45. modem.broadcast(port, "foundaddress", address)
  46. save(address,stargates_found)
  47. os.sleep(5)
  48. end
  49. end
  50.  
  51. function checksymbols(address)
  52. adresses_checked = adresses_checked + 1
  53. if address[1] == address[2] or address[1] == address[3] or address[1] == address[4] or address[1] == address[5] or address[1] == address[6] or address[2] == address[3] or address[2] == address[4] or address[2] == address[5] or 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
  54. term.clear(true)
  55. print("Checked Stargates:",stargates_checked)
  56. print("Checked adresses:",adresses_checked)
  57. print("Stargates Found:",stargates_found)
  58. else
  59. stargates_checked = stargates_checked + 1
  60. checkadress(address)
  61. end
  62. end
  63.  
  64.  
  65.  
  66.  
  67. function print_t(b)
  68. for _,v in pairs(b) do
  69. table.insert(address, v)
  70. end
  71. table.insert(address, "Point of Origin")
  72. checksymbols(address)
  73. address = {}
  74. end
  75.  
  76.  
  77.  
  78. function generate(current, len, chars)
  79. if #current == len then
  80. print_t(current)
  81. return
  82. end
  83. if #current < len then
  84. for c = 1, #chars do
  85. curr = {}
  86. for i = 1, #current do
  87. curr[i] = current[i]
  88. end
  89. curr[#curr+1] = chars[c]
  90. generate(curr, len, chars)
  91. end
  92. end
  93. end
  94.  
  95. function brute(chars, min, max)
  96. for l = min, max do
  97. generate({}, l, chars)
  98. end
  99. end
  100.  
  101.  
  102. brute(symbols, lenght.min, lenght.max)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement