热血精炼炉是传奇一条龙版本中用于将毁灭系列装备合成为热血套装的功能型NPC。整个脚本围绕三职业分支、材料检测、元宝扣减、装备发放和全服广播五个模块展开,核心命令是CHECKITEM、CHECKGAMEGOLD、TAKE和GIVE。以下从完整脚本范例入手,逐段拆解编写方法。
## 入口对话与三职业分支脚本
在Market_Def目录下新建NPC脚本文件,写入以下内容。这套脚本适配GOM、GEE、Hero等主流引擎:
```
[@main]
这里是<热血装备/SCOLOR=250>合成:炉.
<合成:热血战/@热血战①> <合成:热血法/@热血法②> <合成:热血道/@热血道③> <合成:热血四格/@热血四>
<亲爱的/AUTOCOLOR=250>『<$USERNAME>』
<您当前帐户拥有元宝/AUTOCOLOR=250>〖<$GAMEGOLD>〗
[@热血战①]
<合成:热血战刃/@热血战刃> ← 需要: <毁灭神剑 X 3/SCOLOR=245> <费用:50万元宝/SCOLOR=150>
<合成:热血战甲/@热血战甲> ← 需要: <毁灭神甲 X 3/SCOLOR=245> <费用:40万元宝/SCOLOR=150>
<合成:热血战衣/@热血战衣> ← 需要: <毁灭神衣 X 3/SCOLOR=245> <费用:40万元宝/SCOLOR=150>
<合成:热血战盔/@热血战盔> ← 需要: <毁灭霸天盔 X 3/SCOLOR=245> <费用:20万元宝/SCOLOR=150>
<合成:热血战链/@热血战链> ← 需要: <毁灭霸天链 X 3/SCOLOR=245> <费用:20万元宝/SCOLOR=150>
<合成:热血战腕/@热血战镯> ← 需要: <毁灭霸天镯 X 3/SCOLOR=245> <费用:20万元宝/SCOLOR=150>
<合成:热血战戒/@热血战戒> ← 需要: <毁灭霸天戒 X 3/SCOLOR=245> <费用:20万元宝/SCOLOR=150>
<返回主菜单/@main>
[@热血法②]
<合成:热血魔杖/@热血魔杖> ← 需要: <毁灭法杖 X 3/SCOLOR=245> <费用:50万元宝/SCOLOR=150>
<合成:热血魔甲/@热血魔甲> ← 需要: <毁灭神甲 X 3/SCOLOR=245> <费用:40万元宝/SCOLOR=150>
<合成:热血魔衣/@热血魔衣> ← 需要: <毁灭神衣 X 3/SCOLOR=245> <费用:40万元宝/SCOLOR=150>
<合成:热血法盔/@热血法盔> ← 需要: <毁灭灭世盔 X 3/SCOLOR=245> <费用:20万元宝/SCOLOR=150>
<合成:热血法链/@热血法链> ← 需要: <毁灭灭世链 X 3/SCOLOR=245> <费用:20万元宝/SCOLOR=150>
<合成:热血法腕/@热血法镯> ← 需要: <毁灭灭世镯 X 3/SCOLOR=245> <费用:20万元宝/SCOLOR=150>
<合成:热血法戒/@热血法戒> ← 需要: <毁灭灭世戒 X 3/SCOLOR=245> <费用:20万元宝/SCOLOR=150>
<返回主菜单/@main>
[@热血道③]
<合成:热血宝扇/@热血宝扇> ← 需要: <毁灭羽扇 X 3/SCOLOR=245> <费用:50万元宝/SCOLOR=150>
<合成:热血道衣/@热血道衣> ← 需要: <毁灭神衣 X 3/SCOLOR=245> <费用:40万元宝/SCOLOR=150>
<合成:热血道甲/@热血道甲> ← 需要: <毁灭神甲 X 3/SCOLOR=245> <费用:40万元宝/SCOLOR=150>
<合成:热血道盔/@热血道盔> ← 需要: <毁灭天玄盔 X 3/SCOLOR=245> <费用:20万元宝/SCOLOR=150>
<合成:热血道链/@热血道链> ← 需要: <毁灭天玄链 X 3/SCOLOR=245> <费用:20万元宝/SCOLOR=150>
<合成:热血道腕/@热血道镯> ← 需要: <毁灭天玄镯 X 3/SCOLOR=245> <费用:20万元宝/SCOLOR=150>
<合成:热血道戒/@热血道戒> ← 需要: <毁灭天玄戒 X 3/SCOLOR=245> <费用:20万元宝/SCOLOR=150>
<返回主菜单/@main>
```
[@main]段展示精炼炉主界面,通过三个跳转选项将玩家分流到战士、法师、道士三个职业分支。<$USERNAME>和<$GAMEGOLD>分别读取当前角色名和元宝数量。SCOLOR参数用于设置文字颜色,250为浅色,245为暗色,150为绿色,这些颜色代码在BLUE和Hero引擎中通用。GOM引擎中SCOLOR参数用法相同,但颜色编号需要根据版本调色板确认。
## 战士合成执行脚本
各职业的装备合成脚本结构一致,以战士分支为例:
```
[@热血战刃]
#IF
CHECKITEM 毁灭神剑 3
CHECKGAMEGOLD > 500000
#ACT
GAMEGOLD - 500000
TAKE 毁灭神剑 3
GIVE 热血战刃 1
GOTO @MAIN
BREAK
SENDMSG 0 恭喜[%s]在盟重(热血精炼炉)处成功合成:热血战刃。。。
SENDMSG 0 恭喜[%s]在盟重(热血精炼炉)处成功合成:热血战刃。。。
SENDMSG 0 恭喜[%s]在盟重(热血精炼炉)处成功合成:热血战刃。。。
#ELSEACT
MESSAGEBOX 材料不足,合成:失败!!
```
这段脚本的逻辑链条是:CHECKITEM检测背包中毁灭神剑的数量是否达到3把,CHECKGAMEGOLD检测元宝是否超过500000。两项条件同时满足才执行GAMEGOLD - 500000扣除元宝,TAKE 毁灭神剑 3扣除三把基础武器,GIVE 热血战刃 1发放合成后的热血武器。GOTO @MAIN跳转回主菜单,BREAK结束当前脚本段的执行。
三条SENDMSG 0命令连续广播三遍相同的合成成功消息,这是传奇一条龙脚本的常见写法,目的是增强全服公告的视觉冲击力。%s会被引擎自动替换为触发脚本的玩家角色名。SENDMSG 0的频道号0代表全服公告,6代表个人系统提示。
#ELSEACT分支中的MESSAGEBOX命令在条件不满足时弹出提示框,在对话框关闭前脚本暂停执行。MESSAGEBOX的内容可以包含多条信息,使用反斜杠\进行换行分隔,例如“材料不足,合成:失败!!\需要毁灭神剑3把,50万元宝”。
战士分支中其余装备的合成脚本结构与热血战刃完全一致,只需要修改CHECKITEM检测的装备名称、CHECKGAMEGOLD的元宝数量、GAMEGOLD扣除的数值、TAKE扣除的材料名称和GIVE发放的装备名称。
## 法师与道士合成脚本
法师分支的合成脚本与战士分支逻辑相同,核心差异在于材料名称和目标装备名称。以热血魔杖为例:
```
[@热血魔杖]
#IF
CHECKITEM 毁灭法杖 3
CHECKGAMEGOLD > 500000
#ACT
GAMEGOLD - 500000
TAKE 毁灭法杖 3
GIVE 热血魔杖 1
GOTO @MAIN
BREAK
SENDMSG 0 恭喜[%s]在盟重(热血精炼炉)处成功合成:热血魔杖。。。
SENDMSG 0 恭喜[%s]在盟重(热血精炼炉)处成功合成:热血魔杖。。。
SENDMSG 0 恭喜[%s]在盟重(热血精炼炉)处成功合成:热血魔杖。。。
#ELSEACT
MESSAGEBOX 材料不足,合成:失败!!
```
法师分支中,热血魔甲和热血魔衣共用毁灭神甲和毁灭神衣作为材料,与战士分支的血热战甲和热血战衣材料相同,但合成目标不同。这种设计允许玩家根据职业需求选择合成路线。热血法盔、热血法链、热血法腕、热血法戒分别使用毁灭灭世盔、毁灭灭世链、毁灭灭世镯、毁灭灭世戒作为材料。
道士分支的合成脚本同样遵循这一结构。热血宝扇使用毁灭羽扇作为材料,热血道衣和热血道甲共用毁灭神衣和毁灭神甲,热血道盔、热血道链、热血道腕、热血道戒分别使用毁灭天玄系列的盔、链、镯、戒作为材料。
## 热血四格装备合成
热血四格指的是腰带、靴子、宝石和勋章四个特殊槽位的装备。四格装备的合成脚本结构与常规装备一致,但材料通常来自活动或特定怪物掉落:
```
[@热血四]
<合成:热血腰带/@热血腰带> ← 需要: <毁灭腰带 X 3/SCOLOR=245> <费用:30万元宝/SCOLOR=150>
<合成:热血战靴/@热血战靴> ← 需要: <毁灭战靴 X 3/SCOLOR=245> <费用:30万元宝/SCOLOR=150>
<合成:热血宝石/@热血宝石> ← 需要: <毁灭宝石 X 3/SCOLOR=245> <费用:30万元宝/SCOLOR=150>
<合成:热血勋章/@热血勋章> ← 需要: <毁灭勋章 X 3/SCOLOR=245> <费用:30万元宝/SCOLOR=150>
<返回主菜单/@main>
[@热血腰带]
#IF
CHECKITEM 毁灭腰带 3
CHECKGAMEGOLD > 300000
#ACT
GAMEGOLD - 300000
TAKE 毁灭腰带 3
GIVE 热血腰带 1
GOTO @MAIN
BREAK
SENDMSG 0 恭喜[%s]在盟重(热血精炼炉)处成功合成:热血腰带。。。
#ELSEACT
MESSAGEBOX 材料不足,合成:失败!!
```
四格装备的合成费用统一为30万元宝,比常规装备的20万至50万元宝略高,原因是四格装备的槽位更为稀有,属性加成也更为集中。
## 合成成功率与精练符机制
基础版热血精炼炉脚本采用百分百成功的确定性合成。如果版本需要加入概率机制,可以在材料检测通过后增加RANDOM判定。传奇脚本中通过Random命令实现成功率控制,Random后的数值对应概率分母,数值越大成功率越低。
以热血战刃30%成功率为例:
```
[@热血战刃]
#IF
CHECKITEM 毁灭神剑 3
CHECKGAMEGOLD > 500000
#ACT
GAMEGOLD - 500000
TAKE 毁灭神剑 3
GOTO @战刃判定
[@战刃判定]
#IF
RANDOM 3
#ACT
GIVE 热血战刃 1
SENDMSG 0 恭喜[%s]在盟重(热血精炼炉)处成功合成:热血战刃。。。
BREAK
#IF
RANDOM 7
#ACT
GIVE 毁灭神剑 1
SENDMSG 6 合成失败,返还1把毁灭神剑作为补偿。
BREAK
```
第一个RANDOM 3分支约33%概率成功合成,第二个RANDOM 7分支在剩余概率中触发失败返还,剩余概率进入无匹配分支材料完全消耗。这种多级概率结构比单一成功/失败判定更灵活。
精练符是提升合成成功率的辅助道具。核心逻辑是增加精练符检测条件,优先判定是否携带精练符,携带则跳过成功率判定直接合成,未携带则执行原成功率判定流程,同时精练符需随材料一同扣除。精练符实现百分百合成成功的脚本写法如下:
```
[@热血战刃]
#IF
CHECKITEM 毁灭神剑 3
CHECKITEM 精练符 1
CHECKGAMEGOLD > 500000
#ACT
GAMEGOLD - 500000
TAKE 毁灭神剑 3
TAKE 精练符 1
GIVE 热血战刃 1
SENDMSG 6 使用精练符,合成热血战刃成功!
BREAK
#IF
CHECKITEM 毁灭神剑 3
CHECKGAMEGOLD > 500000
#ACT
GAMEGOLD - 500000
TAKE 毁灭神剑 3
GOTO @战刃判定
#ELSESAY
材料不足,合成失败。需要毁灭神剑3把和50万元宝。
```
第一个分支优先检测精练符,携带精练符时直接合成并扣除精练符。第二个分支在没有精练符时进入概率判定流程。
## 材料获取与爆率配置
热血精炼炉所需的基础材料为毁灭系列装备,包括毁灭神剑、毁灭法杖、毁灭羽扇、毁灭神甲、毁灭神衣、毁灭霸天盔、毁灭霸天链、毁灭霸天镯、毁灭霸天戒、毁灭灭世盔、毁灭灭世链、毁灭灭世镯、毁灭灭世戒、毁灭天玄盔、毁灭天玄链、毁灭天玄镯、毁灭天玄戒等。这些材料通过MonGen刷怪和MonItems爆率文件配置掉落。
在MonItems目录下为掉落毁灭系列装备的怪物创建爆率文件,文件名与怪物名称完全一致:
```
1/1 金币 5000
1/10 毁灭神剑 1
1/10 毁灭法杖 1
1/10 毁灭羽扇 1
1/20 毁灭神甲 1
1/20 毁灭神衣 1
1/30 毁灭霸天盔 1
1/30 毁灭霸天链 1
1/30 毁灭霸天镯 1
1/30 毁灭霸天戒 1
1/50 毁灭灭世盔 1
1/50 毁灭灭世链 1
1/50 毁灭灭世镯 1
1/50 毁灭灭世戒 1
1/50 毁灭天玄盔 1
1/50 毁灭天玄链 1
1/50 毁灭天玄镯 1
1/50 毁灭天玄戒 1
```
爆率格式中斜杠左侧为分母,右侧为掉落数量。1/10表示10次击杀掉落1件。毁灭系列的基础部件爆率设为1/10至1/30,稀有部件设为1/50。如果怪物不爆物品,优先检查怪物名称和爆率txt文件名是否一致,并确认怪物数据库RACE字段的值是否为81。
## 引擎适配差异
GOM引擎的CHECKITEM命令不可写为小写checkitem,建议统一使用大写确保兼容性。GOM引擎的MESSAGEBOX命令在对话框关闭前脚本暂停执行,适合用于条件不满足时的强制提示。GOM引擎的SENDMSG 0全服广播支持末尾添加前景色和背景色参数。
Hero引擎的CHECKITEM和TAKE操作普通背包,CHECKKIMNEEDLE和TAKEKIMNEEDLE操作金刚石仓库。如果毁灭系列材料存放在金刚石仓库中,需要将CHECKITEM改为CHECKKIMNEEDLE,TAKE改为TAKEKIMNEEDLE。Hero引擎的脚本文件通常以EquipSynthesis.txt或“合成系统.txt”命名,放置在QuestDiary目录下。
BLUE引擎的SCOLOR颜色代码与GOM的SCOLOR参数用法一致,但颜色编号需要根据BLUE引擎的调色板确认。BLUE引擎的CHECKGAMEGOLD检测元宝数量,GAMEGOLD扣除元宝,与Hero引擎命令完全一致。
GEE引擎的CHECKITEM和CHECKGAMEGOLD命令用法与GOM一致,SCOLOR参数格式相同。GEE引擎的GIVE命令在发放装备时不支持直接附加元素属性,需要使用GiveEx命令代替。
## 部署验证步骤
脚本文件放入Market_Def目录后,在M2控制台执行重新加载所有NPC。用一个拥有毁灭神剑和元宝的测试角色与NPC对话,依次验证:材料不足或元宝不足时MESSAGEBOX是否正确弹出提示、材料齐全时元宝和材料是否被正确扣除、合成装备是否正常发放到背包、SENDMSG全服广播是否显示正确。
如果合成装备未发放到背包,优先检查GIVE命令中的装备名称是否与物品数据库中的名称完全一致,名称错误会导致发放静默失败但材料已经被扣除。如果元宝被扣除但材料未扣除,检查TAKE命令中材料名称的拼写,与CHECKITEM检测的名称必须逐字匹配。如果合成后广播不显示,检查SENDMSG 0命令是否写在#ACT段内,以及%S的大小写是否与引擎规范一致。
传奇热血精炼炉脚本完整范例与三职业合成配置详解
来源:
作者:
点击:

