我们先聊聊宝石,宝石是个好东西啊,宝石可以加属性啊,可以镶嵌在装备上,闪闪发光的,多好!
宝石,首先嘛,它是一个物品,这个没有人否认吧,既然它是个物品,了解点WOW模拟器的都知道,物品这东西是保存在数据库world库item_template表里边的,所以你要制造或者修改一个物品什么的,都是在这个表上做文章。好啦,我们用N8打开这个表。
你会看到这样子的表:
然后大呼一声,我擦嘞,这么一大串是要吓死我吗。看看那个最下边的滑块,证明你的右边还有一大大大串等着你。
然后,你就跪了。然后大呼三声,我靠,这怎么搞。
其实很简单,要知道,咱虽然不一定都看得懂,但是咱能借鉴啊,你不想做个宝石么,OK,这张表里找一个已经有的宝石,原封不动的抄下来,然后,咱再慢慢修改。至于改什么,接着朝下看。
写到这的时候你需要一些参考资料。首推这个东西:trinitycore的官方百科(去trinity-core的官方看看,那里有直接到百科的线路)
你可以在这里边找到很多有用的资料,特别是数据库。
然后是什么,对着百科按格子,一个个对着写吧,当然简单点的就是拿同类物品改。
当然,所有的前提是entry这一列,必须不能重复,因为这是物品的ID,单独标示符。
额,这个帖子的主要是讲宝石,那我就提供个宝石的分类枚举,其他的我就略过了。
在这一行你创建一个新的宝石之后,这个物品已经存在了。但是一个宝石为什么是宝石呢,宝石是有用的!当然你创造个专门卖钱的宝石可以不用看下边的了。
下面我们要做的就是要给宝石赋予一个属性。
OK,下面要用到一个工具mydbceditor,设计改动到两个coreDBC下的DBC文件SpellItemEnchantment.dbc和GemProperties.dbc
不说别的,先打开这两个DBC文件。
先看GemProperties.dbc
大概都是上图的结构。
首先,解释下这几列:
第一列:ID,对应item_template表的gemproperties列。
第二列:对应SpellItemEnchantment.dbc表的ID。
3,4列:基本都是0。
第五列:决定你宝石的颜色,必须要和item_template 表里subclass中的设定颜色一致。
1对应多彩,2对应红色,4对应黄色,8对应蓝色。
看完大概之后,重点来了。
第一列和第二列。
第一列的修改:
首先,你要确定你在item_template表的gemproperties列中写下了一个值,然后用这个值做ID在GemProperties.dbc 中新创建一行 edit→insert line。
第二列的修改:
第二列就是赋予宝石属性的关键。我们先要了解到宝石的属性,宝石的属性其实可以理解为宝石的技能。所以,我们需要在SpellItemEnchantment.dbc这个表里找到我们想要的效果,然后把ID填入第二列。
打开SpellItemEnchantment.dbc
因为具体并没有研究透,所以我只写出几个你做宝石要用到的几列。
12,13,14列,对应spell.dbc的法术id,也就是说,一个宝石最多允许你赋予其三个spell技能。
19列就是宝石的属性描述,例如+35敏捷,+50力量等等。34列对应item_template表里边的宝石物品ID entry。
36列对应宝石激活条件,65为红蓝黄各两个(其他的暂没研究,可以对着宝石看)。
所以,你要给一个宝石赋予一个SpellItemEnchantment.dbc中已有的技能,你可以直接修改第二列。然后确保第一列和第五列的正确。
如果你要给宝石赋予一个SpellItemEnchantment.dbC中没有的技能,你需要修改SpellItemEnchantment.dbc,在12.13.14列修改处你要的技能ID,当然,引用自spell.dbc(同样用mydbceditor打开)。
如果你要创造一个完全不同于现有任何属性效果的技能,OK,在spll.DBC中添加新行吧。当然,不在今天这个帖子的讨论范围了。
|