一、合成脚本核心说明(适配主流引擎)
1.适用引擎:兼容GOM、GEE、HERO等主流传奇服务端引擎,脚本格式通用,无需额外插件支持。
2.核心规则:按两种材料组合设定合成逻辑,明确成功/失败结果,无隐藏判定,可直接复制使用。
3.前置准备:确认服务端物品ID(乌木剑、黑铁矿、金矿、铁剑),需与脚本中ID一致(可在服务端Item.txt中查询);备份服务端Envir文件夹,避免脚本冲突。
注:以下脚本中物品ID为通用示例,需替换为自身服务端对应ID,示例ID:乌木剑131、黑铁矿41、金矿42、铁剑132。
二、两种合成方案脚本(完整可直接使用)
方案一:双材料合成脚本(乌木剑+黑铁矿=铁剑)
1.脚本功能
需求:消耗乌木剑1把+黑铁矿1块,合成成功率可自定义;成功产出铁剑1把,失败则消耗所有材料,无返还。
2.完整脚本代码
//双材料合成(乌木剑+黑铁矿=铁剑)
function双材料合成()
//定义物品ID与数量
local乌木剑ID=131
local黑铁矿ID=41
local铁剑ID=132
local合成成功率=50//百分比,可修改(1-100)
//检查背包是否拥有足够材料
ifnotCheckItemCount(乌木剑ID1)then
SendMsgToPlayer(PlayerIndex"合成失败:背包缺少乌木剑1把!")
return
end
ifnotCheckItemCount(黑铁矿ID1)then
SendMsgToPlayer(PlayerIndex"合成失败:背包缺少黑铁矿1块!")
return
end
//执行合成判定
local随机数=math.random(1100)
if随机数<=合成成功率then
//合成成功:扣除材料,给予产物
DelItem(乌木剑ID1)
DelItem(黑铁矿ID1)
AddItem(铁剑ID1)
SendMsgToPlayer(PlayerIndex"合成成功!获得铁剑1把!")
else
//合成失败:扣除所有材料
DelItem(乌木剑ID1)
DelItem(黑铁矿ID1)
SendMsgToPlayer(PlayerIndex"合成失败!所有材料已消耗!")
end
end
方案二:三材料合成脚本(乌木剑+黑铁矿+金矿=铁剑)
1.脚本功能
需求:消耗乌木剑1把+黑铁矿1块+金矿1块,合成成功率可自定义;成功产出铁剑1把,失败仅返还乌木剑,消耗黑铁矿与金矿。
2.完整脚本代码
//三材料合成(乌木剑+黑铁矿+金矿=铁剑)
function三材料合成()
//定义物品ID与数量
local乌木剑ID=131
local黑铁矿ID=41
local金矿ID=42
local铁剑ID=132
local合成成功率=60//百分比,可修改(1-100)
//检查背包是否拥有足够材料
ifnotCheckItemCount(乌木剑ID1)then
SendMsgToPlayer(PlayerIndex"合成失败:背包缺少乌木剑1把!")
return
end
ifnotCheckItemCount(黑铁矿ID1)then
SendMsgToPlayer(PlayerIndex"合成失败:背包缺少黑铁矿1块!")
return
end
ifnotCheckItemCount(金矿ID1)then
SendMsgToPlayer(PlayerIndex"合成失败:背包缺少金矿1块!")
return
end
//执行合成判定
local随机数=math.random(1100)
if随机数<=合成成功率then
//合成成功:扣除材料,给予产物
DelItem(乌木剑ID1)
DelItem(黑铁矿ID1)
DelItem(金矿ID1)
AddItem(铁剑ID1)
SendMsgToPlayer(PlayerIndex"合成成功!获得铁剑1把!")
else
//合成失败:扣除部分材料,返还乌木剑
DelItem(黑铁矿ID1)
DelItem(金矿ID1)
SendMsgToPlayer(PlayerIndex"合成失败5还乌木剑1把,黑铁矿与金矿已消耗!")
end
end
三、脚本安装与启用步骤(分引擎操作)
1.通用安装流程(所有引擎通用)
1.打开服务端根目录,定位到脚本文件夹:Envir\QuestDiary\(若无该文件夹,直接在Envir下新建“QuestDiary”文件夹)。
2.新建文本文档,将对应合成方案的脚本代码复制粘贴进去,保存并命名为“合成脚本.txt”(删除.txt后缀,确保文件无后缀)。
3.打开Envir\QuestDiary\QuestDiary.txt文件,在末尾添加一行:[@合成脚本]#include合成脚本,保存关闭。
2.引擎专属启用设置
(1)GOM/GEE引擎
1.运行M2Server.exe,点击顶部菜单栏“脚本”→“脚本设置”,勾选“启用自定义脚本”,点击“确定”。
2.点击“脚本”→“重载脚本”,提示“脚本重载成功”即可生效,无需重启服务端。
(2)HERO引擎
1.运行M2Server.exe,点击顶部菜单栏“选项”→“功能设置”→“脚本设置”,勾选“加载QuestDiary脚本”。
2.点击“控制”→“重启脚本引擎”,等待重启完成,脚本即可生效。
3.合成触发方式(两种可选)
1.NPC触发(推荐):在服务端Envir\NpcDef文件夹中,选择任意NPC(如比奇城铁匠),在其对话脚本中添加:
“#IF1#ACT双材料合成#SAY已为你执行乌木剑+黑铁矿合成!”(对应双材料合成,三材料同理替换为“三材料合成”)。
2.命令触发:在脚本开头添加触发命令,示例:[@命令触发]#ACT双材料合成,游戏内输入“@命令触发”即可执行合成。
四、脚本修改与自定义(按需调整)
1.调整合成成功率
找到脚本中“合成成功率=50”(双材料)或“合成成功率=60”(三材料),修改数值即可(1为最低成功率,100为必成)。
示例:将三材料合成成功率改为70,即“local合成成功率=70”。
2.替换物品与数量
1.替换物品:修改“local物品ID=数字”中的ID,替换为服务端对应物品ID(可在Envir\Item.txt中查询,格式为“ID物品名其他属性”)。
2.调整数量:修改CheckItemCount、DelItem、AddItem后的数字,即可调整材料消耗数量与产物数量。
示例:消耗2块黑铁矿合成,即“CheckItemCount(黑铁矿ID2)”“DelItem(黑铁矿ID2)”。
3.修改提示信息
修改SendMsgToPlayer后的文字内容,即可自定义合成成功/失败的提示语,示例:将“合成成功!获得铁剑1把!”改为“合成圆满成功,铁剑已放入背包!”。
五、常见故障排查(脚本无效/合成异常)
1.脚本无法触发
原因:脚本文件后缀未删除、QuestDiary.txt中路径填写错误、未重载脚本。
解决:确认脚本文件无.txt后缀;核对QuestDiary.txt中“#include合成脚本”与脚本文件名一致;重新重载脚本或重启脚本引擎。
2.提示缺少材料(实际拥有)
原因:物品ID填写错误、材料数量与脚本要求不一致、背包材料被绑定(部分服务端绑定物品不可用于合成)。
解决:重新查询Item.txt确认物品ID;调整脚本中材料数量;使用非绑定材料进行合成。
3.合成后无产物/材料未扣除
原因:产物ID填写错误、服务端物品产出限制、脚本语法错误(如缺少括号、标点符号)。
解决:核对产物ID;检查服务端是否限制物品产出;逐行核对脚本代码,补充缺失的括号、标点(脚本区分中英文标点,需使用英文标点)。
4.引擎提示脚本错误
原因:脚本格式不兼容、存在中文空格、变量名重复。
解决:删除脚本中的中文空格,替换为英文空格;修改重复的变量名(如将“三材料合成”改为“三材料铁剑合成”);确保所有函数、语句闭合完整。
六、注意事项(避免脚本异常)
1.编辑脚本时,务必使用记事本或专业文本编辑器(如Notepad++),保存为ANSI编码,避免格式错乱导致脚本失效。
2.修改脚本后,需重新重载脚本,否则修改内容不生效;若重载后仍异常,重启服务端即可。
3.两种合成脚本可同时安装,触发方式区分开即可(如不同NPC分别触发双材料、三材料合成)。
4.若服务端有合成冷却、等级限制等需求,可在脚本中添加对应判定(如添加等级限制:ifPlayerLevel<10then提示等级不足,returnend)。
1.适用引擎:兼容GOM、GEE、HERO等主流传奇服务端引擎,脚本格式通用,无需额外插件支持。
2.核心规则:按两种材料组合设定合成逻辑,明确成功/失败结果,无隐藏判定,可直接复制使用。
3.前置准备:确认服务端物品ID(乌木剑、黑铁矿、金矿、铁剑),需与脚本中ID一致(可在服务端Item.txt中查询);备份服务端Envir文件夹,避免脚本冲突。
注:以下脚本中物品ID为通用示例,需替换为自身服务端对应ID,示例ID:乌木剑131、黑铁矿41、金矿42、铁剑132。
二、两种合成方案脚本(完整可直接使用)
方案一:双材料合成脚本(乌木剑+黑铁矿=铁剑)
1.脚本功能
需求:消耗乌木剑1把+黑铁矿1块,合成成功率可自定义;成功产出铁剑1把,失败则消耗所有材料,无返还。
2.完整脚本代码
//双材料合成(乌木剑+黑铁矿=铁剑)
function双材料合成()
//定义物品ID与数量
local乌木剑ID=131
local黑铁矿ID=41
local铁剑ID=132
local合成成功率=50//百分比,可修改(1-100)
//检查背包是否拥有足够材料
ifnotCheckItemCount(乌木剑ID1)then
SendMsgToPlayer(PlayerIndex"合成失败:背包缺少乌木剑1把!")
return
end
ifnotCheckItemCount(黑铁矿ID1)then
SendMsgToPlayer(PlayerIndex"合成失败:背包缺少黑铁矿1块!")
return
end
//执行合成判定
local随机数=math.random(1100)
if随机数<=合成成功率then
//合成成功:扣除材料,给予产物
DelItem(乌木剑ID1)
DelItem(黑铁矿ID1)
AddItem(铁剑ID1)
SendMsgToPlayer(PlayerIndex"合成成功!获得铁剑1把!")
else
//合成失败:扣除所有材料
DelItem(乌木剑ID1)
DelItem(黑铁矿ID1)
SendMsgToPlayer(PlayerIndex"合成失败!所有材料已消耗!")
end
end
方案二:三材料合成脚本(乌木剑+黑铁矿+金矿=铁剑)
1.脚本功能
需求:消耗乌木剑1把+黑铁矿1块+金矿1块,合成成功率可自定义;成功产出铁剑1把,失败仅返还乌木剑,消耗黑铁矿与金矿。
2.完整脚本代码
//三材料合成(乌木剑+黑铁矿+金矿=铁剑)
function三材料合成()
//定义物品ID与数量
local乌木剑ID=131
local黑铁矿ID=41
local金矿ID=42
local铁剑ID=132
local合成成功率=60//百分比,可修改(1-100)
//检查背包是否拥有足够材料
ifnotCheckItemCount(乌木剑ID1)then
SendMsgToPlayer(PlayerIndex"合成失败:背包缺少乌木剑1把!")
return
end
ifnotCheckItemCount(黑铁矿ID1)then
SendMsgToPlayer(PlayerIndex"合成失败:背包缺少黑铁矿1块!")
return
end
ifnotCheckItemCount(金矿ID1)then
SendMsgToPlayer(PlayerIndex"合成失败:背包缺少金矿1块!")
return
end
//执行合成判定
local随机数=math.random(1100)
if随机数<=合成成功率then
//合成成功:扣除材料,给予产物
DelItem(乌木剑ID1)
DelItem(黑铁矿ID1)
DelItem(金矿ID1)
AddItem(铁剑ID1)
SendMsgToPlayer(PlayerIndex"合成成功!获得铁剑1把!")
else
//合成失败:扣除部分材料,返还乌木剑
DelItem(黑铁矿ID1)
DelItem(金矿ID1)
SendMsgToPlayer(PlayerIndex"合成失败5还乌木剑1把,黑铁矿与金矿已消耗!")
end
end
三、脚本安装与启用步骤(分引擎操作)
1.通用安装流程(所有引擎通用)
1.打开服务端根目录,定位到脚本文件夹:Envir\QuestDiary\(若无该文件夹,直接在Envir下新建“QuestDiary”文件夹)。
2.新建文本文档,将对应合成方案的脚本代码复制粘贴进去,保存并命名为“合成脚本.txt”(删除.txt后缀,确保文件无后缀)。
3.打开Envir\QuestDiary\QuestDiary.txt文件,在末尾添加一行:[@合成脚本]#include合成脚本,保存关闭。
2.引擎专属启用设置
(1)GOM/GEE引擎
1.运行M2Server.exe,点击顶部菜单栏“脚本”→“脚本设置”,勾选“启用自定义脚本”,点击“确定”。
2.点击“脚本”→“重载脚本”,提示“脚本重载成功”即可生效,无需重启服务端。
(2)HERO引擎
1.运行M2Server.exe,点击顶部菜单栏“选项”→“功能设置”→“脚本设置”,勾选“加载QuestDiary脚本”。
2.点击“控制”→“重启脚本引擎”,等待重启完成,脚本即可生效。
3.合成触发方式(两种可选)
1.NPC触发(推荐):在服务端Envir\NpcDef文件夹中,选择任意NPC(如比奇城铁匠),在其对话脚本中添加:
“#IF1#ACT双材料合成#SAY已为你执行乌木剑+黑铁矿合成!”(对应双材料合成,三材料同理替换为“三材料合成”)。
2.命令触发:在脚本开头添加触发命令,示例:[@命令触发]#ACT双材料合成,游戏内输入“@命令触发”即可执行合成。
四、脚本修改与自定义(按需调整)
1.调整合成成功率
找到脚本中“合成成功率=50”(双材料)或“合成成功率=60”(三材料),修改数值即可(1为最低成功率,100为必成)。
示例:将三材料合成成功率改为70,即“local合成成功率=70”。
2.替换物品与数量
1.替换物品:修改“local物品ID=数字”中的ID,替换为服务端对应物品ID(可在Envir\Item.txt中查询,格式为“ID物品名其他属性”)。
2.调整数量:修改CheckItemCount、DelItem、AddItem后的数字,即可调整材料消耗数量与产物数量。
示例:消耗2块黑铁矿合成,即“CheckItemCount(黑铁矿ID2)”“DelItem(黑铁矿ID2)”。
3.修改提示信息
修改SendMsgToPlayer后的文字内容,即可自定义合成成功/失败的提示语,示例:将“合成成功!获得铁剑1把!”改为“合成圆满成功,铁剑已放入背包!”。
五、常见故障排查(脚本无效/合成异常)
1.脚本无法触发
原因:脚本文件后缀未删除、QuestDiary.txt中路径填写错误、未重载脚本。
解决:确认脚本文件无.txt后缀;核对QuestDiary.txt中“#include合成脚本”与脚本文件名一致;重新重载脚本或重启脚本引擎。
2.提示缺少材料(实际拥有)
原因:物品ID填写错误、材料数量与脚本要求不一致、背包材料被绑定(部分服务端绑定物品不可用于合成)。
解决:重新查询Item.txt确认物品ID;调整脚本中材料数量;使用非绑定材料进行合成。
3.合成后无产物/材料未扣除
原因:产物ID填写错误、服务端物品产出限制、脚本语法错误(如缺少括号、标点符号)。
解决:核对产物ID;检查服务端是否限制物品产出;逐行核对脚本代码,补充缺失的括号、标点(脚本区分中英文标点,需使用英文标点)。
4.引擎提示脚本错误
原因:脚本格式不兼容、存在中文空格、变量名重复。
解决:删除脚本中的中文空格,替换为英文空格;修改重复的变量名(如将“三材料合成”改为“三材料铁剑合成”);确保所有函数、语句闭合完整。
六、注意事项(避免脚本异常)
1.编辑脚本时,务必使用记事本或专业文本编辑器(如Notepad++),保存为ANSI编码,避免格式错乱导致脚本失效。
2.修改脚本后,需重新重载脚本,否则修改内容不生效;若重载后仍异常,重启服务端即可。
3.两种合成脚本可同时安装,触发方式区分开即可(如不同NPC分别触发双材料、三材料合成)。
4.若服务端有合成冷却、等级限制等需求,可在脚本中添加对应判定(如添加等级限制:ifPlayerLevel<10then提示等级不足,returnend)。

