SHARE
TWEET

dq5encounter

a guest Jan 18th, 2012 63 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top