附魔技能、珠宝、插槽奖励、磨刀石、护甲片、物品随机前缀属性的修改都涉及到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小时。
修改完记得点SAVE保存五、打开SpellItemEnchantment.dbc,查找2713.如下图:SpellItemEnchantment.dbc各列的说明:1、第3、4、5列为一组,代表该技能属性的类别。
个人认为:1=毒药、图腾;2=武器伤害类;3=技能类(在12-14列为对应的spell.dbc的技能ID);4=防具护甲、单抗类;5=属性类(如力量、敏捷、法术强度、攻击强度等);6=控制类?(不明、不常用)2、第6、7、8和第9、10、11列是第二组,代表该技能属性的具体数值。
第6、9列数值相同;第7、10列数值相同;第8、11列数值相同,修改的时候要俩个一起改。
其中第6、9列是16进制的,OX表示该数值是16进制,修改的时候”OX“不要改动。
第7、10列和第8、11列是10进制的。
一些相对比较复杂的属性只能通过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小时。
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文件里,复制到客户端DATA目录下的ZHCN文件夹。
并删除客户端的Cache文件夹。
重启服务端、客户端、进游戏,大功告成。
小结:1、SpellItemEnchantment.dbc的15列技能描述,是指附魔到物品上显示的描述。
如下图:可以在物品等级200的物品上生效了。
2、spell.dbc的175列的技能描述,是指物品上文字描述。
如下图:实例2:修改附魔技能:附魔披风-强效抗性ID:20014技能效果:“永久性地为一件披风附魔,使其获得所有抗性+5的效果。
”改为:“永久性地为一件披风附魔,使其获得所有抗性+20的效果。
”1、用MyDbcEditor打开spell.dbc,查找ID:20014,72列,数值为53,表示这个是一个永久附魔。
111列,数值为1888.对应SpellItemEnchantment.dbc的ID为1888的技能。
修改175列技能说明为:永久性地为一件披风附魔,使其获得所有抗性+20的效果2、打开SpellItemEnchantment.dbc,查找ID:1888第3列为3,表示这个是一个技能类的属性。
6-11列数值全为0,继续看12-14列,发现12列数值为19992,那么19992即对应spell.dbc文件中ID为19992的技能了。
修改第15列的技能说明为:+20所有抗性3、打开spell.dbc,找到19992的技能。
72列数值为6,表示这个技能是一个BUFF,81列数值4和96列数值22以及111列数值126(2神圣,4火,8自然,16冰,32暗影,64奥术,126全部抗性),组成了所有抗性+5。
把81列改为19,其余不变。
(81列的真实值=表值+1),然后点SAVE保存,然后压制SpellItemEnchantment.dbc和spell.dbc文件到MPQ文件里,复制到客户端DATA目录下的ZHCN文件夹。
4、进游戏看实际效果修改后的技能效果附魔到披风的效果实际增加了20点全抗延伸:可以通过修改SpellItemEnchantment.dbc的12-14列对应的技能(Spell.dbc),达到自创附魔技能的效果。
实例3:珠宝及插槽奖励修改珠宝修改除了涉及到Spell.dbc和SpellItemEnchantment.dbc之外,还涉及到一个新的DBC文件:GemProperties.dbc一、珠宝修改我们以:“鲁莽紫黄晶”宝石为例,物品ID:401551、启动AC-WEB数据库服务器,打开“NaviCat”,在“world”数据库的“Item_template”表中搜索“鲁莽紫黄晶”,在“GemProperties”列看到该宝石对应的ID为:1331.如下图:2、打开GemProperties.dbc,搜索ID:1331.第2列数值3563对应SpellItemEnchantment.dbc的ID为3563的技能。
第5列为宝石的种类:1=多彩2=红色4=黄色6=橙色8=蓝色10=紫色12=绿色14=棱彩修改SpellItemEnchantment.dbc文件ID为3563的技能即可。
一些宝石技能还会像“附魔全抗”实例一样,映射spell.dbc文件,因为篇幅关系,具体修改方法请参照以上两个实例。
二、装备的珠宝插槽及奖励修改1、启动AC-WEB数据库服务器,再打开“NaviCat”,在“world”数据库的“Item_template”表中随便搜索一件带插槽的装备,我们以“潜在能量护肩”为例,物品ID:45136,如下图:数据库中的:Socketcolor_1列=8代表第一个插槽是蓝色插槽,Socketcolor_2列=2代表第二个插槽是红色插槽,Socketcolor_3列是代表第三个插槽的颜色这里的代码跟上面的宝石颜色代码是一样的,有需要的你可以修改,最多3个插槽。
SocketBonus列=3602,这个是插槽奖励的代码,这个代码对应SpellItemEnchantment.dbc的ID为3602的技能:+7的法术强度。
修改请参照前面的实例修改SpellItemEnchantment.dbc即可,这里就不再重复了。
制作或修改技能仅需要操作Spell.dbc这一个文件。
通过修改其中的数据可以对技能的所有方面进行操作,所以单说制作技能的话,你只需要一个工具,MyDBCEditor。
修改工具包在帖子中有下载链接。
当然,如果想在客户端得到视觉反馈(显示图标、说明、动画什么的),则还需要将其压入Patch.MPQ里替掉客户端,如何压制MPQ补丁同样在帖子有链接。
而如果你希望这个技能可以被学习,或是在角色创建时就拥有,则需要做其他的一些工作。
Spell.dbc共有234列,每一列都对应着技能某个方面的属性。
帖子末尾附有详细的spell.dbc各列说明下载。
但如果想自制一些复杂的技能,则至少要用到几十列的特性,甚至需要制作技能链接才能实现预期的效果。
既然是初级篇,那我们就先从(简单的)修改已有技能开始:1:DBC文件用MyDbcEditor工具打开后,注意工具左下角打钩的地方与下图保持一致,否则里面每列的序号可能与本贴中介绍的不一致。
先提到这个是因为这一条很容易被初学者所忽略,如果你希望无论何种情况都能放出技能,记得把69列设置为-1。
72,73,74列buff类技能此列值为6,永久附魔为53,临时附魔为5475-77列伤害浮动值该列数值=实际值+1(若实际效果是30,则该列数值为31)81,82,83列技能的效果,该列效果值=实际值-1,例如王者祝福加所有属性10%,那么该技能81列的数值为9,致死打击使目标的治疗效果降低50%,那么该技能81列的数值为-51。
需要注意的是有的技能效果由两列控制,例如圣骑士天赋"圣光之触",81和83列控制法术能量加成,82列控制极效治疗的治疗量。
87-89列技能施放的目标。
如果设置为自己(以及类型改为BUFF),触发时就会在自己身上加BUFF,如果设置为小队,使用时会让你选择队友,如果设置为敌人,则会丢掉敌人身上。
此列一共有46种目标类型,包括暴风雪和冰锥术这一类的无目标范围也在其中进行设置。
93,94,95列魔法有效距离,范围法术的有效范围(实际距离和范围由"spellradius.dbc"文件控制,此处为索引,与"spellradius.dbc"文件中的ID列对应)96-98列技能效果光环,主要用于操作BUFF和DEBUFF的属性(需要在72-74列中指明BUFF属性),是应用最广泛的特性。
比如我希望做一个增加25%法术伤害的BUFF,那么就需要在这里指明“法术伤害”,如果我希望做一个免疫一切伤害的盾,就要在这里指明“免疫伤害”,等等。
这一列共有286种光环效果,但实际情况远比这286种复杂得多。
比如说我想制作一个每3点智力转化为1点法术强度和2点攻击强度的BUFF,单靠这一列是没法做出来的,还需要其他列来提供更多的参数。
111,112,113列假如是附魔技能,该列的值对应"SpellItemEnchantment.dbc"文件中的技能ID117,118,119列由此技能触发的另外的技能132列技能的视觉效果。
134列技能图标(可以找类似的法术复制代码)。
141列技能或buff的标题,名字158列技能的等级说明或天赋标识175列技能的说明192列buff的说明213列多目标技能的最大作用数量,数值为实际值+1,例如神圣风暴最多可对4个目标造成伤害,该列的值为5。
"正义之锤(ID:53595)"技能的修改(这类技能没有触发技能,是最容易修改的技能)1、我们要修改技能,必须要知道技能ID,在已学习的法术,在法术书里,用大脚插件即可查看技能ID。
在一些端里的GM指令文档中也会有一些变态技能的ID。
正义之锤的技能ID和效果:用战锤攻击当前目标和最多2个邻近的额外目标,每秒造成4倍于主手武器伤害的神圣伤害。
2、用MyDbcEditor打开sepll.dbc,在search中搜索53595,回车,找到“正义之锤”。
然后拉到175列,内容太长,显示不完怎么办?打开一个新的文本文档,然后双击该列的文字内容,选择copy,把内容复制到文本文档里,即可查看完整的技能描述。
正义之锤的技能描述:用战锤攻击当前目标和最多${$x1-1}个邻近的额外目标,每秒造成$s3倍于主手武器伤害的神圣伤害3、我们预期修改效果:用战锤攻击当前目标和最多8个邻近的额外目标,每秒造成10倍于主手武器伤害的神圣伤害。
要达到预期效果,我们需要修改两个内容:一个是法术作用的目标,由105、106、107列控制,x1表示为第一个,即105列;二个是法术的伤害,由81、82、83列控制,s3表示是第三个,即83列。
4、修改位置:a、该技能能攻击3个目标,105列是效果作用的数量,原始数值为0x3,修改成能攻击9个目标,数值应改为0x9(此列为十六进制数值,但是貌似不能超过10,我填A没效果,变成0x0)b、83列数值用于控制造成多少倍主手武器伤害,原效果是4倍武器伤害,此列数值为实际值-1,因此数值是3,现要改为10倍武器伤害,把数值修改为9就可以了。
如上图红圈所示,把83列的数值3改为9.如上图红圈所示,把105列的数值0x3改为0x9.然后点击save,保存。
然后压制spell.abc到MPQ补丁后,复制到客户端就OK了进游戏看效果,技能效果已经变成:用战锤攻击当前目标和最多8个邻近的额外目标,每秒造成10倍于主手武器伤害的神圣伤害。
如下图:然后再来看看实际效果如何。
面板秒伤为118.7,十倍伤害就是1187,与下图相符,修改成功了在175和192列技能描述的说明、技能描述中关于数值的部分有两种情况,第一种情况用的是变量,例如上面实例"正义之锤"的描述:“用战锤攻击当前目标和最多${$x1-1}个邻近的额外目标,每秒造成$s3倍于主手武器伤害的神圣伤害。
”其中“${$x1-1}”和“$s3”就是变量,其值随对应列中的数值变化而变化,“x1”对应105-107列的第一个,即105列(105-107都是控制作用数量的,为同一类。
如果是x2则为106,x3是107);s3对应81-83列的第三个,即83列。
不管改不改技能实际效果,这种技能描述都不需要更改。
第二种情况用的是常量,例如命令圣印的描述:“所有的近战攻击均可额外造成${0.36*$mw}到${0.36*$MW}点神圣伤害。
當你的攻击或技能击中单体目标时,此额外的神圣伤害将会同时击中额外的2名目标。
命令圣印可持续$d。
”这段描述中攻击目标数量“2名目标”用的就是常量,假如你修改了该技能的攻击目标数量,那么在技能描述中也要做相应修改,否则游戏中描述会与实际效果不一致。
常见变量与列数的对应:h对应36n对应37d对应41u对应50s1,m1对应81s2,m2对应82s3,m3对应83o1=s1*d/t1通常表示持续性伤害或回复法术的总伤害或回复总数值,这时81列通常表示每秒的数值o2,o3与o1类似a1对应93t1对应99x1对应105i对应213