一、脚本核心说明
本脚本适配传奇服务端,实现两种物品合成模式,分别对应双材料合成与三材料合成,明确区分成功与失败的物品奖惩规则,无冗余逻辑,可直接嵌入服务端脚本文件调用。脚本兼容常见服务端引擎,支持物品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.脚本代码
//双材料合成(乌木剑+黑铁矿=铁剑)
functionSynthesis_DoubleMaterial(player){
//检测背包物品
if(player.HaveItem(10011)&&player.HaveItem(10021)){
//合成概率判定(默认50%)
letsuccessRate=50;
letrandomNum=Math.floor(Math.random()*100)+1;
if(randomNum<=successRate){
//合成成功:扣除材料,发放物品C
player.DelItem(10011);
player.DelItem(10021);
player.AddItem(10031);
player.SendMsg("合成成功!获得【铁剑】x1");
}else{
//合成失败:扣除全部材料
player.DelItem(10011);
player.DelItem(10021);
player.SendMsg("合成失败!材料已全部消耗");
}
}else{
player.SendMsg("背包缺少【乌木剑】或【黑铁矿】,无法合成");
}
}
四、三材料合成脚本(物品A+物品B+物品D)
1.脚本逻辑
检测玩家背包是否同时拥有物品A、物品B和物品D,满足条件触发合成。随机判定结果,成功则扣除全部材料并发放物品C,失败仅扣除物品B和物品D,保留物品A作为补偿。
2.脚本代码
//三材料合成(乌木剑+黑铁矿+金矿=铁剑)
functionSynthesis_TripleMaterial(player){
//检测背包物品
if(player.HaveItem(10011)&&player.HaveItem(10021)&&player.HaveItem(10041)){
//合成概率判定(默认50%,可与双材料模式区分设置)
letsuccessRate=50;
letrandomNum=Math.floor(Math.random()*100)+1;
if(randomNum<=successRate){
//合成成功:扣除全部材料,发放物品C
player.DelItem(10011);
player.DelItem(10021);
player.DelItem(10041);
player.AddItem(10031);
player.SendMsg("合成成功!获得【铁剑】x1");
}else{
//合成失败:扣除物品B和D,保留物品A
player.DelItem(10021);
player.DelItem(10041);
player.SendMsg("合成失败!保留【乌木剑】,消耗【黑铁矿】和【金矿】");
}
}else{
player.SendMsg("背包缺少【乌木剑】【黑铁矿】或【金矿】,无法合成");
}
}
五、脚本调用与适配
1.脚本挂载:将上述两个函数嵌入服务端物品合成NPC脚本中,通过NPC对话选项触发,分别对应双材料合成和三材料合成选项,玩家点击对应选项即可执行合成逻辑。
2.概率调整:若需区分两种合成模式的成功率,可修改对应函数内“successRate”数值,建议三材料合成概率高于双材料,提升三材料合成的吸引力。
3.物品替换:替换脚本内物品ID及对应提示文字,即可适配其他道具合成,例如将乌木剑替换为青铜剑、铁剑替换为钢剑,无需修改核心逻辑。
4.消息优化:提示文字可根据服务端话术风格调整,保持与游戏内其他提示统一,增强玩家体验。
六、脚本补充说明
脚本默认单次合成消耗1份材料,若需支持多份材料批量合成,可添加数量参数配置,增加“合成数量”输入项,同步修改物品扣除和发放的数量逻辑。同时需确保服务端开启背包物品检测权限,避免脚本执行时出现物品判定异常。
本脚本适配传奇服务端,实现两种物品合成模式,分别对应双材料合成与三材料合成,明确区分成功与失败的物品奖惩规则,无冗余逻辑,可直接嵌入服务端脚本文件调用。脚本兼容常见服务端引擎,支持物品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.脚本代码
//双材料合成(乌木剑+黑铁矿=铁剑)
functionSynthesis_DoubleMaterial(player){
//检测背包物品
if(player.HaveItem(10011)&&player.HaveItem(10021)){
//合成概率判定(默认50%)
letsuccessRate=50;
letrandomNum=Math.floor(Math.random()*100)+1;
if(randomNum<=successRate){
//合成成功:扣除材料,发放物品C
player.DelItem(10011);
player.DelItem(10021);
player.AddItem(10031);
player.SendMsg("合成成功!获得【铁剑】x1");
}else{
//合成失败:扣除全部材料
player.DelItem(10011);
player.DelItem(10021);
player.SendMsg("合成失败!材料已全部消耗");
}
}else{
player.SendMsg("背包缺少【乌木剑】或【黑铁矿】,无法合成");
}
}
四、三材料合成脚本(物品A+物品B+物品D)
1.脚本逻辑
检测玩家背包是否同时拥有物品A、物品B和物品D,满足条件触发合成。随机判定结果,成功则扣除全部材料并发放物品C,失败仅扣除物品B和物品D,保留物品A作为补偿。
2.脚本代码
//三材料合成(乌木剑+黑铁矿+金矿=铁剑)
functionSynthesis_TripleMaterial(player){
//检测背包物品
if(player.HaveItem(10011)&&player.HaveItem(10021)&&player.HaveItem(10041)){
//合成概率判定(默认50%,可与双材料模式区分设置)
letsuccessRate=50;
letrandomNum=Math.floor(Math.random()*100)+1;
if(randomNum<=successRate){
//合成成功:扣除全部材料,发放物品C
player.DelItem(10011);
player.DelItem(10021);
player.DelItem(10041);
player.AddItem(10031);
player.SendMsg("合成成功!获得【铁剑】x1");
}else{
//合成失败:扣除物品B和D,保留物品A
player.DelItem(10021);
player.DelItem(10041);
player.SendMsg("合成失败!保留【乌木剑】,消耗【黑铁矿】和【金矿】");
}
}else{
player.SendMsg("背包缺少【乌木剑】【黑铁矿】或【金矿】,无法合成");
}
}
五、脚本调用与适配
1.脚本挂载:将上述两个函数嵌入服务端物品合成NPC脚本中,通过NPC对话选项触发,分别对应双材料合成和三材料合成选项,玩家点击对应选项即可执行合成逻辑。
2.概率调整:若需区分两种合成模式的成功率,可修改对应函数内“successRate”数值,建议三材料合成概率高于双材料,提升三材料合成的吸引力。
3.物品替换:替换脚本内物品ID及对应提示文字,即可适配其他道具合成,例如将乌木剑替换为青铜剑、铁剑替换为钢剑,无需修改核心逻辑。
4.消息优化:提示文字可根据服务端话术风格调整,保持与游戏内其他提示统一,增强玩家体验。
六、脚本补充说明
脚本默认单次合成消耗1份材料,若需支持多份材料批量合成,可添加数量参数配置,增加“合成数量”输入项,同步修改物品扣除和发放的数量逻辑。同时需确保服务端开启背包物品检测权限,避免脚本执行时出现物品判定异常。

