传奇特色武器升级脚本完整写法:NPC交互、材料检测、成功率计算、属性提升与冷却控制

来源: 作者: 点击:
特色武器升级脚本的核心是“材料检测、成功率判定、属性提升、冷却控制、公告提示”五段流程。不同引擎命令差异较大,LEG、GEE、GOM、996、3KM2等引擎部分功能需要以当前引擎M2帮助和插件说明为准。

一、武器升级脚本结构

脚本通常分为三个部分:

NPC脚本:用于打开升级界面、检测材料、触发升级。
成功率计算:根据材料品质、玩家幸运、武器状态计算成功率。
升级执行:成功则提升属性,失败则扣除材料或武器碎裂。

二、NPC主入口脚本

[@main]
IF
CHECKITEM升级卷轴1
ACT
GOTO@可升级
ELSESAY
你身上没有升级卷轴,无法进行武器升级。\
<离开/@exit>

[@可升级]
IF
CHECKITEM黑铁矿石5
CHECKITEM强化石3
ACT
GOTO@确认升级
ELSESAY
材料不足,需要黑铁矿石5个、强化石3个。\
<离开/@exit>

[@确认升级]
SAY
确认使用材料进行武器升级?\
升级有失败风险,武器可能碎裂。\
\
<开始升级/@开始升级>\
<离开/@exit>

三、成功率计算脚本

成功率根据材料品质、玩家幸运、武器当前等级计算。

[@开始升级]
IF
ACT
MOVN150
INCN1<LUCKY>
DECN1<WEAPONLEVEL>
GOTO@判定成功率

[@判定成功率]
IF
LARGEN190
ACT
MOVN190

IF
LARGEN10
ACT
MOVN2<RANDOM(100)>
GOTO@升级判定
ELSESAY
升级成功率过低,无法进行。

四、升级判定与执行

根据随机数与成功率对比,决定升级成败。

[@升级判定]
IF
SMALLN2N1
ACT
GOTO@升级成功
ELSESAY
GOTO@升级失败

[@升级成功]
IF
ACT
TAKE黑铁矿石5
TAKE强化石3
TAKE升级卷轴1
INC<WEAPONLEVEL>1
ADDWEAPONATTACK1
SENDMSG0【武器升级】<USERNAME>武器升级成功,当前等级+<STR(WEAPONLEVEL)>!
GOTO@升级完成
ELSESAY
升级失败,材料已消耗。

[@升级失败]
IF
ACT
TAKE黑铁矿石5
TAKE强化石3
TAKE升级卷轴1
SENDMSG0【武器升级】<USERNAME>武器升级失败,材料已消耗。
GOTO@升级完成

[@升级完成]
SAY
本次升级已完成。\
<继续升级/@main>\
<离开/@exit>

五、武器碎裂机制

如果希望升级失败时武器碎裂,可以在失败段落增加武器扣除。

[@升级失败碎裂]
IF
ACT
TAKE黑铁矿石5
TAKE强化石3
TAKE升级卷轴1
TAKE裁决之杖1
SENDMSG0【武器升级】<USERNAME>武器升级失败,武器已碎裂!
GOTO@升级完成

六、冷却控制脚本

防止玩家短时间内反复升级,可以加入冷却时间。

[@开始升级]
IF
LARGE<UPGRADECOOL>0
ACT
SENDMSG6升级冷却中,请等待<STR(UPGRADECOOL)>秒。
BREAK
ELSEACT
MOV<UPGRADECOOL>300
GOTO@成功率计算

[@冷却倒计时]
IF
LARGE<UPGRADECOOL>0
ACT
DEC<UPGRADECOOL>1
GOTO@冷却倒计时
ELSEACT
BREAK

七、属性提升方式

升级成功后,可以通过多种方式提升武器属性。

直接加攻击:

ADDWEAPONATTACK1

增加技能等级:

SKILLLEVEL烈火剑法1

增加特殊属性:

ADDWEAPONLUCK1

不同引擎支持的属性提升命令不同,具体以当前引擎M2帮助为准。

八、公告与提示

升级成功或失败时,发送全服或私人公告。

全服公告:

SENDMSG0【武器升级】<USERNAME>武器升级成功!

私人提示:

SENDMSG6你的武器升级成功,当前等级+1。

九、调试要点

材料名称必须与数据库一致。
成功率计算变量不能互相覆盖。
升级成功后属性提升命令要确认引擎支持。
冷却时间结束后变量要正确归零。
武器碎裂前要确认玩家确实拥有该武器。
脚本修改后重新加载或重启服务端。

如果升级后属性不提升,优先检查ADDWEAPONATTACK等命令是否生效。如果冷却不生效,检查变量是否在倒计时结束后归零。如果材料不扣除,检查TAKE前面是否有CHECKITEM检测。
[顶部]