主页 > 论坛热贴 >

传奇如何添加技能书

时间:2026-08-12 11:39 浏览量:72

传奇服务端添加技能书必须同时修改技能数据和物品数据两处:在 magic.db 中定义技能,在 stditems.db 中建立对应的技能书物品,且两处的技能名称必须完全一致。操作前先关闭相关服务端程序,并备份整个 db 文件夹,避免字段填错或序号冲突导致数据库无法读取。常见目录位于服务端的 mud2\db 文件夹,但不同引擎可能采用不同目录名称,应以实际运行服务端读取的数据库为准。只增加物品而不增加技能记录,通常会出现技能书能获得但无法学习;只增加 magic.db 记录,则不会自动生成可拾取、可购买的书籍物品。

第一步是在 magic.db 中新增技能记录,建议复制一条效果正常、类型相近的技能,再修改 magid、magname、职业、等级和熟练度条件。magname 是书名和技能的连接字段,名称不能多空格、少字符或使用不同标点;job 通常按 0 为战士、1 为法师、2 为道士填写。needl1、needl2、needl3 分别对应技能达到一至三级所需的人物等级,l1train、l2train、l3train 对应各阶段熟练度。例如希望角色在 35、40、45 级逐级提升,可设置为 35/40/45,熟练度设置为 100/300/600,再根据服务器升级速度调整。spell、power、maxpower 和各级增量决定耗蓝与强度,effecttype、effect 决定动作和表现;若只是让其他职业学习已有技能,应复用原技能的 magid 和效果数据,不要随意填写客户端没有资源支持的动画编号。

第二步是在 stditems.db 中增加技能书物品,最稳妥的方法是复制一本已经能够正常使用的技能书记录,然后只改动 idx、name、shape、need、needlevel、looks 和 price 等字段。idx 必须大于当前最大序号且不能重复,name 必须与 magic.db 的 magname 完全相同;shape 用来区分可学习职业,常见设置为 0 战士、1 法师、2 道士。need 决定限制类型,0 通常表示等级,1 表示攻击,2 表示魔法,3 表示道术,needlevel 则填写具体数值。例如战士 48 级才能学习,就将 shape 设为 0、need 设为 0、needlevel 设为 48。复制旧书记录可以保留正确的物品模式、重量、图标和使用逻辑,避免只填写名称后出现无法双击或图标错位。

第三步是保存数据库并重启读取相关数据的服务端,再通过管理员命令、npc 商店或掉落配置投放技能书。测试时应准备低于限制等级、刚好达到限制等级和达到更高等级的三个角色,分别检查能否获得、能否双击学习、技能栏是否出现技能,以及一级到三级的熟练度是否正常增长。若书籍可以拿到却无法学习,优先检查 name 是否完全一致、shape 和 need 是否对应、needlevel 是否超过角色属性,以及修改的是否为正在运行的那套数据库;若学习成功但施法无动作或效果错误,重点检查 magid、effecttype、effect 与原技能记录是否匹配。新增跨职业技能时,书名、职业限制和技能效果可以分别设置,但客户端没有对应资源时只能复用已有技能效果,不能仅靠数据库文字创建全新的显示效果。

不同添加目标应采用不同配置方式:给同一职业增加新书时,复制原职业技能书并调整等级、熟练度和价格即可;让战士或法师学习道士已有技能时,可在 magic.db 中保留相同 magid、改用新的 magname 和 job,再在 stditems.db 中制作对应书籍;制作完全独立的新技能时,还需要确认引擎支持该技能逻辑,并准备客户端能够识别的动作、图标和效果资源。完成后先用管理员角色验证学习流程,再测试普通玩家的商店购买、怪物掉落和背包使用,确认限制、消耗、伤害及显示均正常后再批量投放。