贾维斯117 发表于 2023-7-28 12:30:25

自动验证宏代码

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

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)


隐藏是一行宏,超级宏插件直接能用,偷懒整合再看吧{:5_121:}
/scriptFD = 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)

1121244962 发表于 2023-7-28 13:46:23

shenme ysii 我我我看不懂呢

lk47354813 发表于 2023-7-28 18:40:40

不错不错,差不多和我洗练装备的脚本一个思路

懒动行不行 发表于 2023-7-28 18:49:00

非常强大的楼主,值得我们学习{:5_236:}{:5_236:}{:5_236:}

一路小跑 发表于 2023-7-29 13:38:45

哪种验证码?截图看看呀

szwoshilai 发表于 2023-7-29 14:00:59

怎么用啊?看不明白呢

二指禅师 发表于 2023-7-29 19:19:23

看看.....,,,,,{:6_220:}

liuxuebo 发表于 2023-7-29 22:56:26

牛   大佬回复一下 看看看学习

shangxin95 发表于 2023-7-30 10:14:48

刚好遇到一个九宫格验证的服务器 学习了

haorenyuan 发表于 2023-7-31 13:40:12

这东西太高级了吧,想想都可怕啊
页: [1] 2 3 4 5 6 7 8
查看完整版本: 自动验证宏代码