图十六(A) - 修改后的Manald heal(109)
图十六(B) - 修改后的Manald heal(110)
“UniqueItems.txt”中为每个Unique物品设置了10项属性。每项属性都由4个字段来描述,而且,它们修改的方式一样。下面列举了其他两项属性。当你修改好存盘时,一定要将文件保存为“文本文件(制表符分隔)(*.txt)”,否则它将不会起作用。
图十七 –所有抗性增加50点最高抗性
图十八 – 增加1~3所有技能
编辑字串表格
我们已经修改了“Manald heal”的属性,但是它的名字还是“Manald Heal”。现在我们要做的就是修改字串表格中它的名字。在做这个工作之前,我们先来了解一下什么是字串表格以及它的作用。
基本所有在游戏中显示的文字都存放在.tbl文件中。tbl文件的内容包括:物品的名字以及属性,怪物,NPC的名字,BN的登陆消息以及错误报告,还有和NPC的对话等等。每种语言都有3个tbl文件,“String.tbl”在“d2data.mpq”中;“ExpansionString.tbl”在“d2exp.mpq”中;在 “patch_D2.mpq” 中的“PatchString.tbl”存放着在最近补丁中所修改的字串。
所有的字串表格分为2部分,左边是字串关键字,右边是在游戏中显示的描述文字。为了让一个物品的名字显示正确,字串关键字必须和数据库中的关键字一致。本例中“Manald heal”在文件中的显示文字都一样,而且在数据库中的名字也很容易找到。但是物品Hand AXE在tbl文件中的关键字显示为“hax”,而它的描述文字为“Hand Axe”。 有时候关键字在不同的文件中被定义,在这种情况下,“ExpansionString.tbl”中的定义会覆盖“String.tbl”;而“PatchString.tbl”中的定义会覆盖上面所说的2个文件。你
也许会想只需要在“PatchString.tbl”中修改就可以不管其他两个文件。但事实上不行。原因有二。1、每次Blizzard发布新的补丁,都会有一个新的“PatchString.tbl”,而如果你在这个文件里定义了很多关键字,要将它们转移到新版本中是很难的。2、用Darkstorm的表格编辑器编辑“PatchString.tbl”时很不稳定,虽然这个编辑器非常易用)。因此,许多MOD都会将“String.tbl“从“d2data.mpq”中提取出来,并且在修改后打包入“Patch_D2.mpq”,因为个人定义的关键字一般不会和官方冲突,也就不需要每次官方发布新版本之后作重复的定义工作。“String.tbl”不管在什么情况下都不会被修改,所以,在一定意义上来说是最稳定的。如果你要修改的记录存在于着几个tbl文件中,那么你必须修改所有文件中的记录。如果你只修改“String.tbl”,那么在游戏里将看不到修改后的结果。
理论到此为止,接下来我们要将“Manald Heal”修改为“The Eye of Mordini”。“Manald Heal”在“String.tbl”中被定义,所以我们不管是在“String.tbl”修改还是在“PatchString.tbl”中添加新纪录都可以。我们将来学习如何用这两种方法来实现,即便我们只需要提取“PatchString.tbl”文件。
运行Darkstorm Table Editor(默认文件名为“tbled102.exe”),你会看到下面的开始界面。
图十九 - Darkstorm Table Editor
打开“PatchString.tbl”并且移动到最后一行,你会发现右边窗口仅在你选定左边窗口中的关键字后才显示文字。有些关键字只有“x”或者“X”,这些关键字的内容和其它数据库的内容(txt文件)完全没有联系,它们是从可执行文件中引用的特殊字串。你会看到一些关键字的内容是“All Resistances +%d”,这些是在游戏中文字中带有变量时填入并显示的。
图二十 - 已读取PatchString.tbl
因为我们要添加一个新的主键,所以点击“+”,出现主键添加对话框,输入名字并确定之后,你所输入的关键字会在左边窗口的底部出现并选定,同时光标会出现在右边窗口。你只有一次机会来输入新的关键字,你必须将“Manald Heal”的关键字与“UniqueItems.txt”中的纪录一致。幸运的是,“Manald Heal”的记录和它的关键字是一致的,所以我们只需要在这里输入主键“Manald Heal”,然后在右边输入“The Eye of Mordini”。结果如下图。我们所输入的主键内容是否与游戏中的一致无关紧要。但是如果你输入主键时出现了错误并且想修改,那么只能将这个主键完全删除然后重新创建;右边的内容可以随便修改。注意:绝对不要删除任何现有的主键,如果你不想用它们,最好是仅仅删除主键所对应的内容!
图二十一 - 添加新主键和内容
现在保存.tbl文件。
如果你想修改“String.tbl”而不是“PatchString.tbl”,那么做法是一样的,不过不是添加主键而是Search(寻找)“Manald Heal”这一主键并且将右边窗口的内容修改为“The
Eye of Mordini”。Search寻找这一功能仅适用于查找主键。
图二十二 - 搜索主键
和前几次一样,将修改的“UniqueItems.txt”放到你工作目录的“data\global\excel”,而本例中修改后的“PatchString.tbl”则要存放在“data\local\lng\eng”中。注意:lng目录下要按照你所解开tbl所在的文件存放位置而定,比如ENG是英文版,DEU是德语。 如果你想让强制使修改后的tbl文件成为英语版而能在任何版本都可以使用,你需要用记事本创建一个特殊的文件:Use,没有扩展名,仅仅是Use,而它的内容仅仅是一个空格。然后将它放在“Data\Local”目录,并且将它打包入MPQ文件,然后你会发现,不管你原来的tbl文件存放在哪个目录,它总会出现在“Data\Local\Lng\Eng”目录。 用“-direct -txt”方式创建新的bin文件,然后将它复制到你的工作目录,然后用MPQ2K打包。批处理文件的内容如下:
O patch_D2.mpq
a uniqueitems.txt data\global\excel%uniqueitems.txt a uniqueitems.bin data\global\excel%uniqueitems.bin a patchstring.tbl data\local\LNG\ENG\patchstring.tbl C patch_D2.mpq
但你打开其他txt文件的时候,你会发现很多字段的内容和“UniqueItems.txt”很像. 任何像*code, *param, *min and *max这样在一起的字段的工作方式都和“UniqueItems.txt”中的一样。 步步为营!
上面的几个练习都是制作简单的修改。一个完成的MOD会有大量的修改。绝对不要一次做多处修改。一次只做一个修改,然后测试,更正,接着做下一个。你一次做的修改越多,错误也就会越多,同时测试起来也越困难。即便你越做越得心应手,也不要忘记限制自己尽量作少量修改。
在接下来的练习中你会学习如何测试创建的新物品。
练习#5 – 强制得到物品
我们知道像Key或者Arrow这种东西在游戏里很容易找到,但是Paladin的专用盾牌或者Manald Heal戒指却不常常从天而降。有很多方法来强制特殊物品出现,但是它们需要很精深的的MOD制作技术。在这里我们要实现的方法叫“Quill Rat Drop”这是因为Blood Moor里到处都有Quill Rat。这很容易实现,所以你也不必担心它会怎样工作。我们在这里还会提出测试版和正式发布版的区别。
为了测试,我们需要提取并修改“TreasureClassEx.txt”。这个数据库存中的数据决定你在杀死一个怪物或者打开箱子时会掉出什么物品。现在我们来看这个文件的一小部分,由于Blizzard的设计非常人性化,我们很容易为Quill Rats设定一套数据。
图二十三 - “UniqueItems.txt”中“Manald Heal”的记录
我们现在要用在上个练习中使用的“UniqueItems.txt”。将“UniqueItems.txt”作个备份,如果出了什么问题我们可以立刻恢复。找到Manald Heal的记录,找到上图所示我们感兴趣的三个字段。将“Level”和“LevelReq”的值设置为1,这是为了允许“Quill Rat”能够掉落ring并且测试人物可以使用。注意第三个字段的内容是“rin”,这部分内容是告诉游戏,我们希望“Quill Rat”掉落该物品。保存并复制文件到“data\global\excel”。
图二十四 – “TreasureClassEx.txt”中“Quill Rat”的记录
现在打开“TreasureClassEx.txt”,找到第一行“Quill Rat”,你会发现只有上面一点点内容,其它字段都为空。上图所示部分已经包括了所有我们想要修改的部分。首先删除“NoDrop”,“Item2”和“Prob2”字段的所有内容。然后将“item1”字段的内容从“gld”改为“rin”,这样子“Quill Rat”可以掉落戒指。最后把“Unique”段的内容改为“1024”。这个数值强迫掉落物品为Unique ring(暗金戒指),而且由于Quill Rats的等级很低,所以它也就只能掉落经过我们修改的,物品等级已经成为1的Manald Heal ring。保存不能够复制到你的游戏目录下的“data\global\excel directory”。 现在用快捷方式开始游戏。在游戏中杀死一些Quill Rats来测试它们掉落的物品,你会得到很多“The Eye of Mordini”。在鉴定它们之后即便你的测试人物为1级,也应该能使用。带上一个并查看你增加的属性是否和Ring上的属性一致。如果所有属性正常表示你成功了,而且这是可以发布的正式版本。
这种方式仅适用于那些基本装备或者魔法属性与人物或者怪物的等级无关,比如Magic或Rare物品。要使测试更有效,更全面,你需要创建一个Lv90以上的人物在Hell级别游戏中测试。