传奇里添加技能效果,不能只修改一个动画编号,正确做法是同时处理技能数据、客户端表现和触发逻辑三层:技能表中的`effecttype`控制施法动作,`effect`控制技能动画,`buff`、`buffid`、`bufftype`负责增益状态,`script`与`skillendscript`则用于扩展伤害、减速、回血或结束时清除状态等行为。只填写`effect`通常只能看到特效,无法让角色真正获得额外属性;只写脚本而没有对应客户端资源,又会出现技能生效但画面空白的情况。

新建技能时应先备份数据库,再在技能表增加一条完整记录,并优先保证`classid`连续,避免引擎因编号断档报错。基础字段建议依次填写`classid`、`classname`、`skillid`、`skillname`、`classtype`和`job`,其中`classname`按`skill_编号`命名,`job`使用0代表战士、1代表法师、2代表道士、99代表通用;攻击技能再设置`spell`、`delay`、`power`、`maxpower`、`hitdist`和`target`,辅助技能则将`classtype`设为`buff`,并补齐`buffid`与`bufftype`。例如要做一个通用单体攻击技,可先设`job=99`、`hitdist=2`,用低消耗和较长冷却完成首次测试,再根据伤害结果调整威力,避免一开始就把范围、穿透和冷却全部调到极限。
技能画面效果应优先复用客户端已有特效,确认效果编号后,把编号填入`effect`,再根据技能类型匹配`effecttype`;这样最适合新手快速验证技能是否能正常释放。若需要火焰、雷电、护盾等新表现,应先把素材导入客户端对应的技能效果资源,再填写资源编号,并检查施法动作、命中特效和持续特效是否分别对应,不能把角色动作编号误当成命中特效编号。传奇客户端的技能效果通常存放在独立的效果资源文件中,资源缺失、编号错位或客户端与服务端资源不一致,都会造成无特效、显示错图或技能释放后卡顿。
需要附加属性时,应把数值结算交给技能字段或脚本,而不是单纯依赖动画。普通攻击可用`power`和`maxpower`控制基础伤害区间,穿透效果通过`penetrate`与`penetraterate`设置;例如`penetrate=1`表示忽视防御,`penetrate=2`表示忽视魔法盾,多个穿透类型可按位相加。持续增益则在`script`中处理施法时加状态,在`skillendscript`中处理持续时间结束后的还原;若技能要求命中敌人、只对队友生效或只能作用于召唤物,还要同步检查`onenemy`、`onteam`和`onsummon`等目标条件。

完成配置后应按单人释放、目标命中、状态持续、冷却结束、重新释放、多人实战的顺序测试,并分别检查伤害数值、蓝量消耗、动画位置、buff图标和结束清除效果。低等级角色先验证学习等级与修炼经验,技能表支持通过`needl1`至`needl15`限制各级学习条件,并用`l1train`至`l15train`控制修炼经验;高级技能再测试范围、穿透和对战修正。若技能只适合刷怪,可降低`pvpfix`带来的对战收益;若用于团战,应重点确认目标筛选和持续状态是否会重复叠加。最后保存服务端数据,重新加载技能配置并让客户端重新读取资源,确认技能栏、技能书和实际释放使用的是同一个`skillid`,即可完成效果添加。
