一、先确认版本里首冲功能藏在哪
996引擎的单机版没有统一唯一的“首冲开关”,一般分布在三个位置:
1.引擎后台的充值设置界面
路径:启动GameCenter.exe后,登录管理员账号,进“功能配置”-“充值设置”,看有没有“开启首充活动”复选框。
2.服务端配置文件
常见位置:
D:\996MirServer\Config\Recharge.ini
D:\996MirServer\Data\PayData\FirstRecharge.txt
D:\996MirServer\Config\QcPay.ini(部分版本沿用GOM系结构)
3.NPC脚本文件
996的NPC脚本通常在:
D:\996MirServer\Data\NPCScript\(按地图分类的txt或lua)
D:\996MirServer\Mir200\Envir\Market_Def\(兼容老结构)
D:\996MirServer\Mir200\Envir\QuestDiary\(Lua版本)
进游戏前先用搜索工具在Mir200和Data目录里搜关键词:FirstRecharge、首充、首冲、U99、PayMoney、CheckPay,能直接定位到当前版本真实使用的文件,不用挨个猜。
二、后台图形界面开启(最省事)
如果引擎控制器里能看到首充模块,按下面顺序做:
1.打开GameCenter.exe,启动全部服务(数据库→网关→M2)。
2.进“功能配置”→“充值设置”→“首充活动”。
3.勾选“开启首充活动”,生效时间设“永久”。
4.首充金额填1(测试阶段填0或1都行,0代表免费首充直接触发)。
5.点“添加奖励”,选物品类型:元宝、装备、金币、技能书、赞助等级都行。
例:裁决x1、元宝x1000、烈火剑法x1。
6.触发方式选“首次充值自动发放”或“NPC手动领取”。
7.保存,重启M2(不是只重启网关,必须重启主程序)。
重启后进游戏建角色,走一次充值流程(单机可用M2在线人物直接改元宝,或点NPC模拟充值),看奖励是否进背包。
三、改配置文件开启(后台没有模块时用这个)
情况A:有Recharge.ini/QcPay.ini
用Notepad++打开,找下面几个字段,没有就手动加:
FirstRechargeMoney=1
OpenGift=1
FirstPayLimit=1
含义:
FirstRechargeMoney:首充触发门槛,1就是充1元触发,0是免费首充。
OpenGift:1开启礼包,0关闭。
FirstPayLimit:首充判定阈值,和上面的金额保持一致。
如果文件里写的是TriggerMoney或NeedPay,直接改等号后面的数字即可。
情况B:有FirstRecharge.txt(Hero/996混用结构)
打开后找:
FirstRechargeMoney=10
FirstRechargeReward=10011;10021000
TriggerCondition=1
改成:
FirstRechargeMoney=1
FirstRechargeReward=物品代码数量;物品代码数量
TriggerCondition=1
TriggerCondition=1是充值后自动发;=2是进游戏找NPC手动领。
物品代码去Mir200\Envir下的物品列表或StdItems里查,别凭名字瞎填,名字不对不报错但发不出来。
情况C:Lua脚本结构(996PC新版常见)
在Data\NPCScript里找到“首充使者”或“福利使者”脚本,看里面有没有类似:
ifPayMoney>=1then
GiveItem("元宝"1000)
SetVar("U99"1)
end
把>=后面的数字改成你要的门槛。注意996新热血类版本首冲货币检测用的是U99变量,做充值NPC时要把U99加进判断,不然会员扣除后首冲领不了。
四、配套改充值比例(不然1元发不出东西)
首充触发了但奖励不对,通常是元宝比例没同步。
打开:
D:\996MirServer\Mir200\!Setup.txt
或
D:\996MirServer\Config\RechargeConfig.ini
找:
PayRate=100
意思是1元=100元宝。你想让首充1元给1万元宝,就把PayRate改成10000,或者在首充奖励里直接写元宝数量,不走比例。
五、NPC手动领取的脚本写法
如果后台没模块,纯脚本跑首冲,在Market_Def或NPCScript里新建/编辑一个NPC:
SAY
首次充值奖励【@firstpay】
ACT
@firstpay
IF
CHECKVARU99=0
ACT
GIVE元宝1000
GIVE裁决1
SETVARU99=1
SAVEVARU99
SENDMSG6恭喜领取首充奖励!
关键点:
•U99是“是否已首充”标记,0没充,1充过。
•SAVEVAR必须写,不写重启M2后标记丢失,玩家能重复领。
•变量要在M2里开“启用玩家自定义变量”和“启用全局变量”,不然脚本读不到。
多角色同账号只想让一个号领,用全局变量GLOBAL_U99;想每个角色各领一次,用玩家变量。
六、单机怎么模拟“充值”触发
单机没真实支付回调,三种办法:
1.M2在线人物改数值
M2菜单→查看→在线人物→双击角色→直接改元宝/游戏点→保存。改完回游戏重开NPC对话框,脚本会读到“已充值”。
2.伪造充值记录
有些版本检测的是PayData下的txt记录,按格式加一行:
角色名1时间戳
保存后重载NPC脚本。
3.留一个测试命令
在NPC里临时加一句:
@testpay
ACT
SETVARU99=0
SENDMSG6已重置首充状态
测完删掉这段,别留线上。
七、改完不生效的排查顺序
1.文件编码:脚本txt必须是ANSI,UTF-8带BOM会乱码不加载。
2.改完有没有重启M2:只点“重新加载脚本”不够,首充配置通常要重启主程序。
3.变量名是否一致:脚本里写U99,配置里写U99,别一个大写一个小写。
4.NPC坐标对不对:游戏里@npcpos看坐标,确认NPC真的加载了。
5.首充金额字段是否被两个文件重复定义:Recharge.ini和FirstRecharge.txt同时有金额,优先以引擎实际读取的那个为准,另一个删掉或注释。
6.礼包物品代码不存在:发装备前先用GM命令@给物品物品ID1测一下ID对不对。
7.会员/赞助逻辑冲突:部分版本开通会员会扣U99对应的货币,导致首充判失败,把U99做成“不扣除”的独立计数。
八、测试流程
1.清掉旧角色或新建小号。
2.进游戏不领任何东西,先看首充NPC显示状态是不是“未充值”。
3.用M2改元宝模拟充值,或点测试充值。
4.回NPC点领取,确认背包拿到全部奖励。
5.再点一次,应该提示“已领取过首充”。
6.重启M2,重新登录,状态还在,说明SAVEVAR生效。
7.换同账号第二个角色,确认不会重复领(除非你故意设成可重复)。
九、常见参数参考
想做“1元首充送新手起步包”:
FirstRechargeMoney=1
奖励:元宝x5000、回城卷x20、强效金创药x50、随机传送石x10
想做“0元首充白嫖包”:
FirstRechargeMoney=0
奖励:元宝x1000、新手装备一套
想做“阶梯首充”:
首充1元档、首充10元档、首充50元档,各写一套NPC判断,用不同变量标记U99/U98/U97。
十、几个容易踩的坑
•996PC新版用Lua表,改完csv/xls要重新转lua,不然游戏里读不到新配置。
•防火墙别拦PayData目录写入,否则首充记录存不进去,永远显示未充值。
•登录器生成时如果开了“防作弊”,部分脚本命令会被过滤,测试阶段先关掉。
•首充奖励里别塞绑定物品当非绑定发,物品库里没勾“可交易”的,发出去也是绑定的。
•多开网关时,变量缓存可能不同步,改完配置统一重启全部服务,不要热更。
按上面顺序走,首冲值从开关、金额、比例、奖励、防重领到测试都能跑通。改文件前把FirstRecharge.txt、Recharge.ini、NPCScript里对应脚本各备一份备份,改崩了直接回滚。
996引擎的单机版没有统一唯一的“首冲开关”,一般分布在三个位置:
1.引擎后台的充值设置界面
路径:启动GameCenter.exe后,登录管理员账号,进“功能配置”-“充值设置”,看有没有“开启首充活动”复选框。
2.服务端配置文件
常见位置:
D:\996MirServer\Config\Recharge.ini
D:\996MirServer\Data\PayData\FirstRecharge.txt
D:\996MirServer\Config\QcPay.ini(部分版本沿用GOM系结构)
3.NPC脚本文件
996的NPC脚本通常在:
D:\996MirServer\Data\NPCScript\(按地图分类的txt或lua)
D:\996MirServer\Mir200\Envir\Market_Def\(兼容老结构)
D:\996MirServer\Mir200\Envir\QuestDiary\(Lua版本)
进游戏前先用搜索工具在Mir200和Data目录里搜关键词:FirstRecharge、首充、首冲、U99、PayMoney、CheckPay,能直接定位到当前版本真实使用的文件,不用挨个猜。
二、后台图形界面开启(最省事)
如果引擎控制器里能看到首充模块,按下面顺序做:
1.打开GameCenter.exe,启动全部服务(数据库→网关→M2)。
2.进“功能配置”→“充值设置”→“首充活动”。
3.勾选“开启首充活动”,生效时间设“永久”。
4.首充金额填1(测试阶段填0或1都行,0代表免费首充直接触发)。
5.点“添加奖励”,选物品类型:元宝、装备、金币、技能书、赞助等级都行。
例:裁决x1、元宝x1000、烈火剑法x1。
6.触发方式选“首次充值自动发放”或“NPC手动领取”。
7.保存,重启M2(不是只重启网关,必须重启主程序)。
重启后进游戏建角色,走一次充值流程(单机可用M2在线人物直接改元宝,或点NPC模拟充值),看奖励是否进背包。
三、改配置文件开启(后台没有模块时用这个)
情况A:有Recharge.ini/QcPay.ini
用Notepad++打开,找下面几个字段,没有就手动加:
FirstRechargeMoney=1
OpenGift=1
FirstPayLimit=1
含义:
FirstRechargeMoney:首充触发门槛,1就是充1元触发,0是免费首充。
OpenGift:1开启礼包,0关闭。
FirstPayLimit:首充判定阈值,和上面的金额保持一致。
如果文件里写的是TriggerMoney或NeedPay,直接改等号后面的数字即可。
情况B:有FirstRecharge.txt(Hero/996混用结构)
打开后找:
FirstRechargeMoney=10
FirstRechargeReward=10011;10021000
TriggerCondition=1
改成:
FirstRechargeMoney=1
FirstRechargeReward=物品代码数量;物品代码数量
TriggerCondition=1
TriggerCondition=1是充值后自动发;=2是进游戏找NPC手动领。
物品代码去Mir200\Envir下的物品列表或StdItems里查,别凭名字瞎填,名字不对不报错但发不出来。
情况C:Lua脚本结构(996PC新版常见)
在Data\NPCScript里找到“首充使者”或“福利使者”脚本,看里面有没有类似:
ifPayMoney>=1then
GiveItem("元宝"1000)
SetVar("U99"1)
end
把>=后面的数字改成你要的门槛。注意996新热血类版本首冲货币检测用的是U99变量,做充值NPC时要把U99加进判断,不然会员扣除后首冲领不了。
四、配套改充值比例(不然1元发不出东西)
首充触发了但奖励不对,通常是元宝比例没同步。
打开:
D:\996MirServer\Mir200\!Setup.txt
或
D:\996MirServer\Config\RechargeConfig.ini
找:
PayRate=100
意思是1元=100元宝。你想让首充1元给1万元宝,就把PayRate改成10000,或者在首充奖励里直接写元宝数量,不走比例。
五、NPC手动领取的脚本写法
如果后台没模块,纯脚本跑首冲,在Market_Def或NPCScript里新建/编辑一个NPC:
SAY
首次充值奖励【@firstpay】
ACT
@firstpay
IF
CHECKVARU99=0
ACT
GIVE元宝1000
GIVE裁决1
SETVARU99=1
SAVEVARU99
SENDMSG6恭喜领取首充奖励!
关键点:
•U99是“是否已首充”标记,0没充,1充过。
•SAVEVAR必须写,不写重启M2后标记丢失,玩家能重复领。
•变量要在M2里开“启用玩家自定义变量”和“启用全局变量”,不然脚本读不到。
多角色同账号只想让一个号领,用全局变量GLOBAL_U99;想每个角色各领一次,用玩家变量。
六、单机怎么模拟“充值”触发
单机没真实支付回调,三种办法:
1.M2在线人物改数值
M2菜单→查看→在线人物→双击角色→直接改元宝/游戏点→保存。改完回游戏重开NPC对话框,脚本会读到“已充值”。
2.伪造充值记录
有些版本检测的是PayData下的txt记录,按格式加一行:
角色名1时间戳
保存后重载NPC脚本。
3.留一个测试命令
在NPC里临时加一句:
@testpay
ACT
SETVARU99=0
SENDMSG6已重置首充状态
测完删掉这段,别留线上。
七、改完不生效的排查顺序
1.文件编码:脚本txt必须是ANSI,UTF-8带BOM会乱码不加载。
2.改完有没有重启M2:只点“重新加载脚本”不够,首充配置通常要重启主程序。
3.变量名是否一致:脚本里写U99,配置里写U99,别一个大写一个小写。
4.NPC坐标对不对:游戏里@npcpos看坐标,确认NPC真的加载了。
5.首充金额字段是否被两个文件重复定义:Recharge.ini和FirstRecharge.txt同时有金额,优先以引擎实际读取的那个为准,另一个删掉或注释。
6.礼包物品代码不存在:发装备前先用GM命令@给物品物品ID1测一下ID对不对。
7.会员/赞助逻辑冲突:部分版本开通会员会扣U99对应的货币,导致首充判失败,把U99做成“不扣除”的独立计数。
八、测试流程
1.清掉旧角色或新建小号。
2.进游戏不领任何东西,先看首充NPC显示状态是不是“未充值”。
3.用M2改元宝模拟充值,或点测试充值。
4.回NPC点领取,确认背包拿到全部奖励。
5.再点一次,应该提示“已领取过首充”。
6.重启M2,重新登录,状态还在,说明SAVEVAR生效。
7.换同账号第二个角色,确认不会重复领(除非你故意设成可重复)。
九、常见参数参考
想做“1元首充送新手起步包”:
FirstRechargeMoney=1
奖励:元宝x5000、回城卷x20、强效金创药x50、随机传送石x10
想做“0元首充白嫖包”:
FirstRechargeMoney=0
奖励:元宝x1000、新手装备一套
想做“阶梯首充”:
首充1元档、首充10元档、首充50元档,各写一套NPC判断,用不同变量标记U99/U98/U97。
十、几个容易踩的坑
•996PC新版用Lua表,改完csv/xls要重新转lua,不然游戏里读不到新配置。
•防火墙别拦PayData目录写入,否则首充记录存不进去,永远显示未充值。
•登录器生成时如果开了“防作弊”,部分脚本命令会被过滤,测试阶段先关掉。
•首充奖励里别塞绑定物品当非绑定发,物品库里没勾“可交易”的,发出去也是绑定的。
•多开网关时,变量缓存可能不同步,改完配置统一重启全部服务,不要热更。
按上面顺序走,首冲值从开关、金额、比例、奖励、防重领到测试都能跑通。改文件前把FirstRecharge.txt、Recharge.ini、NPCScript里对应脚本各备一份备份,改崩了直接回滚。

