传奇单机版充值NPC配置方法:脚本编写货币命令与M2后台充值详解

来源: 作者: 点击:
单机架设传奇,调充值NPC一般分两种思路。一种是直接通过M2后台给人物加元宝、RMB点、金刚石等货币,适合单机自己玩。另一种是修改充值NPC脚本,让它能直接发放货币,适合需要游戏内领取的场景。

先说最简单的M2后台方法。进入游戏后,打开M2Server控制台,找到在线人物或人物管理,双击自己的角色名。在人物属性里可以直接修改金币、元宝、游戏点、RMB点、声望、金刚石等数值。改完保存即可生效。 这种方法不需要动脚本,单机测试最方便。

如果要调充值NPC,先找到游戏里的充值NPC,记住它的名字。然后打开服务端目录 D:MirServerMir200EnvirMerchant.txt,搜索这个NPC名字,确认它对应的脚本路径。 Merchant.txt的格式一般是:

脚本路径 地图编号 X坐标 Y坐标 NPC名称 方向 外观代码 沙城属性 是否移动 移动间隔

例如:

充值使者 3 333 333 充值使者 0 12 0 0 0

确认脚本路径后,进入 D:MirServerMir200EnvirMarket_Def 目录,找到对应的NPC脚本文件。打开后查找“领取”按钮对应的段落,通常会有类似这样的结构:

[@领取]
IF
CheckAccountList ..QuestDiary充值RMB1.txt
ACT
GAMEPOINT + 10
DelAccountList ..QuestDiary充值RMB1.txt
SENDMSG 1 恭喜玩家%s充值成功

这里的 GAMEPOINT + 10 就是发放RMB点的命令。不同版本货币命令可能不同,常见命令有:

GAMEGOLD + 数量 发放元宝
GAMEPOINT + 数量 发放RMB点或充值点
GAMEGOLD = 数量 直接设置元宝数量
GIVE 物品名 数量 发放物品
GIVE 金币 数量 发放金币

如果是单机测试,可以把CheckAccountList这行检测去掉,直接保留#ACT下面的发放命令。例如改成:

[@领取]
IF
ACT
GAMEGOLD + 10000
SENDMSG 1 恭喜玩家%s领取10000元宝

这样点击领取按钮就会直接发放元宝,不需要走充值平台验证。

如果要新增一个充值NPC,可以在Market_Def目录下新建一个脚本文件,例如 充值使者-3.txt,写入以下内容:

[@main]
IF
SAY
欢迎来到充值中心\
<领取1000元宝/@lingqu1000>\
<领取10000元宝/@lingqu10000>\
<离开/@exit>\

[@lingqu1000]
IF
ACT
GAMEGOLD + 1000
SENDMSG 1 玩家%s领取了1000元宝
BREAK

[@lingqu10000]
IF
ACT
GAMEGOLD + 10000
SENDMSG 1 玩家%s领取了10000元宝
BREAK

保存后,在Merchant.txt末尾添加一行:

充值使者-3 3 333 333 充值使者 0 12 0 0 0

然后打开M2Server控制台,执行“重新加载所有NPC”或“Reload NPC”,游戏内就会出现新的充值NPC。

如果版本使用了充值平台,充值NPC通常只负责验证平台返回的数据,真正发放货币的命令写在QuestDiary目录下的充值脚本里。 这种情况下,直接修改QuestDiary里的脚本更直接。例如找到 D:MirServerMir200EnvirQuestDiary充值RMB.txt,修改里面的发放命令即可。

需要注意,不同引擎的货币命令可能不一样。GOM、GEE引擎常用GAMEGOLD、GAMEPOINT;部分引擎可能用CREDITPOINT、DIAMOND等。如果不确定,可以先在M2后台查看人物属性里显示的是哪些货币字段,再对应修改脚本命令。

修改完脚本后一定要重新加载NPC或重启M2Server,否则游戏内不会生效。如果NPC点击没反应,检查Merchant.txt里的脚本路径是否和Market_Def目录下的文件名一致,文件编码是否为ANSI,脚本中的符号是否使用了英文半角。