特色武器升级脚本的核心是“材料检测、成功率判定、属性提升、冷却控制、公告提示”五段流程。不同引擎命令差异较大,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
MOV N1 50
INC N1 <LUCKY>
DEC N1 <WEAPONLEVEL>
GOTO @判定成功率
[@判定成功率]
IF
LARGE N1 90
ACT
MOV N1 90
IF
LARGE N1 0
ACT
MOV N2 <RANDOM(100)>
GOTO @升级判定
ELSESAY
升级成功率过低,无法进行。
四、升级判定与执行
根据随机数与成功率对比,决定升级成败。
[@升级判定]
IF
SMALL N2 N1
ACT
GOTO @升级成功
ELSESAY
GOTO @升级失败
[@升级成功]
IF
ACT
TAKE 黑铁矿石 5
TAKE 强化石 3
TAKE 升级卷轴 1
INC <WEAPONLEVEL> 1
ADDWEAPONATTACK 1
SENDMSG 0 【武器升级】<USERNAME>武器升级成功,当前等级+<STR(WEAPONLEVEL)>!
GOTO @升级完成
ELSESAY
升级失败,材料已消耗。
[@升级失败]
IF
ACT
TAKE 黑铁矿石 5
TAKE 强化石 3
TAKE 升级卷轴 1
SENDMSG 0 【武器升级】<USERNAME>武器升级失败,材料已消耗。
GOTO @升级完成
[@升级完成]
SAY
本次升级已完成。\
<继续升级/@main>\
<离开/@exit>
五、武器碎裂机制
如果希望升级失败时武器碎裂,可以在失败段落增加武器扣除。
[@升级失败碎裂]
IF
ACT
TAKE 黑铁矿石 5
TAKE 强化石 3
TAKE 升级卷轴 1
TAKE 裁决之杖 1
SENDMSG 0 【武器升级】<USERNAME>武器升级失败,武器已碎裂!
GOTO @升级完成
六、冷却控制脚本
防止玩家短时间内反复升级,可以加入冷却时间。
[@开始升级]
IF
LARGE <UPGRADECOOL> 0
ACT
SENDMSG 6 升级冷却中,请等待<STR(UPGRADECOOL)>秒。
BREAK
ELSEACT
MOV <UPGRADECOOL> 300
GOTO @成功率计算
[@冷却倒计时]
IF
LARGE <UPGRADECOOL> 0
ACT
DEC <UPGRADECOOL> 1
GOTO @冷却倒计时
ELSEACT
BREAK
七、属性提升方式
升级成功后,可以通过多种方式提升武器属性。
直接加攻击:
ADDWEAPONATTACK 1
增加技能等级:
SKILLLEVEL 烈火剑法 1
增加特殊属性:
ADDWEAPONLUCK 1
不同引擎支持的属性提升命令不同,具体以当前引擎 M2 帮助为准。
八、公告与提示
升级成功或失败时,发送全服或私人公告。
全服公告:
SENDMSG 0 【武器升级】<USERNAME>武器升级成功!
私人提示:
SENDMSG 6 你的武器升级成功,当前等级+1。
九、调试要点
材料名称必须与数据库一致。
成功率计算变量不能互相覆盖。
升级成功后属性提升命令要确认引擎支持。
冷却时间结束后变量要正确归零。
武器碎裂前要确认玩家确实拥有该武器。
脚本修改后重新加载或重启服务端。
如果升级后属性不提升,优先检查 ADDWEAPONATTACK 等命令是否生效。如果冷却不生效,检查变量是否在倒计时结束后归零。如果材料不扣除,检查 TAKE 前面是否有 CHECKITEM 检测。
传奇特色武器升级脚本完整写法:NPC交互、材料检测、成功率计算、属性提升与冷却控制
来源:
作者:
点击:

