传奇加技能不是只改一个文件,分服务端数据库、物品库(技能书)、脚本发放、客户端图标与特效四块,任一块对不上就报黄字或放不出。下面以 Hero/GOM/HXM2 系引擎为例,从底层到表层顺序走一遍。
一、Magic.DB 增技能行(底层数据)
用 DBC2000 打开 MirServer\Mir200\DB\Magic.DB(部分引擎在 Mud2\DB 下)。
复制一个同职业已有技能整行(如法师复雷电术、战士复攻杀、道士复灵魂火符),粘到表尾空行。
关键字段:
• MagID:填未占用编号。普通技能顺延(如 1093、200);GOM/HXM2 自定义技能必须落在 201-230 区间。
• MagName:技能显示名,后面技能书名必须一字不差对应。
- Job:0 战士 / 1 法师 / 2 道士。
• EffectType:角色施法动作,战士填 0,法道填原技能同值(雷电术 7)。
• Effect:客户端特效编号,自定义技能 Effect 必须与 MagID 同值(如 MagID 205 则 Effect 205),否则不播动画。
- Spell:单次耗蓝;Power/MaxPower:伤害上下限;DefSpell/DefPower/DefMaxPower:每级增量。
• NeedL1/L1Train/NeedL2/L2Train/NeedL3/L3Train:各阶学习等级与熟练度。
- Delay:毫秒级公共冷却。
• TargetRange:0 单体,≥3 即 3×3 群攻;LockFlag=1 多目标锁定,AutoTarget=1 自动选敌,CastType=2 指向释放。
改完 Ctrl+S 存盘,关 DBC2000。M2 控制台“控制→重新加载→技能数据库”或直接重启 M2Server。
二、StdItems.DB 加技能书(让玩家能捡能学)
DBC2000 开 StdItems.DB,在末尾加一行物品:
- Name:群体雷电术(与 MagName 完全一致)
• StdMode=31,Shape=技能书外观编号(参考原有技能书 Shape 值)
• AniCount=1(允许双击学习)
• 价格、重量、库存类别按普通技能书填
存盘重载物品库。没这行,GM 给技能书也刷不出来,或者双击没反应。
三、技能获取途径(三选一或叠加)
1. GM 调试:@GameMaster 后 @学习技能 群体雷电术 3 直接满级。
2. 脚本发放:在 Envir\QuestDiary\Login.txt 的 @Login 下写 GiveSkill %UserName% 群体雷电术 3,上线自带;或在 Market_Def 技能商人脚本里加 @buy 出售行。
3. 怪物掉落:进 Envir\MonItems\ 对应怪文件,加一行 群体雷电术 1/5000(五千分之一)。
合击技能另走 Envir\Skill\Skill.ini 配 SkillID 与英雄等级条件,不在 Magic.DB 里建。
四、客户端图标与特效(看不到=白加)
进热血传奇客户端根目录 Data\,用 WIL/Z 编辑器开 Magic.wzl / Magic2.wzl:
• 复用原特效:Magic.DB 里 Effect 填原技能值(如雷电术 9),不用动客户端,最稳。
- 新特效:把图序导到 Magic2.wzl 末尾,记新编号,回 Magic.DB 把 Effect 改成该编号;MagID 在 201-230 时 Effect 填 201-230 对应号,并在 M2“自定义技能”里把客户端效果指过去。
- 图标:Skill.ini(或登录器生成的 DiySkill.tdm)里加一行 技能ID=群体雷电术,指向 Interface 里的 24×24 图标帧;HXM2/GOM 改完 M2 点“生成登录器集成文件”存成 DiySkill.tdm 放客户端根目录,重启客户端才生效。
Pak 加密端要在登录器 pak.txt 和 Envir\EffectImageList.txt 追加新 pak 映射,不然补丁读不出。
五、QFunction 绑特殊逻辑(可选)
纯伤害技能不用写脚本;要麻痹、吸血、召唤、瞬移、分段伤害,进 Envir\QuestDiary\Magic\QFunction-0.txt 用 @Magic 段拦截 MagID 写触发:
@Magic
#IF
CheckMagic 群体雷电术
#ACT
SendCenterMsg 6 群体雷电术命中 X 目标
复杂状态(晕 10%、召 2 只狗、按技能等级叠麻痹率)在 M2“自定义技能→服务端效果”里配倍数与状态勾选,比写脚本稳。
六、排错对照
• 技能栏不显示:MagName 与技能书 Name 不一致,或 StdItems 没建书。
- 放出来没动画:Effect 编号客户端无对应帧,或 MagID≠Effect(自定义区间通病)。
• 只能打一只:TargetRange=0、LockFlag 没置 1、AutoTarget 没置 1。
- 学了放不出:Job 填错、Spell 耗蓝高于角色上限、Delay 设 0 被引擎屏蔽。
• 单机黑屏:客户端版本太新,换十周年/十六周年完整端再盖补丁。
改完一套顺序:Magic.DB 加行→StdItems.DB 加书→M2 重载两个库→配获取途径→改客户端 Skill.ini/Magic.wzl/DiySkill.tdm→重启 M2 与客户端→GM 命令进图实测伤害范围与特效。群伤技能先把 TargetRange 设 3、Power 设原技能 0.8 倍,实测后再上调,避免一出手秒全图再回头砍数值。

