• 按键公众号 :
按键精灵电脑版
立即下载

软件版本:2014.06
软件大小:22.9M
更新时间:2021-12-03

按键精灵安卓版
立即下载

软件版本:3.7.2
软件大小:46.2M
更新时间:2023-05-10

按键精灵iOS版
立即下载

软件版本:1.8.0
软件大小:29.2M
更新时间:2023-03-21

按键手机助手
立即下载

软件版本:3.8.0
软件大小:262M
更新时间:2023-05-30

快捷导航

登录 后使用快捷导航
没有帐号? 注册

返回列表 12345678» / 11
发新话题 回复该主题

[技术交流] 【院刊】-【201412期】简单几个步骤实现游戏掉线重连 [复制链接]

1#

简单几个步骤实现游戏掉线重连

本文按键学院提供技术支持




高高兴兴写脚本,开开心心挂游戏~
但是,网络渣的时候游戏掉线怎么办?
(游戏掉线还有可能是游戏服务器超负荷,例如热门游戏刚开服的时候,那掉线掉得脸都绿了。)
晚上挂机,早上起来看成果,映入眼帘的居然是游戏掉线提示~
天啊~这不仅仅是损失一点点挂机成果,最伤的还是我们的心情。
掉线!掉线!多么烦躁!掉了就给我自己乖乖重新连上!

那么,用脚本该如何实现掉线重连的功能呢?
一起来了解看看。





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

您所在的用户组无法下载或查看附件


步骤
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


启动“监视”线程代码:
  1. 线程ID = BeginThread(监视)
  2. Sub 监视
  3. //判断游戏是否掉线
  4. End Sub
复制代码
在线程中我们要循环查看游戏窗口中有没有出现掉线窗口,我们可以通过找字或者找图的方法,找掉线窗口里的标识图文,例子中,小编使用找图的方法。


武尊掉线提示:

您所在的用户组无法下载或查看附件



找图技巧:

1、 首先将运行游戏的浏览器大小调整到固定大小。本例子中浏览器的窗口大小为:1024,900
浏览器:360浏览器 并且隐藏了浏览器收藏栏 收藏栏隐藏快捷键 ctrl+B

2、 把浏览器窗口先移动到屏幕左上角坐标(0,0)位置。
3、 使用抓抓工具将浏览器窗口整个抓取。
4、在抓抓图像里点击掉线窗口的左上角和右下角获取找图的范围。

您所在的用户组无法下载或查看附件


左上角




您所在的用户组无法下载或查看附件


右下角




5、 经过第四步获取到的找图的范围坐标是相对于屏幕的,如果浏览器窗口移动了,找图范围就是错误的。所以,需要将屏幕坐标转换为浏览器窗口坐标。 转换方法详见: 【院刊】-【201409期】前台坐标与后台坐标转换




2 点击确定重登游戏

武尊这款游戏,有的代理平台支持记录账号,有的平台不支持。也就是说,有的平台掉线之后不需要再次输入账号密码,而有的则需要。
小编今天登录的是37武尊,这个平台是有记录账号功能的。





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

1、掉线断网的时间不长,那么点击掉线提示窗口里的确定之后即会回到,角色选择界面。这个时候再点击进入游戏即可。
2、掉线断网时间过长,点击掉线提示窗口的确定之后会返回到武尊游戏的首页。这个时候需要点击区服,进入到角色界面之后再点击进入游戏。

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

步骤:
1、找掉线窗口,找到则点击确定。
2、找武尊首页的标识图片,例子中小编找的是 武尊首页 这几个文字的截图。
您所在的用户组无法下载或查看附件


3、如果找到这张图,说明是第二种情况,掉线太久了之后返回到武尊游戏首页。 点击上次进入的区服。

您所在的用户组无法下载或查看附件



4、如果没有找武尊首页 的截图,则开始找 角色界面里的 进入游戏 按钮截图。找到则点击。
您所在的用户组无法下载或查看附件

您所在的用户组无法下载或查看附件





代码

  1. DimEnv sRect //定义环境变量 -因为这个值是要传递到线程中的,如果是局部变量是不支持线程的。
  2. PutAttachment "c:\","*.bmp" //释放图片
  3. hwnd = Plugin.Window.MousePoint() //获取鼠标指向窗口的窗口句柄
  4. Call Plugin.Window.Size(hwnd, 1024, 900)//设置窗口大小为1024,900
  5. sRect = Plugin.Window.GetClientRect(Hwnd) //获取窗口客户区大小
  6. //////////////////////////////////////////////////////////
  7. BeginThread 监视
  8. Sub 监视
  9. MyArray = Split(sRect, "|")
  10. Do //循环找掉线窗口,找到的话才进入第二个循环
  11. L = Clng(MyArray(0)): T = Clng(MyArray(1)) //获取窗口左上角坐标
  12. FindPic L+300,T+413,L+721,T+611,"C:\掉线.bmp",0.9,intX,intY //找掉线重连图片
  13. If intX > 0 And intY > 0 Then
  14. MoveTo L + 568, T + 566
  15. LeftClick 1
  16. Do //第二个循环,循环找是不是首页,是的话点击进入区服,不是的话则进入下一个循环。
  17. FindPic L+9,T+144,L+100,T+195,"C:\武尊首页.bmp",0.9,intX,intY //找游戏首页里的 武尊首页 字体图片 判断是不是在游戏首页
  18. If intX > 0 And intY> 0 Then
  19. MoveTo L + 72, T + 683
  20. LeftClick 1
  21. Delay 200
  22. End If
  23. Do//第三个循环,找角色界面的进入游戏按钮,找到的话则点击,没有找到则继续查找
  24. FindPic L+414,T+701,L+623,T+780,"C:\进入游戏.bmp",0.9,intX,intY //找角色界面里的 进入游戏 字体图片 判断是不是在角色选择界面
  25. If intX > 0 And intY > 0 Then
  26. MoveTo intX,intY
  27. LeftClick 1
  28. Delay 200
  29. End If
  30. loop
  31. Loop
  32. End If
  33. Loop
  34. End sub
复制代码
武尊掉线重连Q文件下载:
您所在的用户组无法下载或查看附件










本文按键学院提供技术支持




━═━═━━═━═━━═━═━◥◤━═━═━━═━═━━═━═━

按键学院开班【手机按键】 重金招募导师!

按键学院实战班


    已有3评分我要评分查看所有评分

    本主题由 超级版主 瑞祥幽冥狼 于 2023/10/5 18:26:48 执行 审核帖子 操作
    按键学院免费交流群:376122403

    按键学院招生计划
    按键学院系统教程
    2#

    我要看看

    3#

    院刊】-【201412期】简单几个步骤实现游戏掉线重连修改.

    4#

    学习下掉线处理

    5#

    看看!@!!!!!!!!

    6#

    果儿

    7#

    阿发

    8#

    向大神之路出发

    9#

    192189219

    10#

    感谢楼主 谢谢楼主

    11#


    12#

    1111111111111111

    13#

    46564564564

    14#

    ~~~~~~~~~~~

    15#

    谢谢分享

    16#

    编使用找图的方法

    17#

    谢谢♪(๑ᴖ◡ᴖ๑)♪

    18#

    学习的时候

    19#

    好像很牛B 的样子

    20#

    3333333333333333333333

    发新话题 回复该主题