传奇服务端合成脚本 双模式物品合成逻辑实现方案

来源: 作者: 点击:
一、脚本核心说明

本脚本适配传奇服务端,实现两种物品合成模式,分别对应双材料合成与三材料合成,明确区分成功与失败的物品奖惩规则,无冗余逻辑,可直接嵌入服务端脚本文件调用。脚本兼容常见服务端引擎,支持物品ID自定义替换,适配不同版本道具体系。

二、脚本基础参数配置

先定义合成所需物品ID(可根据服务端实际物品ID替换),示例中物品ID对应如下,实际使用时需同步服务端数据库配置:

- 物品A(乌木剑):ID=1001

- 物品B(黑铁矿):ID=1002

- 物品C(铁剑):ID=1003

- 物品D(金矿):ID=1004

合成概率可自定义调整,默认设置为50%成功率,可通过修改脚本内概率数值适配需求,数值范围为0-100(0为必败,100为必成)。

三、双材料合成脚本(物品A+物品B)

1. 脚本逻辑

检测玩家背包是否同时拥有物品A和物品B,满足条件即可触发合成。随机判定合成结果,成功则扣除材料并发放物品C,失败则扣除全部材料,无补偿物品。

2. 脚本代码

// 双材料合成(乌木剑+黑铁矿=铁剑)
function Synthesis_DoubleMaterial(player) {
// 检测背包物品
if (player.HaveItem(1001, 1) && player.HaveItem(1002, 1)) {
// 合成概率判定(默认50%)
let successRate = 50;
let randomNum = Math.floor(Math.random() * 100) + 1;

if (randomNum <= successRate) {
// 合成成功:扣除材料,发放物品C
player.DelItem(1001, 1);
player.DelItem(1002, 1);
player.AddItem(1003, 1);
player.SendMsg("合成成功!获得【铁剑】x1");
} else {
// 合成失败:扣除全部材料
player.DelItem(1001, 1);
player.DelItem(1002, 1);
player.SendMsg("合成失败!材料已全部消耗");
}
} else {
player.SendMsg("背包缺少【乌木剑】或【黑铁矿】,无法合成");
}
}

四、三材料合成脚本(物品A+物品B+物品D)

1. 脚本逻辑

检测玩家背包是否同时拥有物品A、物品B和物品D,满足条件触发合成。随机判定结果,成功则扣除全部材料并发放物品C,失败仅扣除物品B和物品D,保留物品A作为补偿。

2. 脚本代码

// 三材料合成(乌木剑+黑铁矿+金矿=铁剑)
function Synthesis_TripleMaterial(player) {
// 检测背包物品
if (player.HaveItem(1001, 1) && player.HaveItem(1002, 1) && player.HaveItem(1004, 1)) {
// 合成概率判定(默认50%,可与双材料模式区分设置)
let successRate = 50;
let randomNum = Math.floor(Math.random() * 100) + 1;

if (randomNum <= successRate) {
// 合成成功:扣除全部材料,发放物品C
player.DelItem(1001, 1);
player.DelItem(1002, 1);
player.DelItem(1004, 1);
player.AddItem(1003, 1);
player.SendMsg("合成成功!获得【铁剑】x1");
} else {
// 合成失败:扣除物品B和D,保留物品A
player.DelItem(1002, 1);
player.DelItem(1004, 1);
player.SendMsg("合成失败!保留【乌木剑】,消耗【黑铁矿】和【金矿】");
}
} else {
player.SendMsg("背包缺少【乌木剑】【黑铁矿】或【金矿】,无法合成");
}
}

五、脚本调用与适配

1. 脚本挂载:将上述两个函数嵌入服务端物品合成NPC脚本中,通过NPC对话选项触发,分别对应双材料合成和三材料合成选项,玩家点击对应选项即可执行合成逻辑。

2. 概率调整:若需区分两种合成模式的成功率,可修改对应函数内“successRate”数值,建议三材料合成概率高于双材料,提升三材料合成的吸引力。

3. 物品替换:替换脚本内物品ID及对应提示文字,即可适配其他道具合成,例如将乌木剑替换为青铜剑、铁剑替换为钢剑,无需修改核心逻辑。

4. 消息优化:提示文字可根据服务端话术风格调整,保持与游戏内其他提示统一,增强玩家体验。

六、脚本补充说明

脚本默认单次合成消耗1份材料,若需支持多份材料批量合成,可添加数量参数配置,增加“合成数量”输入项,同步修改物品扣除和发放的数量逻辑。同时需确保服务端开启背包物品检测权限,避免脚本执行时出现物品判定异常。