您现在的位置:主页 > 游戏公告 >

传奇如何添加技能书

来源:夜神 | 更新时间:2026-06-25 09:38

添加一本可正常学习的技能书,必须同时处理magic.db技能数据与stditems.db物品数据;只增加物品记录,玩家通常只能看到或获得书本,双击后无法学会技能。操作前先关闭m2相关进程并备份db文件,随后确认是给已有技能增加一本书,还是创建全新的技能,前者主要修改stditems.db,后者则要先建立magic.db技能记录,再制作对应书籍。

新增技能时,先在magic.db复制一条效果相近的技能记录,再把magid改成数据库中未使用的编号;已有技能需要保持原magid,不要随意改动,否则技能效果与书籍关联会失效。magname填写技能名称,job设置学习职业,传统字段通常为0战士、1法师、2道士,needl1、needl2、needl3分别填写技能达到一级、二级、三级所需等级,l1train、l2train、l3train填写对应修炼经验或技能点,effecttype、effect、spell、power等效果参数优先照抄同类型技能。比如设置35级、40级、45级开放三级效果,就把三个等级条件依次填为35、40、45,修炼数值再按照服务器成长节奏递增。

制作技能书时,打开stditems.db,在末尾复制一本同职业、同类型的原有技能书,并把idx改成未占用的新序号;书名必须与magic.db中的magname完全一致,包含空格、符号和文字差异都要避免。stdmode不要凭经验硬填,优先沿用同类技能书模板,常见版本使用4或7;anicount填写对应技能的magid。shape用于职业限制,传统设置一般为0战士、1法师、2道士;need填0时表示等级限制,needlevel填写具体等级,例如needlevel为40,就代表角色达到40级后才能使用。价格、重量、库存和显示外观可照抄原书,再按商店售价和背包需求调整。

跨职业技能或特殊技能书要额外检查脚本逻辑,因为部分传奇引擎不是双击后直接读取magic.db,而是通过qfunction-0中的stdmode脚本触发学习。此类书籍需要让物品的触发编号与脚本段一致,并用checkskill判断是否已经学会,再通过addskill写入技能;未设置脚本时,书可能能够交易、掉落和使用,却不会真正增加技能。普通职业技能尽量使用原生技能书格式,只有原版没有对应功能时,才采用脚本触发方式,避免同时启用两套学习逻辑。

完成保存后,重载或重启服务端,再用管理员角色发放一本技能书进行完整测试:先验证物品名称和图标,再用低于等级门槛的角色确认不能学习,换成达到needlevel的角色双击书本,最后打开技能栏检查技能是否出现,并实际释放一级效果。需要测试三级成长时,应分别满足needl1、needl2、needl3与对应修炼值,确认技能升级后伤害、消耗和冷却是否按magic.db生效。普通技能书适合沿用原职业限制,跨职业技能则应单独建立目标职业记录和书籍,避免修改原技能后影响服务器中已经存在的角色。