您现在的位置:主页 > 文章中心 > 装备道具 >

传奇如何添加技能书

来源:夜神 | 更新时间:2026-02-11 07:34

添加技能书必须同时修改技能数据库与物品数据库,单独增加其中一项无法正常学习。操作前先关闭游戏服务端,并备份 `d:\mirserver\mud2\db` 目录下的 `magic.db`、`stditems.db` 文件;再用 dbc2000 打开对应数据库。`magic.db` 负责技能名称、职业、学习等级、修炼经验和技能效果,`stditems.db` 负责技能书作为物品存在时的名称、序号、职业限制、使用要求和价格等属性。若只是让某职业学习已有技能,应直接复用原技能的 `magid`,不要随意填写不存在的技能编号;真正新增技能还需要引擎和客户端具备对应技能效果,仅修改数据库通常只能得到无法施放的空技能。

先在 `magic.db` 增加技能学习记录,并优先复制一条同类型、能正常学习的原技能数据进行修改。`magname` 是学习界面显示的技能名称,后续必须与技能书的 `name` 完全一致,包含空格、括号和汉字差异;`job` 通常使用 `0` 代表战士、`1` 代表法师、`2` 代表道士,`needl1`、`needl2`、`needl3` 分别对应技能达到一至三级的等级条件,`l1train`、`l2train`、`l3train` 对应修炼经验。比如设置 `needl1=40`,角色至少达到40级才能把技能练到一级;若要制作跨职业技能书,可保留原技能 `magid`,只调整职业字段和名称,但应确认当前引擎允许该职业学习,否则双击后可能出现无反应或提示不匹配。

再在 `stditems.db` 最后一行新增技能书物品,并确保 `idx` 使用数据库中未占用的序号。最稳妥的做法是复制一本现有技能书的完整记录,只改 `idx`、`name`、职业与学习要求,保留原有物品模式、外观、重量和使用标记,避免手动漏填字段导致物品能显示却不能使用。`name` 必须与 `magic.db` 的 `magname` 逐字一致;传统字段中,`need=0` 一般表示等级限制,`needlevel=48` 就代表角色达到48级后才能使用,攻击、魔法、道术限制则应按服务端字段说明填写。普通技能书应让物品职业、技能职业和角色职业保持一致;跨职业书则三处都要同步检查,不能只改物品栏里的职业数字。

保存两张表后必须重新加载物品与技能数据,无法热加载的引擎应完整重启服务端,再通过gm命令、npc商店或怪物掉落把技能书放入角色背包测试。测试顺序应为:确认物品名称正常显示,检查角色等级与职业限制,双击技能书,查看技能栏是否出现目标技能,再分别验证一级学习、升级所需经验和实际施法效果。最常见的失败原因是 `idx` 重复、技能书名称与技能名称不一致、复制了错误职业的 `job`、`magid` 指向不存在的技能、修改后没有重启缓存,以及只改服务端而客户端没有对应图标或动作。若只是新增同技能的不同职业书,优先复制原书并只调整职业和等级条件;若要新增全新技能,则应先确认引擎支持该技能编号、动作和效果,再制作数据库记录与客户端资源。