作者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
→ 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)
推 ne555:專業 09/24 13:59
推 yeritacoun:這真的很強大 09/24 14:20
→ yeritacoun:PC版可以改嗎? 09/24 14:26
推 emulators:居然研究到這種程度....值得欽佩 09/24 15:01
→ world9918:忘了說這是PS日版的金手指 PC版是可以改不過位置要重找 09/24 15:05
推 kululabo:專業 09/24 15:15
→ okai:cutscene的部分是指跑劇情時的場景也會跳動亂數? 09/24 16:20
→ world9918:有些時候會 沒詳細去看 09/24 16:47
→ world9918:像是大炮發射 席格那斯喊三次發射後會跳幾次 09/24 16:48
→ world9918:太空梭準備升空時,CG圖在震動的時候亂數會一直跳 09/24 16:48
→ world9918:然後序關過完那個cutscene也會 不過忘記是什麼時候 09/24 16:48
→ world9918:那時候我用快轉 09/24 16:48
推 kaosie1219:世界專業~~~世界好帥~~~ 09/24 18:20
推 iamsocool:我想問一下...集4個零件的成功率怎算的=.=?? 09/24 21:47
→ iamsocool:集滿4個不就自動發射了嗎....??orz 09/24 21:48
→ lee27827272:打完第四關後先存檔才進劇情,所以可以用存檔點調整 09/24 21:56
推 Append:這個成功率是直接看記憶體的 假設那格是個正確的亂數產生器 09/25 00:25
推 Append:那這個機率就應該可以相信... 09/25 00:26
→ Append:不過世界你上面寫的那個規則 有*3的情況就會超過64吧 09/25 00:26
→ Append:如果C會超過64 那機率就不能這樣算啦 式子這樣看怪怪的 09/25 00:27
→ iamsocool:火箭發射還得考慮zero感染率.... 09/25 00:30
→ world9918:C還要再%64 忘記這條了 反正51的值就是把成功的數平移 09/25 12:38
→ world9918:3而已 所以機率還是一樣(只是不知道式子這樣寫對不對 09/25 12:38
→ world9918:至於Z感染率我沒考慮進去 我以為沒差..下次再試 09/25 12:38
※ 編輯: world9918 來自: 114.36.226.174 (09/25 12:41)
※ 編輯: world9918 來自: 114.36.226.174 (09/25 12:44)