按键精灵游戏辅助教程:挂机掉线重连
上一期院刊中,我们说到了具备记录账号功能游戏的自动重连。那么,如果游戏没有自动记录账号的功能,我们要如何实现掉线自动重连呢?
步骤
我们继续上期的例子,武尊游戏掉线重连,当游戏代理平台不支持记录账号的情况下,如果重连游戏。
1、循环找掉线提示信息,判断游戏是否掉线。掉线则点击确定按钮,返回到登录页面。
2、循环找登录界面的登录按钮。
3、找到登录按钮则说明已经返回到了登录页面。双击账号输入框。先删除原有账号,再输入用户所需要登录的账号名。(如果游戏记录的账号是最后一次登录的账号,而用户掉线之后要登录的账号也是这个账号,则此步骤可以省略)
4、点击密码输入框输入密码。然后点击登录按钮。
5、登录之后,我们查找"用户中心"字样来判断是不是已经到了选择区服的页面。(选择区服界面和上一期不同,今天这里找图找的是"用户中心"而不是"武尊首页"字样,原因在于,登录界面里也有“武尊首页”字样,所以找它不能很好的区分登录界面和选择区服界面。)
6、找到“用户中心”字样,则点击最近登录过的区服进入到选择角色的界面。
7、在角色选择界面查找“进入游戏”按钮,找到则点击进入游戏。
帐号密码的记录和读取
找图判断掉线这些步骤和上一期的一样,这里就不详细说明了。我们着重了解下帐号密码的记录和读取。
记录读取帐号的方法:
■使用qui界面里的输入框来保存帐号。在qui界面里画两个文本框,一个记录帐号,一个记录密码。点击保存设置之后,帐号密码的值会自动写入到小精灵配置文件uservar.ini中。■注意:小精灵的uservar.ini文件是公用的,就是说所有的小精灵都是使用这个文件记录配置信息。每个小精灵有自己独有的编码,这些编码当作小节名,然后把自己的配置信息记入到小节名下。如下图:
如果咱们想把脚本中的信息记入到小精灵配置文件uservar.ini中,可以建立一个小节名将信息记入进去。但是如果其他童鞋恰巧也有一样的想法,而又非常巧合的,你们取的小节名也一样。那么,当有人同时在用你们的脚本的时候,就会出现A脚本把值写进去,B脚本运行的时候读到了A脚本保存的值的情况。
ini文件的写入和读取
ini文件写入命令:
命令名称:
WriteINI写入键值
命令功能:
向配置文件里写一个键值
命令参数:
参数1:小节名参数2:键值参数3:写入内容参数4:INI文件路径
示例:
CallPlugin.File.WriteINI("帐号","第一个帐号","123456","C:\帐号.ini")
效果:
注意:第四个参数ini文件路径。当该路径中没有这个ini文件的时候,writeini命令会先建立一个ini文件,然后再写入值。所以不需要我们辛苦的再跑去c盘新建一个ini文件。
ini文件读取命令:
命令名称:
ReadINI读取键值
命令功能:
从配置文件里读取一个键值
命令参数:
参数1:小节名参数2:键值参数3:INI文件路径
示例:
Text=Plugin.File.ReadINI("帐号","第一个帐号","C:\帐号.ini")
效果:
■怎么理解命令中的参数:小节名、键值呢?小节名用于分类,例如:要记录很多帐号和密码,那么帐号可以算作一类,密码是一类:[帐号][密码]键值是类中的成员,例如:第一个帐号,第二个帐号第一个密码,第二个密码:[帐号]第一个帐号=123456第二个帐号=345678[密码]第一个密码=111111第二个密码=111111■也不是强制这么分类,小节名和键值的主要作用是为了标识你存放的信息,只要你知道你写入ini文件的时候,把你的信息写到什么位置,下次读取的时候知道在什么位置读取就可以了。
整体代码
//////////////////ini写入帐号密码部分////////////////////
CallPlugin.File.WriteINI("帐号","小编的帐号","123456","C:\帐号.ini")
CallPlugin.File.WriteINI("帐号","小编的密码","654321","C:\帐号.ini")
///////////////////////////////////////////////////////
DimEnvsRect//定义环境变量-因为这个值是要传递到线程中的,如果是局部变量是不支持线程的。
PutAttachment"c:\","*.bmp"//释放图片
hwnd=Plugin.Window.MousePoint()//获取鼠标指向窗口的窗口句柄
CallPlugin.Window.Size(hwnd,1024,900)//设置窗口大小为1024,900
sRect=Plugin.Window.GetClientRect(Hwnd)//获取窗口客户区大小
////////////////////////////////////////////////////////
BeginThread监视
Sub监视
MyArray=Split(sRect,"|")
//循环找掉线窗口,找到的话才进入第二个循环
Do
L=Clng(MyArray(0)):T=Clng(MyArray(1))//获取窗口左上角坐标
FindPicL+300,T+413,L+721,T+611,"C:\掉线.bmp",0.9,intX,intY//找掉线重连图片
IfintX>0AndintY>0Then
MoveToL+568,T+566
LeftClick1
//第二个循环,循环找登录按钮,判断是否是在输入账号密码的页面
Do
FindPicL+160,T+600,L+259,T+695,"C:\登录.bmp",0.9,intX,intY//找登录按钮图片
IfintX>0AndintY>0Then
TracePrint1
movetoL+33,T+643//鼠标移动到账号框
LeftDoubleClick1//双击账号框选择账号
KeyPress8,1//删除账号
////////////////读取ini文件////////////
帐号=Plugin.File.ReadINI("帐号","小编的帐号","C:\帐号.ini")
saystring帐号//输入账号
movetoL+33,T+681//鼠标移动到密码框
LeftClick1
Delay1000
////////////////读取ini文件////////////
密码=Plugin.File.ReadINI("帐号","小编的密码","C:\帐号.ini")
SayString密码//输入密码
movetoL+222,T+664//鼠标移动到登录按钮
LeftClick1//点击登录
ExitDo
EndIf
Loop
//第三个循环,循环找是不是首页,是的话点击进入区服,不是的话则进入下一个循环。
Do
FindPicL+173,T+684,L+238,T+724,"C:\用户中心.bmp",0.9,intX,intY//找游戏首页里的用户中心字体图片判断是不是到了选择区服的界面
IfintX>0AndintY>0Then
MoveToL+72,T+683
LeftClick1
Delay200
ExitDo
EndIf
Loop
//第四个循环,找角色界面的进入游戏按钮,找到的话则点击,没有找到则继续查找
Do
FindPicL+414,T+701,L+623,T+780,"C:\进入游戏.bmp",0.9,intX,intY//找角色界面里的进入游戏字体图片判断是不是在角色选择界面
IfintX>0AndintY>0Then
MoveTointX,intY
LeftClick1
ExitDo
EndIf
Loop
EndIf
Loop
Endsub
版权声明:本站【趣百科】文章素材来源于网络或者用户投稿,未经许可不得用于商用,如转载保留本文链接:https://www.qubaik.com/life/165945.html