传奇调整技能等级怎么弄
来源:夜神 | 更新时间:2026-09-17 09:23
传奇私服脚本中,调整当前人物技能等级使用 `skilllevel` 命令,基本格式为 `skilllevel 技能名称 操作符 等级`,操作符支持 `=`、`+`、`-`:`=` 是直接设置到指定等级,`+` 是增加等级,`-` 是降低等级。例如将雷电术直接改为3级,写成 `skilllevel 雷电术 = 3`;在npc脚本中通常放在 `act` 执行段,完整写法`[@skillup]`、`if`、`act`、`skilllevel 雷电术 = 3`、`sendmsg 5 你的雷电术已调整为3级`。技能名称必须与技能表和角色技能栏中的名称完全一致,少字、错字或前后缀不匹配都可能导致命令不生效。

需要保留原等级并逐级调整时,优先使用加减写法,而不是反复直接覆盖等级。比如 `skilllevel 烈火剑法 + 1` 表示提升一级,`skilllevel 烈火剑法 1` 表示降低一级;如果npc只允许玩家把技能升到3级,可以先检测当前等级,再执行条件分支:`if checkmagiclevel 烈火剑法 < 3`,`act skilllevel 烈火剑法 + 1`。直接设置适合开服补发、gm修正和角色数据恢复,增减写法更适合技能升级按钮、任务奖励和消耗道具升级,能够避免玩家重复领取奖励后等级被错误覆盖。
执行调整前必须确认角色已经拥有该技能,否则单独使用 `skilllevel` 不应当替代学习技能流程。可先用 `checkmagicname 技能名称` 判断技能是否存在;没有技能时,按照服务器职业限制、技能数据库配置和学习条件先执行 `addskill 技能名称`,再执行 `skilllevel 技能名称 = 等级`。技能最高等级不是所有传奇服都固定为3级,blue引擎技能表可以通过 `maxtrainlv` 配置最高修炼等级,并使用 `needl1` 到 `needl15` 设置人物等级门槛,因此脚本虽然写成5级或更高,也必须检查技能表是否开放对应等级,不能只看技能栏文字显示。
英雄技能需要区分操作对象,支持英雄命令的引擎可在前面加 `h.`,例如 `h.skilllevel 英雄烈火剑法 = 3`,但前置条件是角色拥有英雄、英雄处于可操作状态,并且技能名称必须是英雄实际学习的技能名;普通人物技能不要误写成英雄命令。部分扩展引擎还会增加最后一个参数,用于区分普通技能等级和强化技能等级,例如 `skilllevel 冰咆哮 = 1 1`,其中最后的 `1`代表调整强化等级,这类参数只有服务器明确支持时才能使用,blue基础写法不要随意追加。
排查无效命令时,应按技能名称—执行位置—角色对象—技能上限的顺序检查:先确认名称和职业,再确认命令位于 `act`,随后区分人物与英雄,最后核对技能表的最高等级和人物等级条件。不要把 `changelevel` 当成技能等级命令,也不要把 `changeiplevel` 当成普通技能调整命令,前者修改角色等级,后者修改内功等级;技能等级变化后的伤害、魔法消耗和附加效果,则取决于技能表中的 `power`、`maxpower`、`defpower`、`defmaxpower`、`spell` 等字段,并不存在所有技能统一增加固定数值的规则。