Advertisement
Guest User

dq5encounter

a guest
Jan 18th, 2012
152
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.29 KB | None | 0 0
  1. while true do
  2. seed1 = memory.readbyte(0x7E0993) + (memory.readbyte(0x7E0994) * 256)
  3. seed2 = memory.readbyte(0x7E0995) + (memory.readbyte(0x7E0996) * 256)
  4. text = " "
  5. color = "white"
  6. xx = 0
  7. yy = 0
  8. if memory.readbyte(0x7E007F) % 8 == 0 then
  9. text = "*"
  10. end
  11. seedupper = math.floor(seed1 / 256)
  12. seedlower = seed1 % 256
  13. seedupper = (seedupper + (7 - (memory.readbyte(0x7E007F) % 8))) % 256
  14. seedlower = (seedlower + (7 - (memory.readbyte(0x7E007F) % 8))) % 256
  15. seed1 = seedlower + (seedupper * 256)
  16. seed2 = (seed2 + ((7 - (memory.readbyte(0x7E007F) % 8)))) % 65536
  17.  
  18. for i = 1, 64 do --乱数生成処理
  19. resist1 = seed1
  20. resist2 = seed2
  21. carry = math.floor((seed1 * 2) / 65536)
  22. seed1 = (seed1 * 2) % 65536
  23. seed2 = ((seed2 * 2) + carry) % 65536
  24. carry = math.floor((seed1 + resist1) / 65536)
  25. seed1 = (seed1 + resist1) % 65536
  26. seed2 = (seed2 + resist2 + carry) % 65536
  27. carry = math.floor((seed1 + 0x15AD) / 65536)
  28. seed1 = (seed1 + 0x15AD) % 65536
  29. seed2 = (seed2 + carry) % 65536
  30. rand = seed2 % 256
  31. --乱数を画面に表示させる
  32. if rand < 10 then color = "green" --10未満の乱数を色付け
  33. elseif rand < 28 then color = "blue" end --28未満の乱数を色付け
  34.  
  35. if i > 32 then xx = 20
  36. yy = -192
  37. end
  38.  
  39. gui.text(10+xx,6*(i+4)+yy, rand.." "..text,color)
  40. seedupper = math.floor(seed1 / 256)
  41. seedlower = seed1 % 256
  42. seedupper = (seedupper + 8) % 256
  43. seedlower = (seedlower + 8) % 256
  44. seed1 = seedlower + (seedupper * 256)
  45. seed2 = (seed2 + 8) % 65536
  46. end
  47.  
  48. xx = 0
  49. yy = 0
  50. color = "white"
  51. seed1 = memory.readbyte(0x7E0993) + (memory.readbyte(0x7E0994) * 256)
  52. seed2 = memory.readbyte(0x7E0995) + (memory.readbyte(0x7E0996) * 256)
  53. seedupper = math.floor(seed1 / 256)
  54. seedlower = seed1 % 256
  55. seedupper = (seedupper + (7 - (memory.readbyte(0x7E007F) % 8))) % 256
  56. seedlower = (seedlower + (7 - (memory.readbyte(0x7E007F) % 8))) % 256
  57. seed1 = seedlower + (seedupper * 256)
  58. seed2 = (seed2 + ((7 - (memory.readbyte(0x7E007F) % 8)))) % 65536
  59.  
  60. for i = 1, 64 do
  61. if i == 1 then --8フレーム停止した時にどんな乱数列に切り替わるかを表示させる
  62. seedupper = math.floor(seed1 / 256)
  63. seedlower = seed1 % 256
  64. seedupper = (seedupper + 8) % 256
  65. seedlower = (seedlower + 8) % 256
  66. seed1 = seedlower + (seedupper * 256)
  67. seed2 = (seed2 + 8) % 65536
  68. end
  69. resist1 = seed1
  70. resist2 = seed2
  71. carry = math.floor((seed1 * 2) / 65536)
  72. seed1 = (seed1 * 2) % 65536
  73. seed2 = ((seed2 * 2) + carry) % 65536
  74. carry = math.floor((seed1 + resist1) / 65536)
  75. seed1 = (seed1 + resist1) % 65536
  76. seed2 = (seed2 + resist2 + carry) % 65536
  77. carry = math.floor((seed1 + 0x15AD) / 65536)
  78. seed1 = (seed1 + 0x15AD) % 65536
  79. seed2 = (seed2 + carry) % 65536
  80. rand = seed2 % 256
  81. if rand < 10 then color = "green"
  82. elseif rand < 28 then color = "blue"
  83. elseif rand < 251 and rand > 246 then color = "red" end
  84.  
  85. if i > 32 then xx = 20
  86. yy = -192
  87. end
  88.  
  89. gui.text(50+xx,6*(i+4)+yy, rand.." "..text,color)
  90. seedupper = math.floor(seed1 / 256)
  91. seedlower = seed1 % 256
  92. seedupper = (seedupper + 8) % 256
  93. seedlower = (seedlower + 8) % 256
  94. seed1 = seedlower + (seedupper * 256)
  95. seed2 = (seed2 + 8) % 65536
  96. end
  97.  
  98. xx = 0
  99. yy = 0
  100. color = "white"
  101. seed1 = memory.readbyte(0x7E0993) + (memory.readbyte(0x7E0994) * 256)
  102. seed2 = memory.readbyte(0x7E0995) + (memory.readbyte(0x7E0996) * 256)
  103. seedupper = math.floor(seed1 / 256)
  104. seedlower = seed1 % 256
  105. seedupper = (seedupper + (7 - (memory.readbyte(0x7E007F) % 8))) % 256
  106. seedlower = (seedlower + (7 - (memory.readbyte(0x7E007F) % 8))) % 256
  107. seed1 = seedlower + (seedupper * 256)
  108. seed2 = (seed2 + ((7 - (memory.readbyte(0x7E007F) % 8)))) % 65536
  109.  
  110. for i = 1, 64 do
  111. if i == 1 then --15フレーム停止した時(メニュー開閉)どのような乱数列に切り替わるか
  112. seedupper = math.floor(seed1 / 256)
  113. seedlower = seed1 % 256
  114. seedupper = (seedupper + 15) % 256
  115. seedlower = (seedlower + 15) % 256
  116. seed1 = seedlower + (seedupper * 256)
  117. seed2 = (seed2 + 15) % 65536
  118. end
  119. resist1 = seed1
  120. resist2 = seed2
  121. carry = math.floor((seed1 * 2) / 65536)
  122. seed1 = (seed1 * 2) % 65536
  123. seed2 = ((seed2 * 2) + carry) % 65536
  124. carry = math.floor((seed1 + resist1) / 65536)
  125. seed1 = (seed1 + resist1) % 65536
  126. seed2 = (seed2 + resist2 + carry) % 65536
  127. carry = math.floor((seed1 + 0x15AD) / 65536)
  128. seed1 = (seed1 + 0x15AD) % 65536
  129. seed2 = (seed2 + carry) % 65536
  130. rand = seed2 % 256
  131.  
  132. if rand < 10 then color = "green"
  133. elseif rand < 18 then color = "blue" end
  134.  
  135. if i > 32 then xx = 20
  136. yy = -192
  137. end
  138.  
  139. gui.text(160+xx,6*(i+4)+yy, rand.." "..text,color)
  140. seedupper = math.floor(seed1 / 256)
  141. seedlower = seed1 % 256
  142. seedupper = (seedupper + 8) % 256
  143. seedlower = (seedlower + 8) % 256
  144. seed1 = seedlower + (seedupper * 256)
  145. seed2 = (seed2 + 8) % 65536
  146. end
  147.  
  148. xx = 0
  149. yy = 0
  150. color = "white"
  151. seed1 = memory.readbyte(0x7E0993) + (memory.readbyte(0x7E0994) * 256)
  152. seed2 = memory.readbyte(0x7E0995) + (memory.readbyte(0x7E0996) * 256)
  153. seedupper = math.floor(seed1 / 256)
  154. seedlower = seed1 % 256
  155. seedupper = (seedupper + (7 - (memory.readbyte(0x7E007F) % 8))) % 256
  156. seedlower = (seedlower + (7 - (memory.readbyte(0x7E007F) % 8))) % 256
  157. seed1 = seedlower + (seedupper * 256)
  158. seed2 = (seed2 + ((7 - (memory.readbyte(0x7E007F) % 8)))) % 65536
  159.  
  160. for i = 1, 64 do
  161. if i == 1 then --16フレーム停止したときにどのような乱数列に切り替わるか(不要かも?)
  162. seedupper = math.floor(seed1 / 256)
  163. seedlower = seed1 % 256
  164. seedupper = (seedupper + 16) % 256
  165. seedlower = (seedlower + 16) % 256
  166. seed1 = seedlower + (seedupper * 256)
  167. seed2 = (seed2 + 16) % 65536
  168. end
  169. resist1 = seed1
  170. resist2 = seed2
  171. carry = math.floor((seed1 * 2) / 65536)
  172. seed1 = (seed1 * 2) % 65536
  173. seed2 = ((seed2 * 2) + carry) % 65536
  174. carry = math.floor((seed1 + resist1) / 65536)
  175. seed1 = (seed1 + resist1) % 65536
  176. seed2 = (seed2 + resist2 + carry) % 65536
  177. carry = math.floor((seed1 + 0x15AD) / 65536)
  178. seed1 = (seed1 + 0x15AD) % 65536
  179. seed2 = (seed2 + carry) % 65536
  180. rand = seed2 % 256
  181.  
  182. if i > 32 then xx = 20
  183. yy = -192
  184. end
  185.  
  186. if rand < 10 then color = "green"
  187. elseif rand < 28 then color = "blue" end
  188.  
  189. gui.text(200+xx,6*(i+4)+yy, rand.." "..text,color)
  190. seedupper = math.floor(seed1 / 256)
  191. seedlower = seed1 % 256
  192. seedupper = (seedupper + 8) % 256
  193. seedlower = (seedlower + 8) % 256
  194. seed1 = seedlower + (seedupper * 256)
  195. seed2 = (seed2 + 8) % 65536
  196. end
  197.  
  198. --レジスタの値を取得し、現在の危険度(その数値未満でエンカウント)を表示する(危険度、現在の乱数、歩数の順に表示)
  199. if regA == nil then regA = 9999 end
  200. if hikaku == nil then hikaku = 9999 end
  201.  
  202. memory.registerexec(0x23E8BE, function()
  203. regA = memory.getregister("a")
  204. hikaku = memory.readbyte(0x000000)
  205. end)
  206.  
  207. hosuu = memory.readbyte(0x7E1A9B)
  208. gui.text(200,10,regA.." "..hikaku.." "..hosuu)
  209.  
  210. gui.text(10,22,memory.readbyte(0x7E0993).." "..memory.readbyte(0x7E0994).." "..memory.readbyte(0x7E0995).." "..memory.readbyte(0x7E0996).." " ..text)
  211.  
  212.  
  213. emu.frameadvance()
  214. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement