找回密码
 立即注册
服务器名版本类型版本介绍玩家QQ群号星级
查看: 254|回复: 0

[通用宏] 自动验证宏代码(九宫格)

[复制链接]

1

主题

0

回帖

49

积分

新手上路

积分
49
发表于 2024-9-16 13:31:33 | 显示全部楼层 |阅读模式
138wow.com
QQ20240916-132821.jpg


用宏加载,或者用wowbee加载也行。
只在某群服尝试过,别的地方没试过,说下思路
先用/etrace命令,打开wow的调试窗口,在验证码出来后,找下事件,这个验证码是弹窗输出验证文字的,刚好事件CHAT_MSG_ADDON里面有正确答案,格式如下:1#6:8:4:9:3:1:2:7:5:
#前面就是正确答案,后面是弹窗后的9宫格排序。
于是写了以下代码,本来打算写正则来判断的,无奈正则苦手,用了笨办法,支持再点击关闭。


WBE版:
  1. FD = FD or CreateFrame("Frame")
  2. FD:RegisterEvent("CHAT_MSG_ADDON")

  3. if XD then
  4.   XD = nil
  5.   print("关闭验证")
  6. else
  7.   print("开启验证")
  8.   XD = function(_, _, m, s)
  9.     local d = select(2, s:gsub("#", ""))
  10.     local dd = select(2, s:gsub(":", ""))
  11.      
  12.     if d == 1 and dd == 9 then
  13.       --print(s .. "长度:" .. string.len(s))
  14.       
  15.       if string.len(s) == 20 then
  16.         local ddd = string.sub(s, 1, 1)
  17.         print("正确答案:" .. ddd)
  18.         RunMacroText("/click GhostAntiFarmFrameButton" .. ddd)
  19.       end
  20.     end
  21.   end
  22. end

  23. FD:SetScript("OnEvent", XD)
复制代码


傻瓜宏版:
  1. /script  FD = FD or CreateFrame("Frame") FD:RegisterEvent("CHAT_MSG_ADDON") if XD then XD = nil print("关闭验证") else print("开启验证") XD = function(_, _, m, s)  local d = select(2, s:gsub("#", "")) local dd = select(2, s:gsub(":", "")) if d == 1 and dd == 9 then print(s.."长度:"..string.len(s)) if string.len(s) == 20 then local ddd = string.sub(s, 1, 1) print("正确答案:"..ddd)  RunMacroText("/click GhostAntiFarmFrameButton" .. ddd) end end end end FD:SetScript("OnEvent", XD)
复制代码



您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|138wow魔兽私服论坛

GMT+8, 2024-11-24 21:35 , Processed in 0.042527 second(s), 23 queries .

Powered by Discuz! X3.5 Designed by 138wow.com © 魔兽世界私服,魔兽世界私服论坛

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表