游戏之家 > 游戏库

真三国无双7 with 猛将传 DLC教程翻译 DLC什么意思

《真三国无双7 with 猛将传》DLC教程翻译,DLC什么意思。

声明:本人没有dlc文件,所以只是根据自己的理解翻译一下原文,而且不包括例子。

xx号文件你可以自行替换成xx.data

前提:

安装python2 目前对应的最新版本python2.77.百度python,第一个就是官网.不会设置环境变量最好使用安装版(Installer),windows-x86和windows-x86-64分别对应32位对应64位windows操作系统

准备:

exe与脚本(用来将服装名称写入8383号文件)在这里下载https://www.mediafire.com/?u5z3mvi4pm55ait( mediafire下载不能,要下载的自己想办法).你需要的文件是0,8383与8384,已经包含在压缩包中,把这些文件应该放在同一个文件夹下.

从0号文件文件 0x1a908开始 每个武将0x31个字节,开头0x30个字节表示一个服装槽,设置为0xff表示失效,0x00表示启用0x31用来控制获取衣服名字的字符串块(该字节在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(通常武将)可以看到他有三个字节设置为0x00 对应的字节偏移0x00,0x05,0x06.那么他有三件衣服,对应的字符串是第一组里面的8个,我们可以把0号文件里的偏移看成对应的索引

特殊:夏侯惇 人物索引为0 0号文件地址:0x1a908 可以看到他0x31被设置为0x1 上面30个字节共有6处值不等于0xff设置为0x00和0x01分别对应第一组和第二组字符串里面相同的索引位置 可以看到第二组里面无眼罩之类的字符串.

该字节在Lavos的exe中将忽略,在Lavos中读取字符串的工作被重定向到8383号文件中, 并且每个武将都有他单独的字符串,方便自定义,使用Lavos的exe,中只需要在开启服装槽的时候将对应武将的对应字节设置为0x00就可以了.

让游戏加载指定编号的服装文件:

8384号文件包含文件编号,用来读取每个服装槽的对应文件,这个文件每个武将0x66个字节,每个武将0x6个字节后每两个字节为一件服装对应的文件号,必须不低于32000,在这个文件中,这个值0x341e,你必须颠倒这个值,因为他是一个低字节序(低位字节排放在内存的低地址端,高位字节排放在内存的高地址端。)

输入的值是0x1e34,值低于这个已在游戏中使用,设置成那样会造成游戏崩溃,:游戏从这个文件中加载指定文件时会加上0x48e2,0x341e+0x48e2 = 32000,

一个例子:假设将加载的文件编号设置为32001. 1.这个值不低与32000,所以是合法的. 2.16进制表示0x7D01. 3.游戏加载时会把值增加0x48e2,所以0x7D01-0x48e2=0x341F. 4这是一个高字节序,文件中需要用低字节序表示,翻转他,最后得到0x1F34就是我们需要的值

为什么指定的文件编号必须不小于32000(可选):

本质上exe(可执行文件)来确定文件加载范围.如果查看8383号文件,你可已看到所有的编号均匀的分布.但是你对比导出的文件数,有些文件甚至不存在.

例如编号2317-7022的文件就不存在,但是你你将你要加载的文件设置成这些文件编号,exe将增加特定的间隔到你指定的文件编号,所以你不能使用这个范围内的值.exe的编码允许这样的事,这就是为什么有个不相关的值在你指定的文件编号之间,以及为什么我设置为341e会映射为 32000号文件,游戏中原始模型数共0x341d ,所已在游戏文件都加载结束时再加载.我只是编辑游戏添加这个数字的方式.

修改或添加服装字符串:

修改8383号文件,使用脚本Makestring.py http://pastebin.com/ui8CSWuN 该脚本包含在压缩包中,你必须修改该脚本,应该很简单,在函数extrac添加指定武将编号以及服装编号的字符串(前提你要看懂代码,另外python的缩进语法规则异常坑爹- -!,).ps:繁中版字符串big5编码 python脚本添加一行在文件开始:#coding:utf-8.当然你也可以先转成16进制字符串通过/x添加

warriornum:对应van修改器武将编号.cntr:对应服装 第一套衣服对应cntr值为0,以此类推.

修改完毕后后运行脚本,生成NewStrings.data.bak.在2进制编辑器中打开文件(winhex之类的) 全选并复制.打开8383.data文件 搜索字符串XL 选择从x开始的到文件尾的数据,粘贴,这会覆盖并扩展该文件.

以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 以及你要导入的模型,该文件编号应该已经在8384.data中指定, 你的模型文件命名为(文件编号).data的形式,例如指定的编号为32000,则文件名为32000.data

脚本运行方式 win+r 打开运行窗口;输入cmd并确定打开命令行窗口; 在命令行窗口中输入cd /d 此处填写游戏路径;按Enter键此时命令行窗口中的路径应该在游戏目录; 在命令行窗口中输入import.py 此处填写要导入的文件所在的文件夹名

正确运行会显示文件被导入到了哪个linkdata中(注意备份)

真三国无双7

点击进入PKVS《真三国无双7 with 猛将传》游戏论坛专区