自己搭建的单机私人服务器里,充值使者领不了元宝,其实是没找到对应的脚本触发文件。不用 M2 命令也能解决,关键是修改 NPC 对话脚本和元宝触发逻辑,按这三步操作即可:
第一步:给充值使者 “安个家”—— 配置 NPC 位置文件
充值使者需要先出现在游戏里,找到D:\MirServer\Mir200\Envir\Npcs\3.txt(3 是土城地图编号,其他地图对应 MapInfo.txt 里的编号),添加一行代码:
3 320 330 充值使者 100 0 0
320 330 是土城安全区坐标,可在游戏里按 F12 看当前坐标替换
100 是 NPC 外观编号(100 对应穿盔甲的老者形象)
保存后重启服务端,土城就会出现充值使者 NPC 了。
第二步:写对话脚本 —— 让 NPC 知道该做什么
找到D:\MirServer\Mir200\Envir\QuestDiary\普通NPC\充值使者.txt(如果没有就新建),写入对话逻辑:
[@main]
#IF
#ACT
SENDMSG 7 欢迎使用单机充值系统!
GOTO @领取元宝
[@领取元宝]
#IF
#ACT
GAMEGOLD + 1000 // 增加1000元宝,可改数值
SENDMSG 7 您已领取1000元宝,当前元宝:<$GAMEGOLD>
GOTO @领取礼包
[@领取礼包]
#IF
CHECKGAMEGOLD > 999 // 检测是否有1000元宝(触发礼包条件)
#ACT
TAKEGAMEGOLD 1000 // 扣除1000元宝
GIVE 金币 100000 // 赠送10万金币
GIVE 强效太阳水 10 // 赠送10瓶药水
SENDMSG 7 充值礼包领取成功!
#ELSE
SENDMSG 7 元宝不足,无法领取礼包!
这段脚本的逻辑是:对话后先给元宝,再判断元宝数量是否足够领礼包,符合单机 “自给自足” 的需求。
第三步:关联触发文件 —— 让脚本生效
打开D:\MirServer\Mir200\Envir\Market_Def\QFunction-0.txt,在末尾添加:
[@充值使者]
#CALL [普通NPC\充值使者.txt] @main
这行代码的作用是让游戏识别 “充值使者” 这个 NPC 对应的脚本文件。如果是 Hero 引擎,还需要在 M2Server 的 “脚本设置” 里勾选 “启用自定义 NPC 脚本”(不用输入命令,只是开启功能)。
关键检查点:确保脚本 “不卡壳”
文件名和路径必须一致:比如充值使者.txt不能写成冲值使者.txt,大小写也要注意(如GAMEGOLD不能小写)
符号全用英文半角:中文的逗号、引号会导致脚本失效
测试时新建角色:老角色可能需要重启服务端才能加载新脚本
这样修改后,点击充值使者就会自动触发元宝发放和礼包领取,完全不用 M2 命令。单机私人服务器的乐趣就在于这种 “自己当 GM” 的自由,调整数值时建议把元宝和礼包奖励按比例设置(比如 1000 元宝换一套新手装),既能体验领取快感,又不会破坏游戏平衡。如果想加更多档位,只需在充值使者.txt里复制@领取元宝段落,修改数值即可。

