传奇一条龙热血精炼炉脚本完整代码与命令解析

来源: 作者: 点击:
热血精炼炉是Legendm2引擎服务端中用于将低阶毁灭装备合成为热血套装的核心NPC。脚本主体分为主菜单入口、三职业分页和具体合成判定三段结构,全部通过IF/ACT/ELSEACT条件块驱动,不依赖额外插件。

主菜单使用[@main]标签定义入口。脚本开头直接输出文字“这里是<热血装备/SCOLOR=250>合成:炉”,随后以跳转链接方式列出四个分类入口:<合成:热血战/@热血战①>、<合成:热血法/@热血法②>、<合成:热血道/@热血道③>、<合成:热血四格/@热血四>。每个分类对应独立标签页。页面底部动态调用<$USERNAME>显示角色名,调用<$GAMEGOLD>显示当前元宝余额,让玩家在合成前直观确认货币数量。

[@热血战①]页面集中展示战士系热血装备的全部合成选项,每一行包含目标装备名、所需材料、材料数量和元宝费用四项信息。热血战刃需要毁灭神剑3把加50万元宝,热血战甲需要毁灭神甲3件加40万元宝,热血战衣需要毁灭神衣3件加40万元宝,热血战盔需要毁灭霸天盔3件加20万元宝,热血战链需要毁灭霸天链3件加20万元宝,热血战腕需要毁灭霸天镯3件加20万元宝,热血战戒需要毁灭霸天戒3件加20万元宝。每行末尾通过←箭头和SCOLOR颜色标记区分材料与费用,视觉上保持清晰。

[@热血法②]页面结构相同,面向法师系装备。热血魔杖对应毁灭法杖3把加50万元宝,热血魔甲对应毁灭神甲3件加40万元宝,热血魔衣对应毁灭神衣3件加40万元宝,热血法盔对应毁灭灭世盔3件加20万元宝,热血法链对应毁灭灭世链3件加20万元宝,热血法腕对应毁灭灭世镯3件加20万元宝,热血法戒对应毁灭灭世戒3件加20万元宝。

[@热血道③]页面处理道士系合成。热血宝扇需要毁灭羽扇3把加50万元宝,热血道衣需要毁灭神衣3件加40万元宝,后续道盔、道链、道腕、道戒分别对应毁灭灭世系列3件加20万元宝。

具体合成判定是脚本的核心执行段。以[@热血道衣]为例,完整逻辑如下:

#IF
CHECKITEM 毁灭神衣 3
CHECKGAMEGOLD > 400000
#ACT
GAMEGOLD - 400000
take 毁灭神衣 3
GIVE 热血道衣 1
GOTO @MAIN
BREAK
SENDMSG 0 恭喜[%s]在盟重(热血精炼炉)处成功合成:热血道衣。。。
#elseact
messagebox 材料不足,合成:失败!!

CHECKITEM检测背包中指定材料的数量,CHECKGAMEGOLD检测元宝是否超过设定阈值,两个条件同时满足才进入#ACT执行段。执行段按顺序扣元宝、扣除材料、发放成品、跳回主菜单、终止当前脚本,最后以SENDMSG 0向全服发送公告。若任一条件不满足,ELSEACT分支弹出messagebox提示材料不足。

其他装备的判定逻辑完全一致,仅替换CHECKITEM的材料名、CHECKGAMEGOLD的金额阈值以及GIVE的目标装备名。热血战刃和热血魔杖的元宝阈值为500000,热血宝扇同为500000。所有护甲、头盔、项链、手镯、戒指类合成统一为400000或200000两档。每条合成记录末尾均附带三条相同的SENDMSG 0公告,这是常见写法,保证公告在聊天框中的可见度。

脚本部署时需要注意几个技术细节。CHECKITEM的材料名称必须与StdItems.DB中的物品名完全一致,包括中文字符和空格。GAMEGOLD命令操作的是元宝变量,不是金币,如果版本中元宝存储在自定义变量中,需要将CHECKGAMEGOLD替换为对应的变量检测命令。SENDMSG 0中的%s会自动被引擎替换为触发合成的玩家角色名,盟重是公告中显示的地点文字,如果NPC实际放置在其他地图,应同步修改该文字以免误导玩家。

若合成后材料被扣除但成品未进入背包,通常是GIVE命令的物品名与DB中不匹配,或背包已满。可以在GIVE后追加CHECKITEM检测成品是否成功发放,不成功则通过GIVEBACK退回材料。元宝扣除使用GAMEGOLD - 400000,注意减号前后有空格,缺少空格会导致引擎将参数识别为负数报错。

脚本中所有跳转标签@热血战①、@热血法②、@热血道③以及各装备的独立标签都必须唯一且不与其他NPC脚本冲突。若同一地图存在多个使用@main标签的NPC,引擎会按加载顺序选择,建议将本脚本独立为单独NPC文件,标签名前缀可加上rexue_以规避冲突。