传奇强化万劫版装备强化与合成明文脚本配置

来源: 作者: 点击:
传奇强化万劫版本中,强化和合成是两套独立但常配合使用的系统。强化通常通过脚本或引擎自带强化界面实现装备等级提升,合成为多件低阶装备或材料按固定配方合成高阶装备。两者都依赖明文脚本控制材料、成功率、失败惩罚和奖励发放。

一、强化与合成的区别

强化是提升同一件装备的强化等级,例如武器从+0强化到+15,属性逐步增加。合成是把多件物品合并成一件新物品,例如5个低级强化石合成1个中级强化石,或3件普通万劫装备合成1件高阶万劫装备。

脚本编写时,强化侧重读取当前装备强化等级、判断成功率、处理失败归零或破碎;合成侧重检测材料数量、扣除材料、生成目标装备。

二、基础合成明文脚本

文件路径:
Mir200EnvirMarket_Def万劫合成NPC.txt

[@main]
SAY
请选择合成类型:\
<低级强化石合成/@LowStone>\
<中级强化石合成/@MidStone>\
<万劫武器合成/@WJWeapon>\
<万劫衣服合成/@WJArmor>\
\
[@exit]

[@LowStone]
IF
CHECKITEM 低级强化石 5
CHECKGOLD 50000
ACT
TAKE 低级强化石 5
TAKE 金币 50000
GIVE 中级强化石 1
SENDMSG 7 合成成功,获得中级强化石1个。
CLOSE
ELSESAY
需要低级强化石5个、金币50000。\
[@exit]

[@MidStone]
IF
CHECKITEM 中级强化石 5
CHECKGOLD 100000
ACT
TAKE 中级强化石 5
TAKE 金币 100000
GIVE 高级强化石 1
SENDMSG 7 合成成功,获得高级强化石1个。
CLOSE
ELSESAY
需要中级强化石5个、金币100000。\
[@exit]

[@WJWeapon]
IF
CHECKITEM 万劫之刃 3
CHECKITEM 万劫精华 10
CHECKGOLD 200000
ACT
TAKE 万劫之刃 3
TAKE 万劫精华 10
TAKE 金币 200000
GIVE 强化万劫之刃 1
SENDMSG 7 合成成功,获得强化万劫之刃。
CLOSE
ELSESAY
需要万劫之刃3个、万劫精华10个、金币200000。\
[@exit]

[@WJArmor]
IF
CHECKITEM 万劫战甲 3
CHECKITEM 万劫精华 10
CHECKGOLD 200000
ACT
TAKE 万劫战甲 3
TAKE 万劫精华 10
TAKE 金币 200000
GIVE 强化万劫战甲 1
SENDMSG 7 合成成功,获得强化万劫战甲。
CLOSE
ELSESAY
需要万劫战甲3个、万劫精华10个、金币200000。\
[@exit]

合成脚本的关键是材料名称必须与Stditem.db一致,数量必须准确。若版本使用绑定金币或元宝,需将CHECKGOLD和TAKE金币改为GAMEGOLD检测与扣除。

三、装备强化明文脚本

强化脚本通常放在NPC脚本中,通过检测当前强化等级决定消耗和成功率。

[@main]
SAY
当前装备强化系统说明:\
武器、衣服最高可强化至+15。\
+1至+3成功率100%。\
+4至+7失败等级不变。\
+8至+10失败等级归0。\
+11至+13失败装备破碎。\
\
请将需要强化的装备放入背包第一格。\
<开始强化/@StartEnhance>\
[@exit]

[@StartEnhance]
IF
EQUAL <BOXITEM[0].NAME>
ACT
MESSAGEBOX 请先放入需要强化的装备。
BREAK

IF
CHECKITEM 强化石 1
CHECKGOLD 100000
ACT
GOTO @CheckEnhanceLevel
ELSESAY
强化需要强化石1个、金币100000。\
[@exit]

[@CheckEnhanceLevel]
IF
CHECKITEMW 强化万劫之刃
ACT
MOV S10 强化万劫之刃
GOTO @GetEnhanceLevel
BREAK

