前面说过,模型文件都是以MPQ文件形式起作用,下面我们就来认识一下MPQ。
对于改模型的人来说,打交道最深的MPQ是patch-enCN-2.MPQ或者patch-zhCN-2.MPQ,不过这两个文件除了名字不一样其他部分都是一样的,所以这里就用patch-enCN-2.MPQ做例子。
我们用MPQEditor打开WoWDataenCNpatch-enCN-2.MPQ,如果没出意外的话是这个样子:
—————————————————————————————————————————————————
简单说下patch-enCN-2.MPQ里面几个子文件夹的作用:
1.alternate
alternate文件夹就是和谐的罪魁祸首,之所以我们看到的模型产生变化都是因为这个文件夹作祟。如果把data里面所有MPQ文件里面的alternate文件夹删掉,那么效果和用反和谐登陆器登陆是一样的
2.DBCFilesClient
这是dbc文件的大本营,所有dbc文件都在于此,最广泛的dbc修改改动的部分就是这里
3.Interface
这是魔兽api函数,图标的集合地,我们只有在改图标或者写插件的时候会用到这部分,比如把箱子图标还原回去,我们需要改动这里
4.Sound
顾名思义,声音的控制在这里,所有的声音从这里调用的,一般时候不用改动这里。喜欢wow原声音乐的可以自己从这里翻,导出去就可以听了
—————————————————————————————————————————————————
我们接下来开始进入重头戏,dbc文件
dbc文件根据我个人的理解跟档案库差不多,可以想象你如果可以改动档案库你都能做什么。我们打开DBCFilesClient来详细看一下:
右边就是各个dbc文件,具体每个dbc的作用我也不是非常清楚,不过我们只要清楚比较有用的dbc文件就可以了,比较常用的有 :
Achievement.dbc成就相关
CharTitles.dbc头衔相关
CreatureDisPlayInfo.dbc生物模型
ItemDisPlayInfo.dbc武器外形
ItemVisualEffects.dbc附魔名称
ItemVisual.dbc附魔效果
Spell.dbc法术相关
SpellVisual.dbc法术效果
常用基本就是这些,其他dbc功能可以自行摸索。
—————————————————————————————————————————————————
右键点击想要导出的dbc文件,选择Extract就可以导出到指定位置:
点ok就成功的把Spell.dbc放到桌面上了,路径和MPQ内部一样,是DBCFilesClientSpell.dbc。以后我们会看到这个额外的功能很便利。
—————————————————————————————————————————————————
如果我们改动完毕dbc文件(其他文件道理是一样的)如何压成包并使之变成MPQ生效呢?以刚才导出来的这个Spell.dbc举例,假如现在我已经改动完毕了,要生成MPQ文件的步骤如下:
打开MPQMaster,可以看到这货真的和MPQEditor很像:
文件→新建,选好路径,起名,如果使用中文语音进行游戏,那么文件名起成patch-zhCN-x.MPQx从4到9都可以,不过模型读取顺序是序号大的的先读,所以一般我会选择9。需要注意的是MPQMaster默认生成的后缀是.mpq,小写的mpq现在已经不会读取了,所以一定要写文件的完整名称:
点击保存,会出现一个对话框,直接点确定:
到此就在桌面上建立了一个空的MPQ文件
这时候转回桌面,新建一个文件夹,名字无所谓,这里我们就把它起做模型。把DBCFilesClient文件夹扔进这个叫模型的文件夹中,回到MPQMaster,右键单击右侧空白:
点击添加文件夹,找到模型文件夹:
点击确定,如果所有步骤正确的话,
点击操作→重新压缩,
这样桌面上的patch-enCN-9.MPQ就可以正式使用了。这里说一下模型文件的使用:如果是patch-enCN-x.MPQ,把它放入DataenCN中;如果是patch-zhCN-x.MPQ,那么放入DatazhCN中;如果是patch-x.MPQ直接放入Data中;如果都不是,那么改为以上三种形式的一种,再按规则放到指定位置。需要注意的是x必须是大于3的数字,一般使用9为最佳。如果模型有错误,那么可能出现客户端崩溃,进不去游戏,黑屏等等问题,出现这种状况直接把模型文件删了就可以解决。
PS:所有修改最好不要开着游戏修改,可能会出很多问题,改之前先将游戏关掉对于一个新手来说很重要。
以上就是解包以及压包的过程,如果我们改动的不是dbc文件,比如Sound里面的wav文件,我们把它导出会得到一个Sound文件夹,总之导出来的文件路径和MPQ内部的路径是一致的。如果是新手那么导在哪里就在哪里修改,改动完毕在桌面什么地方建一个新的文件夹,把导出来的DBCFilesClient或者Sound文件夹等扔到这个新建的文件夹中,如果同时改了dbc和sound就把Sound和DBCFilesClient两个文件夹都扔进新建的文件夹里好了,之后按照压包的步骤完成就不会出错了。所有这些都围绕一个目的:保证路径正确,只有路径正确才能使客户端正确读取你的模型包
拆包,压包不会出错以后,就可以正式操刀了!