真三國無雙7 with 猛將傳 DLC教程翻譯 DLC什么意思
- 來源:3DM論壇—秋亦濃
- 作者:Fantasy
- 編輯:ChunTian

《真三國無雙7 with 猛將傳》DLC教程翻譯,DLC什么意思。
聲明:本人沒有dlc文件,所以只是根據(jù)自己的理解翻譯一下原文,而且不包括例子。
xx號文件你可以自行替換成xx.data
前提:
安裝python2 目前對應的最新版本python2.77.百度python,第一個就是官網(wǎng).不會設置環(huán)境變量最好使用安裝版(Installer),windows-x86和windows-x86-64分別對應32位對應64位windows操作系統(tǒng)
準備:
exe與腳本(用來將服裝名稱寫入8383號文件)在這里下載https://www.mediafire.com/?u5z3mvi4pm55ait( mediafire下載不能,要下載的自己想辦法).你需要的文件是0,8383與8384,已經(jīng)包含在壓縮包中,把這些文件應該放在同一個文件夾下.
從0號文件文件 0x1a908開始 每個武將0x31個字節(jié),開頭0x30個字節(jié)表示一個服裝槽,設置為0xff表示失效,0x00表示啟用0x31用來控制獲取衣服名字的字符串塊(該字節(jié)在Lavos的exe中將忽略,字符串的加載被重定向到8383文件中,通過腳本Makestring.py生成新的字符串并擴展到8383號文件中)
導出游戲文件的方法:
如果你沒有這些文件,這個腳本能從游戲中提取http://pastebin.com/8Uu0LfX1,首先備份linkdata,添加后綴.bak.例如 LINKDATA0.BIN 那么備份的文件就是LINKDATA0.BIN.bak,5文件都要,然后將腳本放在游戲文件夾下運行.成功的話你會看到Extracted文件夾,里面是游戲中提取出的文件data文件(將近10g)

服裝名加載原理(可選):
如果你有興趣了解游戲中字符串的加載,查看文件1(下面只說對應中文文件),三國無雙6(注意編碼是big5 繁體) 開始地址0x37eeb,你可以看到所有的服裝名稱,共分為4組,每組8個字符串.從左往右,從上到下,我們把他們的索引標為0-7.
普通的例子:曹操 人物索引為1(具體可以通過van的修改器查看) 0號文件地址: 0x1a908+0x31*1 = 0x1A939, 0x31為0x00(通常武將)可以看到他有三個字節(jié)設置為0x00 對應的字節(jié)偏移0x00,0x05,0x06.那么他有三件衣服,對應的字符串是第一組里面的8個,我們可以把0號文件里的偏移看成對應的索引
特殊:夏侯惇 人物索引為0 0號文件地址:0x1a908 可以看到他0x31被設置為0x1 上面30個字節(jié)共有6處值不等于0xff設置為0x00和0x01分別對應第一組和第二組字符串里面相同的索引位置 可以看到第二組里面無眼罩之類的字符串.
該字節(jié)在Lavos的exe中將忽略,在Lavos中讀取字符串的工作被重定向到8383號文件中, 并且每個武將都有他單獨的字符串,方便自定義,使用Lavos的exe,中只需要在開啟服裝槽的時候將對應武將的對應字節(jié)設置為0x00就可以了.
讓游戲加載指定編號的服裝文件:
8384號文件包含文件編號,用來讀取每個服裝槽的對應文件,這個文件每個武將0x66個字節(jié),每個武將0x6個字節(jié)后每兩個字節(jié)為一件服裝對應的文件號,必須不低于32000,在這個文件中,這個值0x341e,你必須顛倒這個值,因為他是一個低字節(jié)序(低位字節(jié)排放在內(nèi)存的低地址端,高位字節(jié)排放在內(nèi)存的高地址端。)
輸入的值是0x1e34,值低于這個已在游戲中使用,設置成那樣會造成游戲崩潰,:游戲從這個文件中加載指定文件時會加上0x48e2,0x341e+0x48e2 = 32000,
一個例子:假設將加載的文件編號設置為32001. 1.這個值不低與32000,所以是合法的. 2.16進制表示0x7D01. 3.游戲加載時會把值增加0x48e2,所以0x7D01-0x48e2=0x341F. 4這是一個高字節(jié)序,文件中需要用低字節(jié)序表示,翻轉他,最后得到0x1F34就是我們需要的值
為什么指定的文件編號必須不小于32000(可選):
本質(zhì)上exe(可執(zhí)行文件)來確定文件加載范圍.如果查看8383號文件,你可已看到所有的編號均勻的分布.但是你對比導出的文件數(shù),有些文件甚至不存在.
例如編號2317-7022的文件就不存在,但是你你將你要加載的文件設置成這些文件編號,exe將增加特定的間隔到你指定的文件編號,所以你不能使用這個范圍內(nèi)的值.exe的編碼允許這樣的事,這就是為什么有個不相關的值在你指定的文件編號之間,以及為什么我設置為341e會映射為 32000號文件,游戲中原始模型數(shù)共0x341d ,所已在游戲文件都加載結束時再加載.我只是編輯游戲添加這個數(shù)字的方式.
修改或添加服裝字符串:
修改8383號文件,使用腳本Makestring.py http://pastebin.com/ui8CSWuN 該腳本包含在壓縮包中,你必須修改該腳本,應該很簡單,在函數(shù)extrac添加指定武將編號以及服裝編號的字符串(前提你要看懂代碼,另外python的縮進語法規(guī)則異??拥? -!,).ps:繁中版字符串big5編碼 python腳本添加一行在文件開始:#coding:utf-8.當然你也可以先轉成16進制字符串通過/x添加
warriornum:對應van修改器武將編號.cntr:對應服裝 第一套衣服對應cntr值為0,以此類推.
修改完畢后后運行腳本,生成NewStrings.data.bak.在2進制編輯器中打開文件(winhex之類的) 全選并復制.打開8383.data文件 搜索字符串XL 選擇從x開始的到文件尾的數(shù)據(jù),粘貼,這會覆蓋并擴展該文件.
以UE為例 打開NewStrings.data.bak; 打開8383.data; 選擇NewString.data.bak選項卡; ctrl+A(全選)ctrl+c(復制); 選擇8383.data選項卡,ctrl+f(搜索),彈出的對話框填入XL,勾選查找ASCII,點擊查找下一個,從X所對應的16進制地址開始按住左鍵,滑鼠向下直到文件尾,此時應該這段都被選擇到了,ctrl+v復制.
導入游戲:
最后import.py http://pastebin.com/dv1Jutgk用來導入文件,將腳本放在游戲目錄下, 游戲目錄下新建一個文件夾,放入要導入的文件,至少應該有0.data, 8383.data,8384.data 以及你要導入的模型,該文件編號應該已經(jīng)在8384.data中指定, 你的模型文件命名為(文件編號).data的形式,例如指定的編號為32000,則文件名為32000.data
腳本運行方式 win+r 打開運行窗口;輸入cmd并確定打開命令行窗口; 在命令行窗口中輸入cd /d 此處填寫游戲路徑;按Enter鍵此時命令行窗口中的路徑應該在游戲目錄; 在命令行窗口中輸入import.py 此處填寫要導入的文件所在的文件夾名
正確運行會顯示文件被導入到了哪個linkdata中(注意備份)
真三國無雙7
點擊進入3DMGAME《真三國無雙7 with 猛將傳》游戲論壇專區(qū)

玩家點評 (0人參與,0條評論)
熱門評論
全部評論