传奇服务端合成脚本 双案例实操编写指南

来源: 作者: 点击:
本文所述传奇服务端合成脚本,适配主流引擎,核心实现两类合成逻辑:双材料合成(成功得目标物、失败失所有材料)、三材料合成(成功得目标物、失败仅保留核心材料),以NPC为触发载体,通过条件判断管控合成流程。

合成脚本核心依赖NPC对话触发,以(@main)为入口,搭配#IF条件校验、#ACT执行操作、#SAY文本提示,同时通过随机数指令控制合成成功率,确保玩法合理性。脚本保存为TXT格式,存放至服务端指定路径即可生效。

核心基础指令说明:CheckItem检测物品持有量、Take扣除材料、Give发放合成物、Random设定随机成功率、#ELSE分支管控失败逻辑,所有指令需与游戏内物品名称、引擎语法精准适配。

案例一:乌木剑+黑铁矿合成铁剑(双材料合成),成功得铁剑,失败失去所有材料,脚本代码及解析如下:

(@main) ;NPC点击触发入口

#SAY

装备合成服务开启中!\

1. 乌木剑+黑铁矿 → 铁剑(成功率50%)\

成功得铁剑,失败失去所有材料。\

<开始合成(双材料)/@ComposeTwo> <查看三材料合成/@ComposeThree> <退出/@exit>

(@ComposeTwo) ;双材料合成代码段

#IF ;校验材料是否充足

CheckItem 乌木剑 1

CheckItem 黑铁矿 1

CheckBaggage ;检测背包是否有空闲位置放铁剑

#ACT

Take 乌木剑 1 ;扣除两种材料

Take 黑铁矿 1

Random 100 ;生成0-99随机数,控制成功率

#IF ;50%成功率(随机数≤49为成功)

RandomNum <= 49

#ACT

Give 铁剑 1 ;发放合成物

#SAY 合成成功!获得铁剑1把。

#ELSE ;合成失败逻辑

#SAY 合成失败!乌木剑与黑铁矿已损耗。

Close

#ELSESAY ;材料不足或背包满时提示

背包空间不足,或未集齐乌木剑与黑铁矿!\

<返回/@main>

上述脚本中,Random 100搭配RandomNum条件控制成功率,可按需调整数值(如RandomNum≤39即为40%成功率);CheckBaggage指令避免合成成功后铁剑无法发放。

案例二:乌木剑+黑铁矿+金矿合成铁剑(三材料合成),成功得铁剑,失败仅保留乌木剑,脚本代码及解析如下:

(@ComposeThree) ;三材料合成代码段

#SAY

三材料合成规则:\

乌木剑+黑铁矿+金矿 → 铁剑(成功率60%)\

成功得铁剑,失败仅返还乌木剑。\

<确认合成(三材料)/@DoComposeThree> <返回/@main>

(@DoComposeThree)

#IF ;校验三种材料及背包空间

CheckItem 乌木剑 1

CheckItem 黑铁矿 1

CheckItem 金矿 1

CheckBaggage

#ACT

Take 黑铁矿 1 ;先扣除非核心材料

Take 金矿 1

Random 100 ;60%成功率(随机数≤59)

#IF

RandomNum <= 59

#ACT

Take 乌木剑 1 ;扣除核心材料

Give 铁剑 1 ;发放合成物

#SAY 合成成功!获得铁剑1把。

#ELSE ;失败返还乌木剑

#SAY 合成失败!仅返还乌木剑,黑铁矿与金矿已损耗。

Close

#ELSESAY

背包空间不足,或未集齐三种合成材料!\

<返回/@main>

该脚本通过优先扣除非核心材料(黑铁矿、金矿),失败时不扣除乌木剑,实现“失败仅得乌木剑”的需求;成功率可通过调整RandomNum数值灵活修改,适配不同玩法设定。

脚本存放与生效说明:将编写好的脚本保存为TXT文件,命名为合成脚本.txt,存放至服务端路径D:\MirServer\Mir200\Envir\QuestDiary\合成NPC,重启服务端引擎,创建对应NPC并绑定脚本入口,即可正常使用。

通用注意事项:一是物品名称需与服务端数据库完全一致,避免因名称误差导致脚本失效;二是不同引擎随机数指令可能有差异,部分引擎用Rand替代Random,需针对性调整;三是可新增#CALL指令关联其他脚本,拓展合成冷却、每日合成次数限制等功能。

脚本排查要点:若合成无反应,先检查材料名称与检测指令是否匹配;若奖励发放异常,校验背包检测指令是否添加;若成功率异常,核对Random与RandomNum的数值逻辑,确保符合预期设定。