红色警戒2修改器原理百科(八)
(十五)科技全開2——問題終結
??? 上一篇留下的問題,進行修改后為什么沒有效果。試圖讓游戲添加所有可能的建造項,但是游戲中嘗試刷新建造項(建造新單位)后卻沒出現(xiàn)我們期望的。這是一個很簡單,卻難住我一段時間的問題。最初我以為是指令寫錯了,對比好幾遍終于確信沒有錯誤。這么解釋這個問題,游戲會在合適的時候(通常是建造了新單位后)會刷新你的建造選項,刷新包括添加和刪除。很不幸的是,游戲刷新建造項的流程是:添加當前可建造的->刪除當前不可建造的,這是我發(fā)現(xiàn)的”證據(jù)”,先發(fā)出來:
??? 所以,當我們試圖刷新建造項來驗證我們修改的成果時,剛添加上的東西,立馬被刪除了,也就看不到效果了。怎么找到刪除建造項的地方呢,當初我們找到添加建造選項的地方是不經意間帶來的驚喜?,F(xiàn)在沒有驚喜了,留給筆者的是問題!
??? 好在,筆者有新發(fā)現(xiàn)——ConstructionOptions[0].nCount,查找誰修改了它就得到指令:0068071B mov [ebp+50],edx,然而當我試圖發(fā)現(xiàn)一個刪除建造選項的CALL時,卻沒能發(fā)現(xiàn)。。。研究半天,我才意識到我們所在的位置就是刪除所有不能建造的選項的CALL內部,好比拿著手機打電話突然發(fā)現(xiàn)手機不見了——————其實你還可以通過這個nCount定位到添加建造選項的地方,那么可以有這么一條線索:找CD->快速建造+建造項結構->添加/刪除建造項->科技全開->科技加強->…
??? 既然這個CALL是刪除不滿足條件的建造項,一定有判斷跳過滿足條件的咯。往上找,驚喜地發(fā)現(xiàn)我們之前做的標簽注釋(隨手注釋總是沒錯的):
??? 結果不用說了,困擾多年的難題終于解決了。而且紅警修改大師也是修改的這個地方。(話說我是先想辦法找到了這個地方,然后尋找思路定位到附近,我承認我作弊了,我站在了別人肩膀上……原諒我也只是修改游戲的新手)
??? 我試圖NOP掉調用這個CALL的上一層的指令,結果發(fā)現(xiàn)基地都沒了,建造選項還在,不優(yōu)雅,所以還是選擇了改跳轉。
??? 有了上圖的分析,可以填上上一篇挖的坑了,ConsturctionOption和ConstructionDescriptor在沒有指針的情況下是如何聯(lián)系起來的,答案就是CALL< 00482C00=獲取建造描述對象>。
(十六)科技加強——可憐的總統(tǒng)只值$10
??? 你現(xiàn)在已經幾乎已經有足夠的資料去實現(xiàn)科技加強了,真的?,F(xiàn)在你從上篇中有了以下資料:
1.(建筑物)建造描述對象數(shù)組,你可以在附近代碼找到步兵的、戰(zhàn)車的、飛行器的;
類型編號????? 類型名?????? ContructionDecriptor數(shù)組基址
0x03????????? 飛機 ? ? ? ? ?00A3D27C
0x07????????? 建筑 ? ? ? ? ?00A35CDC
0x10????????? 步兵????????? 00A40354
0x28 ? ? ? ? ?車船 ? ? ? ? ?00A35D4C
2.建造描述對象ConstructionDescriptor的成員變量的偏移;
你缺少的是:
3.你想啟用的兵種的編號,即在數(shù)組中的索引(十進制):
0=E1;美國大兵
1=E2;蘇聯(lián)動員兵
2=SHK;磁爆步兵
3=ENGINEER;盟軍工程師
4=JUMPJET;火箭飛行兵
5=GHOST;海豹部隊
6=YURI;尤里
7=IVAN;瘋狂伊萬
8=DESO;生化步兵
9=DOG;蘇聯(lián)軍犬
...
更詳細的可以百度,或去本系列結尾下載所有相關資料。
例如:22=0x16=奶牛,那么啟用奶牛,就將地址[[00A40354]+16*4]+55C設置為1。
你現(xiàn)在除了啟用隱藏的兵種,還應該想到可以修改單位造價和售價。
?
這篇就很尷尬,再加一小節(jié)就太長,不加就太短。但是該睡覺了,所以選擇不加!
留個小彩蛋吧,第三篇中提到有的修改器通過圍墻建造超級武器,通過電廠建造復制中心,現(xiàn)在你可以做到了,試著去修改ConstructionOption.nID~
Tip:不要嘗試用電廠改超級武器,用圍墻改復制中心,用工程師改V3火箭……因為類型不一樣,也不要去修改nType,因為就算你改了類型,建造選項還是在原來選項卡下,程序還是把它當成原來的流程處理,結果就是造不出來,也取消不掉。
To be continued…
轉載請注明來源,http://www.cnblogs.com/viewll/p/4777068.html
轉載于:https://www.cnblogs.com/viewll/p/4777068.html
總結
以上是生活随笔為你收集整理的红色警戒2修改器原理百科(八)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 流控大师 panabit
- 下一篇: 网线制作IP组网(基于华为eNSP模拟器