Advertisement
samuelask

Untitled

Aug 6th, 2021 (edited)
41
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.56 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. gpu.fill(1, 1, w, h, " ")
  10. local os = require("os")
  11. local modem = component.modem
  12. local term = require("term")
  13. local sg = c.stargate
  14. local port = 126
  15. saveslot = 0
  16. pool = 0
  17. adresses_checked = 0
  18. stargates_checked = 0
  19. stargates_found = 0
  20. firstaddress = {"Sculptor","Scorpius","Piscis Austrinus","Centaurus","Monoceros","Pegasus"}
  21. firstrun = 0
  22. address = {}
  23. 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"}
  24. lenght = {min = 6, max = 6}
  25. hi = 1000
  26. hi2 = 4000
  27.  
  28. function save(address,name)
  29. saveslot = saveslot + 1
  30. local file = fs.open(name,"w")
  31. file.write(textutils.serialize(address))
  32. file.close()
  33. end
  34. function checkadress(address)
  35. term.clear(true)
  36. table.insert(address, "Point of Origin")
  37. print("Checked adresses:",adresses_checked)
  38. print("Checked Stargates:",stargates_checked)
  39. print("Stargates Found:",stargates_found)
  40. if not component.stargate.getEnergyRequiredToDial(address) == "address_malformed" then
  41. stargates_found = stargates_found + 1
  42. print("Address found, saving to file: ",address)
  43. address = serialization.serialize(address_raw)
  44. modem.broadcast(port, "foundaddress", address)
  45. save(address,stargates_found)
  46. os.sleep(5)
  47. end
  48. end
  49. function checksymbols(address)
  50. adresses_checked = adresses_checked + 1
  51. 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
  52. term.clear(true)
  53. print("Checked Stargates:",stargates_checked)
  54. print("Checked adresses:",adresses_checked)
  55. print("Stargates Found:",stargates_found)
  56. else
  57. stargates_checked = stargates_checked + 1
  58. checkadress(address)
  59. end
  60. address = {}
  61. end
  62. function generate(current, len, chars)
  63. if #current == len then
  64. if pool > 4000 then
  65. os.sleep(0)
  66. pool = 0
  67. elseif current == firstaddress and firstrun == 0 then
  68. pool = pool + 1
  69. firstrun = 1
  70. checksymbols(current)
  71. save(current,adresses_checked)
  72. save(curr,saveslot)
  73. save(chars,saveslot)
  74. save(chars[c],saveslot)
  75. io.read()
  76. elseif firstrun == 1 then
  77. pool = pool + 1
  78. checksymbols(current)
  79. else
  80. term.clear(true)
  81. pool = pool + 1
  82. adresses_checked = adresses_checked + 1
  83. print("Checked Stargates:",stargates_checked)
  84. print("Checked adresses:",adresses_checked)
  85. print("Stargates Found:",stargates_found)
  86. end
  87. return
  88. end
  89. if #current < len then
  90. for c = 1, #chars do
  91. curr = {}
  92. for i = 1, #current do
  93. curr[i] = current[i]
  94. end
  95. curr[#curr+1] = chars[c]
  96. generate(curr, len, chars)
  97. end
  98. end
  99. end
  100.  
  101.  
  102. function brute(chars, min, max)
  103. for l = min, max do
  104. generate({}, l, chars)
  105. end
  106. end
  107.  
  108. brute(symbols, lenght.min, lenght.max)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement