首先,DOSBOX的數(shù)據(jù)不是靜態(tài)地址
我們從最簡(jiǎn)單的人物兵力開始入手
我用FPE找了一下人物兵力(為什么用FPE...個(gè)人喜好...因?yàn)镕PE的編輯框看著舒服)
下載CheatMaker中文版:http://m.elephantinaurance.com/soft/3209.html
當(dāng)然這個(gè)兵力地址下次啟動(dòng)游戲的時(shí)候說不定就變了,所以下一步要找基地址
啟用CE調(diào)試劉備的兵力地址
找到基地址后驗(yàn)證一下
現(xiàn)在啟用CheatMaker,因?yàn)镃M1.62版本并沒有添加對(duì)dosbox0.74的支持,所以添加一個(gè)程序支持
把剛才搜索到的基地址添加進(jìn)去,另外如果這里是2級(jí)指針,則在基地址后邊加上“,地址”,并把附加數(shù)據(jù)填上“1”
添加完畢后選擇對(duì)應(yīng)的進(jìn)程,啟動(dòng)內(nèi)存編輯,看一下剛才的地址偏移,現(xiàn)在可以確認(rèn)程序支持沒有問題了
然后啟用CM的“運(yùn)行設(shè)計(jì)器”,添加一個(gè)lable控件和一個(gè)TextBox控件,并對(duì)TextBox控件做如圖紅色框的編輯
再添加一個(gè)ListBox控件,點(diǎn)擊“數(shù)據(jù)列表”,然后寫上個(gè)列表,為什么圖上這么寫,因?yàn)楦鶕?jù)圖一中的那些文字說明
這里每行之間是寫上一個(gè)相對(duì)第一行的偏移地址,第一行則認(rèn)為是0
其實(shí)ListBox附加數(shù)據(jù)可以簡(jiǎn)化這個(gè)流程,附加數(shù)據(jù)寫上“1(2C)“,則認(rèn)為每行的間隔地址為2C,不需要去計(jì)算了
只需要寫上
1-劉備
2-關(guān)羽
3-張飛
這樣的東西
但是這么添加不好對(duì)列表排序,所以暫時(shí)還是按圖片中的添加方法來
添加完保存下,然后運(yùn)行一下修改器
可以看到如圖的效果,然后再多添加一些地址進(jìn)去吧,別忘了添加一個(gè)按鈕
按鈕有幾個(gè)功能,讀取數(shù)據(jù)、保存數(shù)據(jù)是兩個(gè)最基本的功能
創(chuàng)建窗體也是個(gè)實(shí)用功能,本次不講這個(gè)
我最后設(shè)計(jì)完畢的效果如下圖所示,最后會(huì)提供這個(gè)CMF源文件,大家可以隨意打開看下
最后是生成EXE的獨(dú)立修改器,如下圖所示,選好對(duì)應(yīng)的支持程序后,對(duì)應(yīng)的類名和標(biāo)識(shí)也會(huì)自動(dòng)填上(因?yàn)槌绦蛑耙呀?jīng)添加到了支持程序列表里)
這里的插件,如果獨(dú)立修改器有用到插件的話,則CM目錄里的Plugins文件夾的對(duì)應(yīng)插件需要和獨(dú)立的EXE保留在同同一目錄下(具體清參考我做的太閣4修改器,里面用到了一個(gè)插件),插件是可自行開發(fā)的,會(huì)編程的朋友可以任意添加新插件到CM里
因?yàn)檫@里沒用到特殊插件,故可直接生成即可
最后是該修改器的源文件隨意參考下