IF
CHECKITEMW 强化万劫战甲
ACT
MOV S10 强化万劫战甲
GOTO @GetEnhanceLevel
BREAK

ELSEACT
MESSAGEBOX 当前未穿戴可强化装备。
CLOSE

[@GetEnhanceLevel]
ACT
MOV N10 0
MOVR N11 0 100
GOTO @EnhanceByLevel

[@EnhanceByLevel]
IF
EQUAL N10 0
ACT
TAKE 强化石 1
TAKE 金币 100000
GIVE 强化万劫之刃 +1 1
SENDMSG 7 强化成功,装备提升至+1。
CLOSE
BREAK

该示例为简化写法。实际版本中,强化等级通常通过引擎内置强化字段读取,例如使用GetCustomItemProgressbarValue、读取装备名称中的+数字标识,或通过引擎强化等级变量判断。不同引擎读取方式差异较大,需以当前LegendM2或GOM/GEE/BLUE版本支持为准。

四、成功率分段控制

强化脚本常用MOVR生成随机数,再用SMALL或LARGE判断是否成功。

[@EnhanceCheck]
ACT
MOVR N20 0 100

IF
SMALL N10 4
LARGE N20 0
ACT
GOTO @EnhanceSuccess
BREAK

IF
SMALL N10 8
LARGE N20 9
ACT
GOTO @EnhanceSuccess
BREAK

IF
SMALL N10 11
LARGE N20 19
ACT
GOTO @EnhanceSuccess
BREAK

ELSEACT
GOTO @EnhanceFail

[@EnhanceSuccess]
ACT
TAKE 强化石 <STR(P0)>
TAKE 金币 <STR(P1)>
SENDMSG 7 强化成功。
CLOSE
BREAK

[@EnhanceFail]
IF
SMALL N10 8
ACT
SENDMSG 7 强化失败,等级不变。
CLOSE
BREAK

IF
SMALL N10 11
ACT
SENDMSG 7 强化失败,等级归0。
CLOSE
BREAK

ELSEACT
SENDMSG 7 强化失败,装备已破碎。
TAKEW <STR(S10)> 1
CLOSE
BREAK

五、保护卷处理

高阶强化常加入保护卷机制。普通保护卷防止装备破碎,神圣保护卷同时防止等级下降。

[@CheckProtect]
IF
CHECKITEM 神圣强化保护卷 1
ACT
TAKE 神圣强化保护卷 1
GOTO @EnhanceKeepLevel
BREAK

IF
CHECKITEM 普通强化保护卷 1
ACT
TAKE 普通强化保护卷 1
GOTO @EnhanceNoBreak
BREAK

ELSEACT
GOTO @EnhanceNormalFail

[@EnhanceKeepLevel]
ACT
SENDMSG 7 神圣保护生效,强化失败但等级不变。
CLOSE
BREAK

[@EnhanceNoBreak]
ACT
SENDMSG 7 普通保护生效,装备未破碎,等级归0。
CLOSE
BREAK

六、部署步骤

在Stditem.db中确认强化石、万劫装备、保护卷等物品名称和编号。
在Market_Def下新建NPC脚本,写入合成与强化段落。
若使用背包格检测,确认引擎支持<$BOXITEM[0].NAME>等变量。
若使用装备强化等级读取,替换为当前引擎支持的强化等级获取方式。
在M2Server中重载NPC脚本,进入游戏测试合成和强化流程。
验证材料扣除、成功率、失败惩罚、保护卷消耗是否正常。

七、注意事项

合成脚本中TAKE和GIVE必须成对出现,避免只扣材料不发放成品。

强化脚本必须限制最高等级,否则玩家可无限点击强化。

失败破碎前应先确认装备名称,避免误删其他物品。

不同引擎对装备强化等级的读取方式不同,不能直接套用其他版本的强化变量。

万劫版本常使用强化石分级,低级、中级、高级强化石对应不同强化阶段,合成规则需与版本设定一致。

脚本上线前建议用测试号验证材料消耗、强化等级变化和保护卷逻辑,避免正式服出现重复扣除或装备丢失问题。