暗黑破坏神吧 关注:690,498贴子:20,847,879
  • 5回复贴,共1

MOD教程:暗黑2(非重制版)目录结构解析

只看楼主收藏回复

暗黑2目录结构
本教程将解释暗黑2的游戏目录结构与mpq档相关知识,这是模组制作最基础的东西没有之一,了解它们可以让作者少踩很多坑。由于本系列教程为软改指导,不会涉及任何硬代码相关内容~
根目录
一般来说就是游戏安装目录,但一些第三方启动器,如PlugY,可以将自己所在目录作为当前模组的独立根目录,还有一些模组管理器,如D2SE,可以直接调用当前模组的根目录,因此本教程中根目录专指模组的根目录。
根目录中可以放置本游戏的运行库,外挂程式运行库,启动器等,也可以放置mpq包供你的模组直接调用,其中游戏原有的mpq修改后是可以被多数启动器或管理器直接读取,无须额外参数的,但多数外挂mpq包都需要更多设置才行。
在某些情况下,您可以把模组根目录直接压进mpq包里并使其中的各种运行库(包括修改后的本游戏运行库和外挂程式运行库)可以被正常调用,很多模组作者都选择这样做以降低安装难度,但这也同时降低了用户自由度,请自行选择您的设计风格。由于此操作涉及硬改,我不会继续班门弄斧,请转去求教硬改作者们~
Data目录
对于软改来说,这才是真正的「根目录」,它就是游戏的数据库,游戏调用的各种数据都在此处保存。暴雪将其中的内容分别压进几个不同的mpq包,原因不外乎是当初光碟容量不足,但这给现在的模组作者带来了不少困惑。关于这些mpq包的内容讲解有很多,本教程不会讲没有实际用处的东西,作为模组作者,您只需将它们通通解包出来就可以看到暗黑2数据目录的全貌了。
唯一需要在意的就是「d2sfx.mpq」,它包含的内容是非资料片的音效,多数mpq工具不能成功打开它,目前已知能够成功解包它的工具之一是「Ladik's MPQEditor」。
另外一个就是「patch_d2.mpq」,它是暴雪的更新补丁数据包,在官方mpq中有最高的优先级且被游戏自动调用,因此绝大多数作者会选择把模组塞进它里面,包括我自己。
Data目录下有一个证明已安装过「毁灭之王」资料片的耍宝档案,可以无视~
Data/Global目录
此目录是数据库的通用分支,也就是不分语种的那些,最关键的资料都在这里。
Data/Globa目录下有很多档案,其中最有用的是Animdata.d2,它的用处是设定玩家人物、怪物和地图物件的动画速度与实际调用帧数,无论你想改变人物档位还是添加新怪物都离不开它。其他档案对于单机模组作者来说几乎毫无用处,我也是单机模组作者,因此不再班门弄斧了,去请教战网作者们吧~
Data/Globa/Chars目录
此目录是各职业人物的动画档案。
Data\Global\Excel目录
此目录是软改的核心内容:txt表格的保存之处,对它们的讲解浩如烟海,但中文资料已经严重老旧、过时~
Data\Global\Items目录
此目录是各种物品的物品栏图示和掉落动画的保存之处。
Data\Global\Items\Palette目录
此目录是各种物品的物品栏图示和掉落动画的色板,用于染色。
Data\Global\Missiles目录
此目录是游戏中飞弹动画的保存之处,非常关键,直接处于其中的动画都是非资料片的内容
Data\Global\Missiles\Expansion目录
此目录是「毁灭之王」资料片新增飞弹动画的保存之处
Data\Global\Missiles\Extra目录
此目录是暴雪废案飞弹动画的保存之处,善加利用可以极大的减少您对素材的需求~
Data\Global\Monsters目录
此目录是怪物的动画档案,其中GreenBlood.dat是河蟹版黑血的色板,但未被任何官方发行版,包括奥美真正调用;RandTransforms.dat则是蓝怪和金怪染色的色板。
Data\Global\Music目录
此目录是游戏背景音乐存放之处,须注意,若您想要替换其中某一段且准备将其压进mpq包,压包过程不能有任何压缩,否则会在播放时闪退~上古工具Winmpq可以满足此需求,但此处不提供下载和详细说明~
Data\Global\Objects目录
此目录是地图物件的动画档案,包括箱子、神殿之类的
Data\Global\Overlays目录
此目录是游戏中各类特效动画的保存之处,直接处于其中的动画都是非资料片的内容
Data\Global\Overlays\Expansion目录
此目录是「毁灭之王」资料片新增特效动画的保存之处
Data\Global\Overlays\Extra目录
此目录是暴雪废案特效动画的保存之处,善加利用可以极大的减少您对素材的需求~
Data\Global\Palette目录
此目录是游戏用到的色板,用于各个不同显示环境,您若想添加新的图片或动画素材,必须选择正确的色板,否则进游戏花给你看~
Data\Global\sfx目录
此目录是游戏中用到的各种音效,须注意,若您想要替换其中某一段且准备将其压进mpq包,压包过程不能有任何压缩,否则会在播放时闪退~上古工具Winmpq可以满足此需求,但此处不提供下载和详细说明~
Data\Global\Tiles目录
此目录是地图相关档案存放处,其中「Arena」和「Guild」分别是废案的竞技场和公会,善加利用可以大幅降低素材需求~
Data\Global\Ui目录
此目录是欧洲语言版本的用户介面档案,其中值得一提的子目录如下:
Hireables:队伍头像,包括玩家、佣兵、召唤物;
Spells:技能图示和技能树背景图。
其他子目录擅长UI修改的作者应该比我懂,不再班门弄斧了~
Data\Global\Uncompoverlays目录
一些其他特效动画,如雨滴,水泡之类,但实际使用的是否是他们未知,可能都是废案。
Data/Local目录
此目录是数据库的本地分支,也就是区分语种的那些,所有和显示文字有关的修改几乎都需要动用到本地库的内容。直接在此目录下的两个档案其一为color.txt,是否开启黑血河蟹的开关,点进去把0改为1就能享受黑血了~另一个是use,这是个16进制档案,用来指定游戏调用哪个语言版本,您可以用任何一个hex编辑器修改它:
00英文
01西班牙文
02德文
03法文
04葡萄牙文
05义大利文
06日文
07韩文
08简体中文(未实际发行)
09繁体中文(奥美实际用的也是这个)
0A波兰文
0B俄文(未实际发行)
Data/Local/Cmd目录
各语言版本的一些不明内容,但无实际用途,没有他们也不影响添加语言
各语言子目录:
ENG英文
ESP西班牙文
DEU德文
FRA法文
POR葡萄牙文
ITA义大利文
JPN日文
KOR韩文
SIN简体中文(未实际发行)
CHI繁体中文(奥美实际用的也是这个)
POL波兰文
RUS俄文(未实际发行)
Data/Local/Doc目录
各语言版本的文字文件存档,无实际用途
各语言子目录:
ENG英文
ESP西班牙文
DEU德文
FRA法文
POR葡萄牙文
ITA义大利文
JPN日文
KOR韩文
SIN简体中文(未实际发行)
CHI繁体中文(奥美实际用的也是这个)
POL波兰文
RUS俄文(未实际发行)
Data/Local/Font目录
字库存放处,用于显示介面文字,俗称字体,但本质上它们是老旧的点阵图字库。请注意,字库和语言并非一一对应,「Latin」对应所有使用拉丁字母的欧洲语言,「CHI」同时对应简繁中文,「KOR」对应韩文,「JPN」对应日文,「CYR」对应俄文。另须注意,「Latin」库仅使用ASCII字元,因此您无法通过把中文字库改名成Latin直接用于英文版,会闪退或乱码。
Data/Local/Lng目录
各语言文字索引表存放处,所有和文字显示有关的模组或增强补钉都离不开对它的修改。
各语言子目录:
ENG英文
ESP西班牙文
DEU德文
FRA法文
POR葡萄牙文
ITA义大利文
JPN日文
KOR韩文
SIN简体中文(未实际发行)
CHI繁体中文(奥美实际用的也是这个)
POL波兰文
RUS俄文(未实际发行)
每个语言的子目录中都包含三个tbl档案,它们是当前语言的文字索引表,修改它们将改变游戏中文字显示的内容。须注意,它们本质上是同一个表按照每一万条为界分成了三份,因此硬条目编号限制了他们的实际容量,如果出现硬条目编号重复,将导致文字显示混乱~
String.tbl:非资料片的文字表,读取优先级最低,硬条目编号0-9999
Patchstring.tbl:更新补丁的文字表,读取优先级最高,硬条目编号10000-19999
Expansionstring.tbl:资料片的文字表,读取优先级居中,硬条目编号20000起至未知上限,肯定大于29999就是了~
可以看出,这个分段式表格是非常坑的。
本目录中的其他档案基本可以肯定都是无效的冗余档案,可以无视。
Data/Local/Macui目录
苹果系统用户介面档案,我没有苹果版D2,对此目录无话可说~
Data/Local/Sfx目录
不同语言版本的音效档案,包括NPC语音,Boss嘲讽音效等,然而和其他位于local目录的档案不同,它们并没有被按照语言设置独立的子目录,因此您无法让您的模组轻易做到在语音功能上多语言共存~须注意,若您想要添加此类语音,则必须去global/sfx那里添加,此目录只能替换旧的,新增的不会被找到~另须注意,若您想要替换其中某一段且准备将其压进mpq包,压包过程不能有任何压缩,否则会在播放时闪退~上古工具Winmpq可以满足此需求,但此处不提供下载和详细说明~
Data/Local/Ui目录
各语言版本专属的用户介面档案存放处,本目录中直接存放的档案为亚洲语言版本的某些用户介面图像,确切来说我不知道暴雪为什么要这样做,这些介面图像实际上并没有任何区别。
各语言子目录中则是以游戏选单和进地图提示「踏入XX」等文字为主的内容:
ENG英文
ESP西班牙文
DEU德文
FRA法文
POR葡萄牙文
ITA义大利文
JPN日文
KOR韩文
SIN简体中文(未实际发行)
CHI繁体中文(奥美实际用的也是这个)
POL波兰文
RUS俄文(未实际发行)
Data/Local/Video目录
游戏动画存放处,本目录中的两个分别为暴雪和北暴雪Logo,各语言子目录中的则是对应语言版本的过场动画:
ENG英文
ESP西班牙文
DEU德文
FRA法文
POR葡萄牙文
ITA义大利文
JPN日文
KOR韩文
SIN简体中文(未实际发行)
CHI繁体中文(奥美实际用的也是这个)
POL波兰文
RUS俄文(未实际发行)
须注意,暴雪和北暴雪Logo以及英文版的动画既可以放在mpq包外面用-direct调用,亦可无压缩放入任意mpq包里,但其他语言版本的动画必须根据资料片与否分别无压缩放入d2video.mpq和d2xvideo.mpq中,否则无法被游戏找到。


IP属地:辽宁1楼2026-02-03 15:43回复
    这个厉害,确实很多目录都不是很清楚用途


    IP属地:中国香港2楼2026-02-03 17:23
    回复
      2026-02-11 14:56:31
      广告
      不感兴趣
      开通SVIP免广告
      牛逼


      IP属地:河南来自Android客户端3楼2026-02-04 10:32
      回复
        大神敞亮


        IP属地:安徽来自Android客户端4楼2026-02-04 12:05
        回复
          赶上热乎的了


          IP属地:新疆5楼2026-02-04 17:22
          回复
            LZNB


            IP属地:云南来自Android客户端6楼2026-02-05 01:44
            回复