单机架设传奇,调充值NPC一般分两种思路。一种是直接通过M2后台给人物加元宝、RMB点、金刚石等货币,适合单机自己玩。另一种是修改充值NPC脚本,让它能直接发放货币,适合需要游戏内领取的场景。
先说最简单的M2后台方法。进入游戏后,打开M2Server控制台,找到在线人物或人物管理,双击自己的角色名。在人物属性里可以直接修改金币、元宝、游戏点、RMB点、声望、金刚石等数值。改完保存即可生效。这种方法不需要动脚本,单机测试最方便。
如果要调充值NPC,先找到游戏里的充值NPC,记住它的名字。然后打开服务端目录D:MirServerMir200EnvirMerchant.txt,搜索这个NPC名字,确认它对应的脚本路径。Merchant.txt的格式一般是:
脚本路径地图编号X坐标Y坐标NPC名称方向外观代码沙城属性是否移动移动间隔
例如:
充值使者3333333充值使者012000
确认脚本路径后,进入D:MirServerMir200EnvirMarket_Def目录,找到对应的NPC脚本文件。打开后查找“领取”按钮对应的段落,通常会有类似这样的结构:
[@领取]
IF
CheckAccountList..QuestDiary充值RMB1.txt
ACT
GAMEPOINT+10
DelAccountList..QuestDiary充值RMB1.txt
SENDMSG1恭喜玩家%s充值成功
这里的GAMEPOINT+10就是发放RMB点的命令。不同版本货币命令可能不同,常见命令有:
GAMEGOLD+数量发放元宝
GAMEPOINT+数量发放RMB点或充值点
GAMEGOLD=数量直接设置元宝数量
GIVE物品名数量发放物品
GIVE金币数量发放金币
如果是单机测试,可以把CheckAccountList这行检测去掉,直接保留#ACT下面的发放命令。例如改成:
[@领取]
IF
ACT
GAMEGOLD+10000
SENDMSG1恭喜玩家%s领取10000元宝
这样点击领取按钮就会直接发放元宝,不需要走充值平台验证。
如果要新增一个充值NPC,可以在Market_Def目录下新建一个脚本文件,例如充值使者-3.txt,写入以下内容:
[@main]
IF
SAY
欢迎来到充值中心\
<领取1000元宝/@lingqu1000>\
<领取10000元宝/@lingqu10000>\
<离开/@exit>\
[@lingqu1000]
IF
ACT
GAMEGOLD+1000
SENDMSG1玩家%s领取了1000元宝
BREAK
[@lingqu10000]
IF
ACT
GAMEGOLD+10000
SENDMSG1玩家%s领取了10000元宝
BREAK
保存后,在Merchant.txt末尾添加一行:
充值使者-33333333充值使者012000
然后打开M2Server控制台,执行“重新加载所有NPC”或“ReloadNPC”,游戏内就会出现新的充值NPC。
如果版本使用了充值平台,充值NPC通常只负责验证平台返回的数据,真正发放货币的命令写在QuestDiary目录下的充值脚本里。这种情况下,直接修改QuestDiary里的脚本更直接。例如找到D:MirServerMir200EnvirQuestDiary充值RMB.txt,修改里面的发放命令即可。
需要注意,不同引擎的货币命令可能不一样。GOM、GEE引擎常用GAMEGOLD、GAMEPOINT;部分引擎可能用CREDITPOINT、DIAMOND等。如果不确定,可以先在M2后台查看人物属性里显示的是哪些货币字段,再对应修改脚本命令。
修改完脚本后一定要重新加载NPC或重启M2Server,否则游戏内不会生效。如果NPC点击没反应,检查Merchant.txt里的脚本路径是否和Market_Def目录下的文件名一致,文件编码是否为ANSI,脚本中的符号是否使用了英文半角。
先说最简单的M2后台方法。进入游戏后,打开M2Server控制台,找到在线人物或人物管理,双击自己的角色名。在人物属性里可以直接修改金币、元宝、游戏点、RMB点、声望、金刚石等数值。改完保存即可生效。这种方法不需要动脚本,单机测试最方便。
如果要调充值NPC,先找到游戏里的充值NPC,记住它的名字。然后打开服务端目录D:MirServerMir200EnvirMerchant.txt,搜索这个NPC名字,确认它对应的脚本路径。Merchant.txt的格式一般是:
脚本路径地图编号X坐标Y坐标NPC名称方向外观代码沙城属性是否移动移动间隔
例如:
充值使者3333333充值使者012000
确认脚本路径后,进入D:MirServerMir200EnvirMarket_Def目录,找到对应的NPC脚本文件。打开后查找“领取”按钮对应的段落,通常会有类似这样的结构:
[@领取]
IF
CheckAccountList..QuestDiary充值RMB1.txt
ACT
GAMEPOINT+10
DelAccountList..QuestDiary充值RMB1.txt
SENDMSG1恭喜玩家%s充值成功
这里的GAMEPOINT+10就是发放RMB点的命令。不同版本货币命令可能不同,常见命令有:
GAMEGOLD+数量发放元宝
GAMEPOINT+数量发放RMB点或充值点
GAMEGOLD=数量直接设置元宝数量
GIVE物品名数量发放物品
GIVE金币数量发放金币
如果是单机测试,可以把CheckAccountList这行检测去掉,直接保留#ACT下面的发放命令。例如改成:
[@领取]
IF
ACT
GAMEGOLD+10000
SENDMSG1恭喜玩家%s领取10000元宝
这样点击领取按钮就会直接发放元宝,不需要走充值平台验证。
如果要新增一个充值NPC,可以在Market_Def目录下新建一个脚本文件,例如充值使者-3.txt,写入以下内容:
[@main]
IF
SAY
欢迎来到充值中心\
<领取1000元宝/@lingqu1000>\
<领取10000元宝/@lingqu10000>\
<离开/@exit>\
[@lingqu1000]
IF
ACT
GAMEGOLD+1000
SENDMSG1玩家%s领取了1000元宝
BREAK
[@lingqu10000]
IF
ACT
GAMEGOLD+10000
SENDMSG1玩家%s领取了10000元宝
BREAK
保存后,在Merchant.txt末尾添加一行:
充值使者-33333333充值使者012000
然后打开M2Server控制台,执行“重新加载所有NPC”或“ReloadNPC”,游戏内就会出现新的充值NPC。
如果版本使用了充值平台,充值NPC通常只负责验证平台返回的数据,真正发放货币的命令写在QuestDiary目录下的充值脚本里。这种情况下,直接修改QuestDiary里的脚本更直接。例如找到D:MirServerMir200EnvirQuestDiary充值RMB.txt,修改里面的发放命令即可。
需要注意,不同引擎的货币命令可能不一样。GOM、GEE引擎常用GAMEGOLD、GAMEPOINT;部分引擎可能用CREDITPOINT、DIAMOND等。如果不确定,可以先在M2后台查看人物属性里显示的是哪些货币字段,再对应修改脚本命令。
修改完脚本后一定要重新加载NPC或重启M2Server,否则游戏内不会生效。如果NPC点击没反应,检查Merchant.txt里的脚本路径是否和Market_Def目录下的文件名一致,文件编码是否为ANSI,脚本中的符号是否使用了英文半角。

