特色武器升级脚本的核心是“材料检测、成功率判定、属性提升、冷却控制、公告提示”五段流程。不同引擎命令差异较大,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检测。
一、武器升级脚本结构
脚本通常分为三个部分:
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检测。

