一、准备核心文件与工具
先确认服务器端核心文件夹位置,所有操作围绕\mir200\目录展开。需准备的文件包括:道具配置文件items.txt(部分版本为Items.xlsx)、NPC配置文件merchant.txt、脚本存放文件夹\envir\market_def\,以及文本编辑器(如记事本或Notepad++)。若道具需通过虚拟货币兑换,需提前明确货币对应代码(如元宝常用GAMEGOLD,金刚石常用GAMEDIAMOND)。
二、配置充值道具基础数据
编辑道具配置文件:打开items.txt(或Items.xlsx),按现有道具格式添加新条目。需确保“物品名称”与数据库内名称完全一致,否则会出现加载错误。若为可使用道具,Items.xlsx中需将Race值设为100,Script字段填写脚本函数名(如item.rechargeItem)。
关联道具功能脚本:若道具需特殊效果(如增加属性、传送地图),在\envir\脚本文件夹的item.lua中添加对应函数。函数格式为function函数名(playerItem),内部编写功能逻辑,返回1表示使用后道具消失,返回0则保留。
三、创建充值道具兑换NPC
配置NPC基础信息:打开\mir200\envir\merchant.txt,添加NPC条目,格式为“NPC名称地图代码坐标X坐标Y范围形象代码刷新时间”。例如添加“充值道具商”到比奇省,可写为“充值道具商0330330050”,其中0代表比奇省地图代码。
编写NPC交互脚本:在\mir200\envir\market_def\文件夹中创建“充值道具商-0”文本文件(后缀数字与地图代码一致),写入兑换脚本。基础格式如下:
(@main)
#say
<━━━━━━━━━━━━━━━━━━━━/SCOLOR=250>
<充值道具兑换/SCOLOR=250>
<100元宝-疗伤药(捆)/@drug1>
<500元宝-强化石/@stone1>
<关闭/@exit>
(@drug1)
#if
CHECKGAMEGOLD>99
CHECKBAGSIZE1
#act
GAMEGOLD-100
GIVE疗伤药(捆)1
sendmsg0恭喜($USERNAME)兑换疗伤药(捆)1个!
goto@main
#elseact
messagebox元宝不足100或背包无空格!
break
脚本中CHECKGAMEGOLD检查元宝数量,GIVE发放道具,sendmsg发送系统提示,可根据道具价格调整数值。
四、测试与生效
保存所有修改的文件,重启传奇服务器。
登录游戏后前往对应地图坐标,找到创建的NPC,点击选择道具兑换。
验证道具是否正常发放、货币是否正确扣除,若道具无效果需检查item.lua脚本函数是否正确。
若NPC未显示,在游戏内输入@reloadnpc命令刷新NPC信息。
先确认服务器端核心文件夹位置,所有操作围绕\mir200\目录展开。需准备的文件包括:道具配置文件items.txt(部分版本为Items.xlsx)、NPC配置文件merchant.txt、脚本存放文件夹\envir\market_def\,以及文本编辑器(如记事本或Notepad++)。若道具需通过虚拟货币兑换,需提前明确货币对应代码(如元宝常用GAMEGOLD,金刚石常用GAMEDIAMOND)。
二、配置充值道具基础数据
编辑道具配置文件:打开items.txt(或Items.xlsx),按现有道具格式添加新条目。需确保“物品名称”与数据库内名称完全一致,否则会出现加载错误。若为可使用道具,Items.xlsx中需将Race值设为100,Script字段填写脚本函数名(如item.rechargeItem)。
关联道具功能脚本:若道具需特殊效果(如增加属性、传送地图),在\envir\脚本文件夹的item.lua中添加对应函数。函数格式为function函数名(playerItem),内部编写功能逻辑,返回1表示使用后道具消失,返回0则保留。
三、创建充值道具兑换NPC
配置NPC基础信息:打开\mir200\envir\merchant.txt,添加NPC条目,格式为“NPC名称地图代码坐标X坐标Y范围形象代码刷新时间”。例如添加“充值道具商”到比奇省,可写为“充值道具商0330330050”,其中0代表比奇省地图代码。
编写NPC交互脚本:在\mir200\envir\market_def\文件夹中创建“充值道具商-0”文本文件(后缀数字与地图代码一致),写入兑换脚本。基础格式如下:
(@main)
#say
<━━━━━━━━━━━━━━━━━━━━/SCOLOR=250>
<充值道具兑换/SCOLOR=250>
<100元宝-疗伤药(捆)/@drug1>
<500元宝-强化石/@stone1>
<关闭/@exit>
(@drug1)
#if
CHECKGAMEGOLD>99
CHECKBAGSIZE1
#act
GAMEGOLD-100
GIVE疗伤药(捆)1
sendmsg0恭喜($USERNAME)兑换疗伤药(捆)1个!
goto@main
#elseact
messagebox元宝不足100或背包无空格!
break
脚本中CHECKGAMEGOLD检查元宝数量,GIVE发放道具,sendmsg发送系统提示,可根据道具价格调整数值。
四、测试与生效
保存所有修改的文件,重启传奇服务器。
登录游戏后前往对应地图坐标,找到创建的NPC,点击选择道具兑换。
验证道具是否正常发放、货币是否正确扣除,若道具无效果需检查item.lua脚本函数是否正确。
若NPC未显示,在游戏内输入@reloadnpc命令刷新NPC信息。

