一、准备核心文件与工具
先确认服务器端核心文件夹位置,所有操作围绕 \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 函数名(player,Item),内部编写功能逻辑,返回 1 表示使用后道具消失,返回 0 则保留。
三、创建充值道具兑换 NPC
配置 NPC 基础信息:打开 \mir200\envir\merchant.txt,添加 NPC 条目,格式为 “NPC 名称 地图代码 坐标 X 坐标 Y 范围 形象代码 刷新时间”。例如添加 “充值道具商” 到比奇省,可写为 “充值道具商 0 330 330 0 5 0”,其中 0 代表比奇省地图代码。
编写 NPC 交互脚本:在 \mir200\envir\market_def\ 文件夹中创建 “充值道具商 - 0” 文本文件(后缀数字与地图代码一致),写入兑换脚本。基础格式如下:
(@main)
#say
<━━━━━━━━━━━━━━━━━━━━/SCOLOR=250>
<充值道具兑换/SCOLOR=250>
<100元宝-疗伤药(捆)/@drug1>
<500元宝-强化石/@stone1>
<关闭/@exit>
(@drug1)
#if
CHECKGAMEGOLD > 99
CHECKBAGSIZE 1
#act
GAMEGOLD - 100
GIVE 疗伤药(捆) 1
sendmsg 0 恭喜($USERNAME)兑换疗伤药(捆)1个!
goto @main
#elseact
messagebox 元宝不足100或背包无空格!
break
脚本中CHECKGAMEGOLD检查元宝数量,GIVE发放道具,sendmsg发送系统提示,可根据道具价格调整数值。
四、测试与生效
保存所有修改的文件,重启传奇服务器。
登录游戏后前往对应地图坐标,找到创建的 NPC,点击选择道具兑换。
验证道具是否正常发放、货币是否正确扣除,若道具无效果需检查 item.lua 脚本函数是否正确。
若 NPC 未显示,在游戏内输入 @reloadnpc 命令刷新 NPC 信息。

