传奇如何添加技能书
给传奇添加一本可正常学习的技能书,必须同时完成技能定义和物品定义,不能只在物品数据库里增加一个名称。采用常见传奇服务端结构时,技能数据放在 magic.db、magicdb 或同类文件中,技能书物品放在 stditems.db、stditemdb 中;前者决定技能名称、职业、等级、熟练度、魔法消耗和效果,后者决定书籍外观、职业限制、等级门槛以及使用后绑定的技能编号。操作前先停止引擎并备份 db 文件,避免序号冲突导致数据库加载失败或原有技能失效。

新增技能时,先在 magic 数据库复制一条效果相近且能正常释放的技能记录,再修改 magname、magid、job、needl1、needl2、needl3 和对应熟练度。magid 是技能识别编号:如果只是让另一个职业学习已有技能,应复制原技能效果并按引擎规则建立新的职业技能记录;如果是完全独立的新技能,则必须使用未占用的 magid,不能覆盖正在使用的编号。常见字段中 job 通常以 0 表示战士、1 表示法师、2 表示道士,needl1 至 needl3 分别控制一至三级技能的等级门槛,例如设为 48,表示角色达到48级后才能学习该级技能;spell、power、maxpower 则分别影响耗蓝、伤害下限和伤害上限,建议先沿用成熟技能数值,再逐项调整。

技能记录完成后,在 stditems 数据库末尾新增技能书物品,并为 idx 填写当前库中未使用的连续序号,name 必须与 magic 中的技能名称完全一致。采用传统字段定义的引擎里,shape 常用于区分职业,0、1、2通常对应战士、法师、道士;need 为0时按等级限制,need 为1、2、3时可分别对应攻击、魔法、道术限制,needlevel 再填写具体数值。若该引擎使用 anicount、magic 或其他字段绑定技能编号,应直接照抄同类可用技能书的绑定方式,并填入对应 magid;不要只改书名,否则物品能生成却无法学习。书籍的 stdmode、外观和使用触发参数也应复制同职业、同类型的成品书,避免出现双击无反应、书籍消失但技能栏没有变化的情况。

保存两张数据库后,依次重载物品库和技能库,必要时完整重启 m2 或服务端,再用gm角色生成新书进行测试。测试顺序应为:确认物品名称与图标正确,检查角色职业和等级是否满足限制,把技能书放入主号背包后双击,打开技能栏确认技能图标、等级和效果,再将技能拖入快捷栏释放。跨职业技能要分别测试战士、法师、道士,召唤类技能还要检查目标召唤物、持续时间和客户端动画;如果技能名称能学会但释放无伤害,优先核对 effect、power、maxpower 和客户端对应效果资源。单机测试通过后,再用普通账号验证权限、掉落、商店购买和重登保存,确认玩家重新登录后技能仍存在,再将技能书加入npc、怪物掉落或任务奖励。




