封挂功能配置
微信验证:配套脚本安装与玩家自助操作
安装微信验证的配套 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
