封挂功能配置

微信验证:配套脚本安装与玩家自助操作

安装微信验证的配套 QF/QM 脚本,实现登录检测、二密验证、自助解绑、自助验证以及佣兵契约兼容等功能。

脚本安装总览

微信验证需要以下文件配合:

  • UserCmd.txt:自定义命令注册
  • QFunction-0.txt:验证触发与状态处理
  • QManage.txt:登录检测与初始化
以下 UserCmd 编号 5/6/7/8 不能与版本已有编号冲突,INTS 23/29 也不能冲突,可用蓝海变量查询核实后调整。

1. UserCmd.txt 配置

AC反挂二密验证        5
AC反挂二密通过        6
AC反挂二密取消        7
AC反挂拉黑            8

2. QFunction-0.txt 核心脚本

二密验证触发(玩家未绑定或机器码变更)

[@UserCmd5]
#IF
Compval <$INTS23> ! <$HWIDLITE>
#ACT
; 将玩家传送到验证地图
MapMove B311 10 10
; 禁止交易、禁止丢弃等操作
SetAbility 20 1 99999999
SetAbility 21 1 99999999
SetAbility 22 1 99999999
Lockdown 1
; 发起验证请求
Sendmsg 5 【AC反挂需验证-<$INTS29>】
SENDMSG 7 您的机器码发生变更,请使用已关注公众号的微信重新验证
SENDMSG 7 如未绑定微信,请先关注公众号并发送验证码完成绑定
Break

二密验证通过

[@UserCmd6]
#IF
Compval <$PARAM(1)> ! 0 Str
#ACT
INTS 29 = <$PARAM(1)>
INTS 23 = <$HWIDLITE>
SetAbility 20 0 0
SetAbility 21 0 0
SetAbility 22 0 0
Lockdown 0
MapMove 3 330 330
SENDMSG 7 感谢您的配合,您已通过验证
Break

二密取消(玩家取消绑定后)

[@UserCmd7]
#ACT
MapMove B311 10 10
SetAbility 20 1 99999999
SetAbility 21 1 99999999
Lockdown 1
SENDMSG 7 您已取消微信绑定,请重新验证
Break

微信拉黑

[@UserCmd8]
#ACT
SetAbility 20 1 99999999
Lockdown 1
SENDMSG 7 您的微信ID已被拉黑,请联系客服
Break

3. 玩家自助操作

自助解绑(需要验证码)

在任意 NPC 脚本中使用:

[@自助解绑]
#IF
Compval <$INTS23> ! 0
#ACT
; 需要发送验证码,玩家自助解绑
Sendmsg 5 CMD=【AC反挂玩家解绑】

强制解绑(不需要验证码)

[@强制解绑]
#ACT
Sendmsg 5 CMD=【AC反挂自助解绑】

自助发起验证(防脱机)

可在任意脚本中发起主动验证,用于地图检测、回收检测等场景:

[@需要执行段脚本XXXXX]
#IF
; 防止玩家重复点击
equal S验证结果 正在验证
#ACT
SENDMSG 7 当前正在验证中,请耐心等待10-30秒
Break

#IF
; 随机检测,RANDOM 数字越大越不容易验证
RANDOM 30
equal S验证结果
#ACT
SetAbility 20 1 99999999
SetAbility 21 1 99999999
Lockdown 1
MOV S验证结果 正在验证
Sendmsg 5 CMD=【AC反挂自助验证】
SENDMSG 7 为了保障您的游戏权益,请使用微信重新验证
DELAYGOTO 60000 @超时
Break

#IF(1)
equal S验证结果 验证通过
equal S验证结果
#ACT
CLEARDELAYGOTO
MOV S验证结果
SENDMSG 7 验证通过
#ELSEACT
MESSAGEBOX 请您先通过微信验证
BREAK

[@超时]
#IF
!equal S验证结果 验证通过
#ACT
MOV S验证结果 验证超时
Break

验证通过时的处理(在 @UserCmd6 中):

[@UserCmd6]
#ACT
MOV S验证结果 验证通过
INTS 29 = <$PARAM(1)>
INTS 23 = <$HWIDLITE>
SetAbility 20 0 0
SetAbility 21 0 0
Lockdown 0
SENDMSG 7 感谢您的配合,您已通过验证
Break

4. 商人发货脚本兼容

如果版本中有商人发货、自助交易等使用 UserCmd 的功能,需在脚本头做验证限制:

; 新版引擎用(2021年5月后)
#IF(1)
Compval <$INTS23> = 0
Compval <$INTS23> ! <$HWIDLITE>
#ACT
MessageBox 您还未进行微信验证,禁止操作!
Break

; 老版引擎用
#IF
TRUE
#ACT
MOV S1 <$HWIDLITE>
DEC S1 10 15
#IF(1)
Compval <$INTS23> = 0
Compval <$INTS23> ! <$STR(S1)>
#ACT
MessageBox 您还未进行微信验证,禁止操作!
Break
最新引擎的 LockDown 类锁定命令较完备,保守起见建议所有版本都加上限制。

5. 佣兵契约兼容

如果使用契约佣兵系统进行角色交易,需在以下位置增加脚本:

创建契约角色成功时

[@NewCharByContractSuccess]
#IF
TRUE
#ACT
; 设置机器码为特殊值,表示佣兵压卡操作
Gmexecute INTS 23 <$PARAMSTR(2)> = 5201314

二密验证触发时解绑

[@UserCmd5]
#IF
Compval <$INTS23> = 5201314
#ACT
Sendmsg 5 【AC反挂不需验证-<$INTS29>】
Mov SAC <$INTS29>**********
Dec SAC 11 1000
INTS 23 = 0
INTS 29 = 0
MESSAGEBOX 角色转移成功,需要重新绑定新的微信号!请小退重新登录
Sendmsg 5 CMD=【AC反挂自助解绑】|<$STR(SAC)>
SetAbility 20 1 99999999
Lockdown 1
Break

相关阅读