你已有架设经验,"添加充值道具"在单机版里通常指两件事:①在服务端物品库新建一种可用元宝购买的道具(装备/消耗品/礼包),②把它挂到元宝商城NPC或充值NPC供角色花元宝购买。以下按 Hero/Blue/GOM 主流引擎说明。
一、在物品数据库新建充值可买道具(StdItems.DB)
若只是把已有装备挂商城卖可跳过这步,要加全新命名道具(如"首充大礼包""元宝药水")需先入库。
1. 打开 BDE Administrator → 连 HeroDB → 打开 StdItems.DB。
2. 找一行空白记录或复制近似物品(如复制"祝福油"做消耗品,复制"裁决之杖"做武器)。
3. 关键字段修改:
• Name:道具显示名,如 首充大礼包(须唯一,不带特殊符号)
• Shape:外观编号(武器/衣服对应职业外观,消耗品一般0或参照原版)
- Looks(部分版叫 Appr):图标格号,对应客户端 Data\Items.wil 里的帧序号
• Dura / DurMax:耐久
• AC/DC/MC/SC/NeedLevel 等:按你要的属性填
- Price:NPC售价(金币价,元宝购买可不依赖它,但建议填个参考值)
• Stock:一般填0(不限制商店库存)
4. Ctrl+S 保存→重启M2或重读物品数据。
图标素材:用 WIL 编辑器打开客户端 Data\Items.wil 导出某格改色再导回未占用格,记下格号填 Looks 字段。若懒得改图可直接复用已有图标。
二、添加元宝商城/充值NPC(花元宝购买道具)
方式A:普通元宝商人NPC(最常用,单机推荐)
① 注册NPC
打开 MirServer\Mir200\Envir\MerChant.txt(有的叫 Merchants.txt)末尾加:
元宝商城 0 330 270 元宝商城 0 45 0 0
参数含义:脚本文件名 地图号(X:330 Y:270) 显示名 方向 外观码 预留 预留。放比奇安全区附近方便测试(地图0=比奇)。
② 写NPC脚本
在 MirServer\Mir200\Envir\Market_Def\ 新建 元宝商城-0.txt,内容示例:
; ===== 主页面 =====
[@main]
#SAY
欢迎来到元宝商城!用元宝兑换以下物品:\ \
<◆ 首充大礼包(888元宝) /@BuyGift>\
<◆ 随机传送石×10(200元宝) /@BuyRnd>\
<◆ 沃玛戒指(1500元宝) /@BuyWoMa>\
<离开/@exit>
; ===== 购买首充大礼包 =====
[@BuyGift]
#IF
CHECKGAMEGOLD > 887 ; 检测元宝是否足够(实际需>=888,写>887)
#ACT
TAKE GAMEGOLD 888 ; 扣除元宝
GIVE 首充大礼包 1
SENDMSG 6 购买成功,获得首充大礼包!
BREAK
#ELSEACT
#SAY
元宝不足,需要888元宝!\ <返回/@main>
; ===== 购买随机传送石×10 =====
[@BuyRnd]
#IF
CHECKGAMEGOLD > 199
#ACT
TAKE GAMEGOLD 200
GIVE 随机传送石 10
SENDMSG 6 购买成功,获得随机传送石×10!
BREAK
#ELSEACT
#SAY
元宝不足!\ <返回/@main>
; ===== 购买沃玛戒指 =====
[@BuyWoMa]
#IF
CHECKGAMEGOLD > 1499
#ACT
TAKE GAMEGOLD 1500
GIVE 沃玛戒指 1
SENDMSG 6 购买成功,获得沃玛戒指!
BREAK
#ELSEACT
#SAY
元宝不足!\ <返回/@main>
保存→M2点【控制】→【重新加载NPC脚本】或输 @ReloadNPC。进游戏去找NPC测试购买。
说明:CHECKGAMEGOLD 检测元宝(GameGold),TAKE GAMEGOLD 扣元宝。GIVE 物品名 数量 的物品名须与 StdItems.DB 中 Name 字段完全一致(含空格括号)。
方式B:标准商城窗口(部分引擎支持)
GOM/GEE 引擎支持弹标准商城购框,在脚本中用:
OPENSHOP 1
其中 Shop 编号对应 Mir200\Envir\Shop\ 下 1.sop(文本格式写明物品名+元宝价),较适合批量商品。Hero 老引擎一般只用方式A。
三、添加"充值使者"(模拟充值领元宝+NPC买道具二合一)
很多单机版喜欢做一个点一下就给元宝再引导去商城的NPC:
MerChant.txt 加:
充值使者 0 328 268 充值使者 0 8 0 0
Market_Def\充值使者-0.txt:
[@main]
你说\ \
<领取测试元宝(10万) /@getYG>\
<前往元宝商城购买道具 /@goMall>\
<离开/@exit>
[@getYG]
#IF
#ACT
GAMEGOLD + 100000
SENDMSG 6 成功获得100000元宝,快去商城逛逛!
BREAK
[@goMall]
#IF
#ACT
MapMove 0 330 270
BREAK
四、设置新建角色初始元宝(方便测试商城)
打开 MirServer\Mir200\!Setup.txt(或 Setup.ini)搜:
StartGameGold=0
改为 StartGameGold=10000(新号登录自带元宝数),保存重启M2。部分版本在 Mir200\Envir\Charge.ini 设 DefaultPoint=数值。
五、排错
• NPC不显示 — MerChant.txt 地图号错或坐标在障碍格,外观码先填0试;脚本文件名须与 Market_Def 下文件名前缀匹配(含地图号后缀)。
- 点购买提示元宝不足但明明有 — CHECKGAMEGOLD 条件写错(应 > 需付-1),或 TAKE GAMEGOLD 写成 TAKE GOLD(那是扣金币);确认你改的是 GameGold 不是 BindGold(绑定元宝用 CHECKBINDGAMEGOLD / TAKE BINDGAMEGOLD)。
- 给完物品不显示/给不了 — StdItems.DB 里物品 Name 和你 GIVE 写的不一致(常见差空格如"沃玛 戒指"vs"沃玛戒指"),去数据库确认精确名称。
• M2报脚本行错 — Notepad++ 检查有无中文引号、漏写 #ACT/#SAY、@标签拼写错。
- 商城窗口弹空 — GOM的 .sop 文件物品名不对或未放对应 Shop 目录,先验证方式A脚本能买再转标准商城。
单机传奇服务端添加充值道具元宝商城商品与充值NPC脚本配置完整教程
来源:
作者:
点击:

