解放双手,三国杀十周年逐鹿自动刷

in 快乐脚本 with 1 comment

三国杀逐鹿是一个非常无聊的点点点过程,手动操作过于乏味。为了解决这个问题,曾尝试过网上的鼠标连点器之类的应用,但终究对这些不太放心,索性打算自己写一个。

网上搜了下,发现 v2ex 有提到一个名为 autohotkey 的项目,下载了后觉得这软件确实厉害,上手也快,于是就编写了三国杀逐鹿脚本。

原理

一次逐鹿挑战实际上只需要用鼠标点四次,开始挑战、开始确认、完成挑战、完成确认。中间的时间差也比较固定,只有从开始确认到完成挑战这一段时间略有区别。为了解决这个问题,我才用了先检测颜色,如果颜色符合预期,再执行点击的方法。

基本逻辑如下,预先找到三国杀十周年的客户端窗口,并将其设定到固定坐标、固定窗口大小。

接下来,只需要检测固定坐标的颜色,执行点击。循环 n 次,即可完成逐鹿挑战。

脚本

可刷取 105、110、115 等关卡

注意,以下脚本是针对三国杀十周年官方客户端编写,不保证对其他第三方客户端有效。

此外,颜色采样来自我自己的电脑,如果和你的不一致,你可能还需要自己调整。(开了护眼模式也有可能会导致颜色不一致

; sgs #1:

InputBox, count, Loop Count, , , 200, 120, , , , , 5
if ErrorLevel 
    Exit

WinGet, id, ID, ahk_exe Sgsc10th.exe
WinMove, ahk_id %id%, ,0 ,0 ,1600, 900
Loop, %count%
{
CheckClick(1409, 544, 0x132231)
CheckClick(1214, 759, 0x6DE3FD)
Sleep, 16000
CheckClick(785, 784, 0x3F454C)
CheckClick(838, 781, 0x66E0FE)
}

MsgBox ok: %count%.


CheckClick(x,y,c)
{
PixelGetColor, color, %x%, %y%
while (color!=c){
    Sleep, 1000
    PixelGetColor, color, %x%, %y%
}
MouseClick, left, %x%, %y%
}

编译后

为了省去下载 autohotkey 的繁琐,我特意编译了 Windows 版的软件,使用也比较简单。

  1. 下载 软件
  2. 打开并登录三国杀官方客户端,将页面打开至逐鹿,默认刷取当前页面的第五关(即105image-20210227144422665.png
  3. 找到sgs脚本,鼠标右键,以管理员身份运行,输入要刷取的体力数目,sgs 将会被移动到屏幕的左上角,并自动设置大小。注意不要最小化 sgs 窗口,以免脚本找不到 sgs。
    image-20210227144646467.png
  4. 输入体力后,如果没有开始刷取,请把无关窗口最小化,以免影响点击。下图是刷取完成的结果~image-20210227145323106.png

附录:

autohotkey 官网:https://www.autohotkey.com/

自己编译的 sgs 小脚本:https://cdn.onesrc.cn/uploads/app/sgs-210227.exe

上一篇: 2021春晚节目单
下一篇: 2021 如何优雅地使用 flash
Responses
  1. Him

    请问大神能不能出一个怎么查看三国杀未来活动的教程。

    Reply