MEDIA文件夹内的文件大致有这些类型: DAT,LAYOUT,RAW,MESH,HIE,TEMPLATE,ANIMATION,SKELETON等.
除了以上这些类型外,还有图片文件PNG和DDS,字体文件TTF和FONT,这两类就不多做介绍了.
注意:所有文件名和后缀名都必须是大写,否则游戏无法识别!!!
1.DAT文件
DAT文件是当前可以MOD最主要的部分,也是最容易修改的部分,多数MOD教程都有对特点DAT文件的修改介绍,所以这里就只介绍一些基础性的知识.
DAT文件首先需要使用dat2txt转换成txt文件才能进行修改.新建txt文件也可以,但是要保证编码格式为UTF-16,如果你没有这个能力,还是修改转换过来的txt文件来得简单.dat2txt软件建议使用py版本的,因为可以看到源代码,并且有tl2_dat_strings.txt文件(exe版本不确定是否有),会很有优势.
DAT文件的结构是一个嵌套型的结构,使用[XXX]...[/XXX]的结构来进行嵌套,其中XXX为相应嵌套关键字,省略号里的内容为此关键字下定义的数据.具体什么时候需要进行嵌套,请自行参考相似文件.
一个DAT文件的嵌套结构可能是:
[A]
...
[B]
...
[/B]
...
[C]
...
[/C]
...
[/A]
这样的多层结构,甚至更加复杂,所以在修改这样的文件时,很可能因为嵌套对应错误而发生无法转换的情况(技能修改常出现这个问题).
当你嵌套结构有误时,其报错方式是停留在dos窗口,并显示类似如下的报错情况:
因此,只要你看见line XXX的错误,你直接到对应行找嵌套错误就可以了.
对于DAT文件内的一行数据,比如:
STRENGTH_REQUIRED:30
其中<>中的内容是数据类型,包括:
INTEGER:整型,也就是整数,一般来说应该是32位的,范围为-2,147,483,648 到2,147,483,647.但是部分GUID的类型也是INTEGER,其实际为64位整型,也就是INTER64
INTEGER64:64位整型,范围为-9,223,372,036,854,775,808 到9,223,372,036,854,775,807.所以写GUID时千万别超过这个范围.
FLOAT:浮点数,也就是小数.
STRING:字符串型,也就是一组字符,比如一个路径,一个名字等等.
BOOL:布尔型,只有两个值,true代表真,false代表假.
TRANSLATE:翻译型,也就是显示在游戏中的文字,如果是中文版的游戏,这一项可以为中文.此外这一项还可以使用一些特定的关键字来调用游戏内部参数,也可以用十六进制的颜色表示来设定显示颜色.
<>和:之间的部分(例子中STRENGTH_REQUIRED)是关键字:
所谓关键字,就是定义这一项属性是什么,比如STRENGTH_REQUIRED就是这件装备的力量要求.
一般关键字的选择只能从同类文件中寻找,因为你所写的关键字只要和系统内设定的有一点点不一致,就无法生效,并且有可能导致无法转换回DAT文件.
但是有些时候盲目地找关键字会很麻烦,所以这里有一个小技巧:在tl2_dat_strings.txt中找,这个文件在py版的dat2txt中有.
tl2_dat_strings.txt中列出了所有已经解析出来的,可以转换的可能关键字,如果某个关键字不在这个列表里,其在最后的txt文件中一定是以hash码的形式存放的,比如0x9b4df640.
:后的部分是该属性的具体值:
必须要满足该值与数据类型的一致性才能进行转换.