直接修改gba_gba修改教程完全版
。由于HP的數(shù)值最高只有151,修改過高數(shù)據(jù)會(huì)溢出而造成花版現(xiàn)象,所以改為97。而其余能力可以改為FF(即十進(jìn)制的255,游戲中的最大值)。存盤后回到游戲,
初始能力修改成功,再升一級(jí)看看
。哈哈,修改大功告成。這下王子徹底無敵了。要注意的是有的游戲搜索時(shí)并非參照原始數(shù)據(jù)或是原始數(shù)據(jù)的順序,而是一些有規(guī)律的變數(shù)。比如《OG》中響介的能力不能進(jìn)行直接搜索,而是需要搜索初始能力減去等級(jí)后的數(shù)值。這一點(diǎn)大家修改時(shí)要注意。2.動(dòng)用簡(jiǎn)單的ARM指令進(jìn)行修改。這種類型多用于一些ACT?ARPG和一些射擊游戲等,游戲中人物損失HP是由匯編指令來進(jìn)行控制。這種修改需要工具為NO$GBA進(jìn)行DEBUG,VBA和EC提供金手指碼。例子:325號(hào)ROM名叫PHALANX,一款不錯(cuò)的橫版射擊游戲。主角機(jī)體有4格HP和3個(gè)炸彈。本人修改的目的在于使主角機(jī)體成為HP不減的無敵狀態(tài)還有炸彈不減。首先用VBA搜索到機(jī)體HP地址為03005CCE,炸彈為03005D12,然后打開NO$GBA,直接點(diǎn)擊窗口彈出ROM的搜索對(duì)話框,選擇并運(yùn)行ROM,點(diǎn)擊DEBUG進(jìn)入設(shè)置斷點(diǎn)
。如圖所示,輸入搜索到的金手指碼
。要注意輸入的格式必須為[XXXXXXXX]!,否則是無效地址。然后點(diǎn)擊游戲運(yùn)行窗口開始游戲。當(dāng)主角機(jī)體損失HP時(shí)游戲會(huì)自動(dòng)中斷,
如圖所示
。紅圈位置有個(gè)SUB?R0,1H字樣,這個(gè)就是減法指令,它控制主角機(jī)體的HP損失量。這里詳細(xì)講解一下SUB指令,其格式一般為SUB?R1,R2,R3或SUB?R1,R2,XH。運(yùn)算法則為R1=R2-R3或R1=R2-XH(RX數(shù)值放在游戲窗口下面的寄存器里)。一般要使R1內(nèi)的數(shù)值鎖定,可以將SUB指令改寫為R1=R2-0H,即改為SUB?R1,R2,0H,這樣就相當(dāng)于執(zhí)行了減去0的操作,從而達(dá)到使R1數(shù)值鎖定的目的。回到DEBUG窗口,在SUB左邊有用藍(lán)圈所示的數(shù)據(jù),從上向下依次為3801?73A0?0600,記錄下來。這些是用在UE中搜索要修改的地址。
。修改指令時(shí)右鍵點(diǎn)擊指令,然后如圖選擇,會(huì)出現(xiàn)一個(gè)對(duì)話框,在對(duì)話框中輸入要修改的指令SUB?R0,0H
。這是對(duì)指令進(jìn)行修改。此時(shí)注意SUB左邊4位數(shù)字變化成為3800,這表示修改后的數(shù)據(jù),以前損失的01變成了00。隨后運(yùn)行UE,打開ROM搜索修改之前的3801?73A0?0600,由于高低位對(duì)調(diào),所以實(shí)際搜索為0138?0A73?0006。找到地址后將0138改成0038(表示將每次損失的
HP改成0損失)
。存盤退出,用VBA試一下,成功啦。炸彈修改同HP一樣。
此類ROM修改比如《銀河戰(zhàn)士》兩作,《波斯王子》等均如法炮制。但要注意的是有些ROM中人物能力值的損失控制指令不止一個(gè),有的時(shí)候很可能出現(xiàn)修改不完全的現(xiàn)象。例如《銀河戰(zhàn)士》中怪物對(duì)主角的傷害和主角掉入巖漿中受傷害的指令不同,而《波斯王子》更是夸張,不僅怪物和各類陷阱對(duì)王子傷害不同,就連各種屬性的火球冰球毒等狀態(tài)對(duì)王子傷害也不一樣,時(shí)之砂的消耗也分為一般情況消耗,BOSS戰(zhàn)消耗和特定場(chǎng)合消耗(本人改完之后累得半死了)。總之多項(xiàng)指令修改時(shí)要特別注意修改完全。
2.?復(fù)雜修改型。
同樣要用上ARM指令,但是不再是用幾個(gè)簡(jiǎn)單的SUB就能輕松搞定的,經(jīng)常可以看到幾個(gè)相互關(guān)聯(lián)的怪異指令在一起,有的還要一起改掉。這種修改起來比較麻煩費(fèi)解。本人將以《分裂細(xì)胞-明日潘多拉》作為例子詳細(xì)講解一下這種修改的其中一種思路,因?yàn)樵谶@種修改中方法并不是唯一的。
首先將步槍子彈改成鎖定狀態(tài)。直接到網(wǎng)上找到EC碼,為477C2。一般以0XXXX格式存在的EC碼想要轉(zhuǎn)換成VBA老金,只要在前面加上020即可,但是遇到以4打頭格式的4XXXX類型EC碼時(shí)就要特別注意,開頭并不是加上020,而是加上030,并且將4改為0,就成了0300XXXX格式,這種才是正確的VBA格式碼。所以用030077C2設(shè)置斷點(diǎn),然后開槍,游戲中斷于此
總結(jié)
以上是生活随笔為你收集整理的直接修改gba_gba修改教程完全版的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 服务器出错的原因有哪些
- 下一篇: 王者荣耀服务器什么时候增加人数,王者荣耀