2024年5月11日发(作者:)

按键精灵教程:游戏辅助挂机掉线重连

高高兴兴写脚本,开开心心挂游戏~但是,网络渣的时候游戏掉线怎么办?(游戏掉线

还有可能是游戏服务器超负荷,例如热门游戏刚开服的时候,那掉线掉得脸都绿了。)晚上

挂机,早上起来看成果,映入眼帘的居然是游戏掉线提示~那么,用脚本该如何实现掉线重

连的功能呢?一起来了解看看。

脚本思路

脚本启动之后,循环判断游戏是否掉线,如果掉线则重登游戏,没有掉线则继续循环判断是

否掉线。

步骤

1 、监视游戏窗口。循环找掉线提示。

监视游戏窗口的方法:

1、 在主程序内调用子程序无限循环判断

弊端:如果主程序中有一个地方卡住了,那么作为监控用的子程序也会卡住,无法再进

行监测。

2、启动单独的线程来监视。

小编拿武尊游戏做个掉线重连的例子,这里我们选择单独线程的方式来监控。建立一个线程,

名作 :监视。

线程相关命令:

命令名称

命令功能

命令参数

返 回 值

BeginThread 同时运行过程

新开一个线程运行当前脚本,从指定的过程开始运行

过程名

整数型,线程ID

代码示例:线程ID=BeginThread(监视) //方法1:启动线程,并且将启动的线程的id返回给变量线程id

BeginThread 监视 //方法2:启动线程,没有返回值的写法

编程好习惯,启动了线程之后,不需要使用的时候要记得停止线程 。

命令名称

命令功能

命令参数

返 回 值

StopThread 停止线程运行

停止某个线程的运行

整数型,线程ID编号

代码示例: StopThread 线程ID

这里的停止是指关闭了线程。如果希望只是暂时停止线程,一会儿还要重新继续这个线程,可以使用暂

停线程的命令

命令名称

命令功能

命令参数

返 回 值

PauseThread 暂停线程运行

暂停某个线程的运行

整数型,线程ID

代码示例:PauseThread 线程ID

暂停之后想要继续运行线程,使用继续线程运行命令。 假设之前的线程是负责往记事本里依次输

入1-100的数字,当输入到59的时候我们停止了线程,那么脚本就暂停对记事本输入。当我们使用继续线程命

令恢复线程运行后,脚本会对记事本继续输入,继续输入60-100.

命令名称

命令功能

命令参数

返 回 值

ContinueThread 继续线程运行

继续某个线程的运行

整数型,线程ID

代码示例:ContinueThread 线程ID

启动“监视”线程代码:

线程ID = BeginThread(监视)

Sub 监视

//判断游戏是否掉线

End Sub

在线程中我们要循环查看游戏窗口中有没有出现掉线窗口,我们可以通过找字或者找图的方

法,找掉线窗口里的标识图文,例子中,小编使用找图的方法。

武尊掉线提示:

找图技巧:

1、 首先将运行游戏的浏览器大小调整到固定大小。本例子中浏览器的窗口大小为:

1024,900 浏览器:360浏览器 并且隐藏了浏览器收藏栏 收藏栏隐藏快捷键 ctrl+B

2、 把浏览器窗口先移动到屏幕左上角坐标(0,0)位置。

3、 使用抓抓工具将浏览器窗口整个抓取。

4、在抓抓图像里点击掉线窗口的左上角和右下角获取找图的范围。

左上角

右下角

5、 经过第四步获取到的找图的范围坐标是相对于屏幕的,如果浏览器窗口移动了,找图

范围就是错误的。所以,需要将屏幕坐标转换为浏览器窗口坐标。

2、点击确定重登游戏

武尊这款游戏,有的代理平台支持记录账号,有的平台不支持。也就是说,有的平台掉线之

后不需要再次输入账号密码,而有的则需要。

小编今天登录的是37武尊,这个平台是有记录账号功能的。

37武尊掉线处理有如下两种情况:

1、掉线断网的时间不长,那么点击掉线提示窗口里的确定之后即会回到,角色选择界面。

这个时候再点击进入游戏即可。

2、掉线断网时间过长,点击掉线提示窗口的确定之后会返回到武尊游戏的首页。这个时候

需要点击区服,进入到角色界面之后再点击进入游戏。

实际上,这两种情况,我们做三个判断就可以实现重连。

步骤:

1、找掉线窗口,找到则点击确定。

2、找武尊首页的标识图片,例子中小编找的是 武尊首页 这几个文字的截图

3、如果找到这张图,说明是第二种情况,掉线太久了之后返回到武尊游戏首页。

次进入的区服。

点击上

4、如果没有找武尊首页 的截图,则开始找 角色界面里的 进入游戏 按钮截图。找到则点

击。

代码

DimEnv sRect //定义环境变量 -因为这个值是要传递到线程中的,如果是局部变量是不支持线程的。

PutAttachment "c:","*.bmp" //释放图片

hwnd = oint() //获取鼠标指向窗口的窗口句柄

Call (hwnd, 1024, 900)//设置窗口大小为1024,900

sRect = entRect(Hwnd) //获取窗口客户区大小

//////////////////////////////////////////////////////////

BeginThread 监视

Sub 监视

MyArray = Split(sRect, "|")

Do //循环找掉线窗口,找到的话才进入第二个循环

L = Clng(MyArray(0)): T = Clng(MyArray(1)) //获取窗口左上角坐标

FindPic L+300,T+413,L+721,T+611,"C:掉线.bmp",0.9,intX,intY //找掉线重连图片

If intX > 0 And intY > 0 Then

MoveTo L + 568, T + 566

LeftClick 1

Do //第二个循环,循环找是不是首页,是的话点击进入区服,不是的话则进入下一个循环。

FindPic L+9,T+144,L+100,T+195,"C:武尊首页.bmp",0.9,intX,intY //找游戏首页里的 武尊首页 字体图片

判断是不是在游戏首页

If intX > 0 And intY> 0 Then

MoveTo L + 72, T + 683

LeftClick 1

Delay 200

End If

Do//第三个循环,找角色界面的进入游戏按钮,找到的话则点击,没有找到则继续查找

FindPic L+414,T+701,L+623,T+780,"C:进入游戏.bmp",0.9,intX,intY //找角色界面里的 进入游戏

字体图片 判断是不是在角色选择界面

If intX > 0 And intY > 0 Then

MoveTo intX,intY

LeftClick 1

Delay 200

End If

loop

Loop

End If

Loop

End sub