附魔技能、珠宝、插槽奖励、磨刀石、护甲片、物品随机前缀属性的修改都涉及到spell.dbc和SpellItemEnchantment.dbc。
实例1:修改精金磨刀石
物品描述:锐器的伤害提高12点,爆击等级提高14,持续1小时。不能对等级高于165的物品使用。
修改为:锐器伤害提高18点,暴击等级提高48点,护甲穿透提高48点,持续1小时。不能对等级高于300的物品使用。
一、启动AC-WEB数据库服务器,再打开“NaviCat”,在“world”数据库的“Item_template”表中搜索“精金磨刀石”,在“spellid”列看到该物品附带技能的技能ID为:29453.如下图:
二、用MyDbcEditor打开spell.dbc,搜索29453,拉到38列,如下图。38列数值为165,表示这个技能最大等级为165(不能对等级高于165的物品使用),把它改为300。
三、拉到72列,数值为54,表示这个技能是临时附魔,然后拉到111列,数值为2713,表示该技能对应SpellItemEnchantment.dbc的ID为2713的技能。如下图:
四、拉到175列,把技能说明修改为:
锐器伤害提高18点,暴击等级提高48点,护甲穿透提高48点,持续1小时。不能对等级高于300的物品使用。修改完记得点SAVE保存
五、打开SpellItemEnchantment.dbc,查找2713.如下图:
SpellItemEnchantment.dbc各列的说明:
1、第3、4、5列为一组,代表该技能属性的类别。个人认为:1=毒药、图腾;2=武器伤害类;3=技能类(在12-14列为对应的spell.dbc的技能ID);4=防具护甲、单抗类;5=属性类(如力量、敏捷、法术强度、攻击强度等);6=控制类?(不明、不常用)
3、第12、13、14列是第三组,代表该属性的代码,(第3、
4、5列技能属性类别不
同,对应的属性代码的含义也不同)
A、如果第3-5列属性类别为2(武器伤害类)
12-14列属性代码:
0=武器伤害(例如上图中的第4列为2,第7、10列为12,第13列为0,表示:武器伤害+12)
B、如果3-5列属性类别为3(技能类)
则12-14列的代码为对应spell.dbc的技能ID。一些相对比较复杂的属性只能通过spell.dbc来实现,比如:所有抗性、所有属性增加、技能增强、附加技能等等。
C、如果3-5列属性类别为4(防具护甲、单抗类)时,12-14列属性代码:
0=护甲2=火焰抗性3=自然抗性
4=冰霜抗性5=暗影抗性6=奥术抗性
D、如果3-5列属性类别为5(属性类)时,12-14列属性代码:
法力值=0
生命值=1
敏捷=3
力量=4
智力=5
精神=6
耐力=7
防御等级=12
躲闪等级=13
招架等级=14
盾牌格挡=15
远程暴击等级=20
命中等级=31
暴击等级=32
韧性等级=35
急速等级=36
精准等级=37
攻击强度=38
远程攻击强度=39
每5秒法力回复=43
护甲穿透等级=44
法术强度=45
每5秒恢复生命=46
细心的朋友就会发现,这个代码跟我在另外一个中级篇的实例:数据库里修改stat_type的代码是一样的。
4、第34列为宝石对应数据库的物品ID;36列为需要的技能ID;37列为需要的技能熟练度。比如有些宝石需要珠宝加工XX级,死骑的符文需要武器等等。
我们来分析一下2713这个技能的各列。
A、第(3、6、9、12)列为这个技能的第一个属性。第3列的5表示这是一个属性类的;第6列和9列的E换算十进制等于14;第12列的32表示这个属性是暴击,它们构成了这个技能的第一个属性:暴击等级增加14点。
B、第(4、7、10、13)列为这个技能的第二个属性。第4列的2表示这是一个伤害类的;第7列和10列的12;第13列的0,它们构成了这个技能的第二个属性:武器伤害增加12点
C、如果我们想给这个技能增加第三个属性,则需要修改第5、8、11、14列。
六、我们要把属性修改为:锐器伤害提高18点,暴击等级提高48点,护甲穿透提高48点,持续1小时。不能对等级高于300的物品使用。
A、第一和第二属性不变,只需要改数值。48换算成十六进制等于30,那么6列和9列都改为0x30;7列和10列是十进制的,直接改为18即可。
B、第三属性为:护甲穿透提高48点。
这个是一个属性类的,第5列改为5;8列和11列改为48;第14列改为44(护甲穿透等级的代码),如下图:
C、15列的技能描述改为:
磨快(+18伤害,+48爆击等级,+48护甲穿透)
D、点save保存,然后压制SpellItemEnchantment.dbc和spell.dbc文件到MPQ文件