• API
• FAQ
• Tools
• Archive
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
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"
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"
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"
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")
205.         end)
206.