作者world9918 (World)
看板Rockman
标题[分享] X5殖民地破坏成功率研究+金手指
时间Sat Sep 24 13:30:26 2011
网志...有表格而已XD
http://fuunkao-sekai.blogspot.com/2011/09/x5-eurasia-desctruction-research.html
一切都要感谢TAS
我昨天发现这个讨论串在研究X5 怎样才能在开场就发射大炮破坏殖民地破坏成功
http://tasvideos.org/forum/viewtopic.php?t=7216
最後该讨论串找出全游戏的乱数值所在位址为093F70,093F71,
我转成日版的位址为095450, 095451
此乱数值决定殖民地破坏是否成功
观察这数值後发现,就跟该讨论串所说的一样,此乱数值只有在关卡中,
还有Cutscene部份情况会跳动,在选关画面下乱数值是不会动的,
这就是为什麽在发射前即存,无论读档几次结果都不会变
所以,如果想要改变殖民地破坏是否成功,请先进关卡洗一下乱数
(教学关或自动DEMO也会洗乱数) 然後再读取游戏纪录重来
不过在实机状态下一定要进关卡才能跳出游戏重来所以不用即存的话每次发射结果
都有可能不一样的
另外该讨论串也列出了判定破坏成功与否的公式,不过我实测发现有点小错误
自己测试後推测规则如下(写得有点难懂 也可能是错的 看看就好了)
======================================
另A=095450的值%64
(095450的值是一个8bit无号数(范围0~255), overflow或underflow问题省略 所以255+1=0,0-1=255)
(%64的意思是取除以64後剩下的余数,所以A的值域为0~63)
另C = (A+(095451的值%64)*3)%64
B为一特定值(底下会说明)
判断公式:如果C < B则破坏成功,否则失败
======================================
上述式子不知道数学式表达正不正确,总之是取095450的值%64後看是否小於特定值
(例如是否<4)决定是否成功,而095451的值会把成功的值往左平移3
例如095451=00时,095450成功的值为0,1,2,3
095451=01时 成095450功的值变成61,62,63,0
(这边已经把095450的值%64了)
B的值会根据你拥有多少大炮或太空梭的强化零件改变
举例来说,大炮无强化零件时B=4,这代表殖民地破坏成功率为4/64
前面公式看不懂没关系,只要记得成功率是B/64就行了
而B的值经测试後整理如下表
大炮エニグマ
强化零件数 B的值 成功率 成功率(百分比)
0 4 4/64 6.25%
1 8 8/64 12.5%
2 8 8/64 12.5%
3 8 8/64 12.5%
4 8 8/64 12.5%
太空梭シャトル
强化零件数 B的值 成功率 成功率(百分比)
0 8 8/64 12.5%
1 24 24/64 37.5%
2 24 24/64 37.5%
3 48 48/64 75%
4 48 48/64 75%
由此表可看出,大炮只需收集一个零件就好了,而且成功率也只和太空梭空装相同而已
所以期待大炮完全不实际,而太空梭集满三个零件就达到最大成功率了,
但成功率也只有75%而已,其实比想像中的低(不过这个机率多读档几次一定能成功的)
最後,如果你觉得上面这些东西都太烦了看不懂
那没关系,就直接用金手指锁吧
但要注意,由於游戏中还有其他地方也共用这乱数
请在发射前锁住一次後马上解锁,以免游戏因乱数不会动出现异常
殖民地破坏必定成功
80095450 8B61
殖民地破坏必定失败
80095450 1247
延伸应用
在太空梭破坏成功率达最大(75%)的情况下存档,重开机後马上读档
(不要让它跑DEMO, 不要开新游戏or玩训练关),读档後马上发射太空梭则一定会破坏成功
因为不进关卡乱数值不会动,又刚开机时乱数值是固定的
所以这次读档的乱数值也固定,这个值刚好能破坏成功
而如果开机後给游戏跑3次完整的DEMO後再读档发射的话则一定会失败(笑)
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.36.233.42
1F:→ world9918:BBSFox不知道怎麽上色 囧> 09/24 13:31
※ 编辑: world9918 来自: 114.36.233.42 (09/24 13:35)
※ 编辑: world9918 来自: 114.36.233.42 (09/24 13:43)
※ 编辑: world9918 来自: 114.36.233.42 (09/24 13:44)
※ 编辑: world9918 来自: 114.36.233.42 (09/24 13:45)
2F:推 ne555:专业 09/24 13:59
3F:推 yeritacoun:这真的很强大 09/24 14:20
4F:→ yeritacoun:PC版可以改吗? 09/24 14:26
5F:推 emulators:居然研究到这种程度....值得钦佩 09/24 15:01
6F:→ world9918:忘了说这是PS日版的金手指 PC版是可以改不过位置要重找 09/24 15:05
7F:推 kululabo:专业 09/24 15:15
8F:→ okai:cutscene的部分是指跑剧情时的场景也会跳动乱数? 09/24 16:20
9F:→ world9918:有些时候会 没详细去看 09/24 16:47
10F:→ world9918:像是大炮发射 席格那斯喊三次发射後会跳几次 09/24 16:48
11F:→ world9918:太空梭准备升空时,CG图在震动的时候乱数会一直跳 09/24 16:48
12F:→ world9918:然後序关过完那个cutscene也会 不过忘记是什麽时候 09/24 16:48
13F:→ world9918:那时候我用快转 09/24 16:48
14F:推 kaosie1219:世界专业~~~世界好帅~~~ 09/24 18:20
15F:推 iamsocool:我想问一下...集4个零件的成功率怎算的=.=?? 09/24 21:47
16F:→ iamsocool:集满4个不就自动发射了吗....??orz 09/24 21:48
17F:→ lee27827272:打完第四关後先存档才进剧情,所以可以用存档点调整 09/24 21:56
18F:推 Append:这个成功率是直接看记忆体的 假设那格是个正确的乱数产生器 09/25 00:25
19F:推 Append:那这个机率就应该可以相信... 09/25 00:26
20F:→ Append:不过世界你上面写的那个规则 有*3的情况就会超过64吧 09/25 00:26
21F:→ Append:如果C会超过64 那机率就不能这样算啦 式子这样看怪怪的 09/25 00:27
22F:→ iamsocool:火箭发射还得考虑zero感染率.... 09/25 00:30
23F:→ world9918:C还要再%64 忘记这条了 反正51的值就是把成功的数平移 09/25 12:38
24F:→ world9918:3而已 所以机率还是一样(只是不知道式子这样写对不对 09/25 12:38
25F:→ world9918:至於Z感染率我没考虑进去 我以为没差..下次再试 09/25 12:38
※ 编辑: world9918 来自: 114.36.226.174 (09/25 12:41)
※ 编辑: world9918 来自: 114.36.226.174 (09/25 12:44)