游戏辅助:用按键精灵制作六点刷新疲劳值的脚本
的有关信息介绍如下:DNF游戏每天早上六点刷新疲劳值,如果我们想在六点的时候,不执行当前的游戏角色,重新从第一个角色开始执行呢?听起来很容易的样子……实际做起来就木有那么顺手了
选择角色登录
我们想要让脚本一个角色执行完之后执行下一个角色,首先,要记录角色的序号
1、把角色的序号写到ini文件中
ini文件内容设置(角色序号默认设置为1,第一个角色):
[角色ID]
角色=1
2、每执行完一个角色之后,角色序号加一
3、判断最后一个角色执行完成之后退出脚本
EndIf拿上面三个角色做例子。
我们第一次启动,角色序号是一,选择第一个账号登录。
键盘上的方向键可以选择人物,小编设置每次选择角色的时候,鼠标先点击第一个人物,然后读取当前该执行的角色序号,例如当前要执行的角色序号是2,那就按下一次右方向键,选择第二个人物,如果是3则按下两次方向键。
(方式有很多,例如,记录第一个角色的中心坐标点来遍历找到其它要执行的角色。哪种方便选哪种。)
w=CInt(Plugin.File.ReadINI("角色ID","角色","G:\test\DNF.ini"))//读取角色序号
Ifw>3Then
MessageBox"所有角色都执行完毕。"
ExitScript
EndIf
MoveTo90,120
LeftClick1//点击选择第一个角色
Delay1000
Ifw>1Then判断如果不是第一个角色就按方向键选择其他角色
Fori=1Tow-1
KeyPressS"Right",1
KeyPress39,1//按下方向键右键进行选择角色
Delay1000
Next
角色登录之后
角色登录之后,开始执行任务。
1、建立一个线程,命名为主线程。主线程里写我们需要脚本执行的任务。
2、再建立一个新的线程,命名为时间监视。用来监控时间。
*第一重判断,判断当前时间是否是早晨六点
*是早晨六点的话,停止主线程,把ini里的角色序号重置为1
*重新启动主线程,从第一个角色开始执行
全部代码:
//在角色选择界面启动脚本
Dim总共角色数
总共角色数=3
hwnd=Plugin.Window.Find("地下城与勇士",0)
CallPlugin.Window.Size(hwnd,800,600)
CallPlugin.Window.move(hwnd,0,0)
CallPlugin.Window.Active(hwnd)
线程ID=BeginThread(主线程)
线程ID2=BeginThread(时间监视)
Sub主线程()
Do
//点击第一个角色
w=CInt(Plugin.File.ReadINI("角色ID","角色","G:\test\DNF.ini"))
Ifw>3Then
MessageBox"所有角色都执行完毕。"
ExitScript
EndIf
TracePrintw
MoveTo90,120
LeftClick1//点击
Delay1000
Ifw>1Then
Fori=1Tow-1
KeyPressS"Right",1
KeyPress39,1//按下方向键右键进行选择角色
Delay1000
Next
EndIf
CallPlugin.File.WriteINI("角色ID","角色",w+1,"G:\test\DNF.ini")
Moveto395,547
LeftClick1//点击开始游戏
Delay8000
KeyPress"Esc",1//调出游戏菜单
Moveto390,410
LeftClick1//点击选择角色
Delay3000
Loop
EndSub
Sub时间监视()
Do
s=Hour(Time)//获取系统时间小时
m=minute(Time)//获取系统时间分钟
Ifs=6andm=0Then//如果是六点
StopThread线程ID//停止主线程
CallPlugin.File.WriteINI("角色ID","角色",1,"G:\test\DNF.ini")
KeyPress"Esc",1//调出游戏菜单
Moveto390,410
LeftClick1//点击选择角色
Delay3000
EndIf
Delay6000
Loop
线程ID=BeginThread(主线程)
EndSub
注意:小编的代码简单说明了下思路,许多细节的地方,童鞋们在写的过程中需要多加注意下。例如,当我们判断到当前时间是六点的时候,如果我们的角色还在做副本怎么办?
拓展思路:
如果童鞋们希望在角色把当前的任务执行完之后再从第一个角色开始,我们可以这样:
1、我们建立一个全局变量
2、时间监控线程判断到当前时间是六点的时候,全局变量的值设置为1
3、判断下当前角色的疲劳值,如果疲劳值还有,继续做任务
(在主线程的末尾,角色任务执行完的时候,判断下全局变量,如果为1,退到角色选择界面,从第一个角色开始执行。)
1、如果疲劳值没有了则退出到角色选择界面
(注意:这里需要做的是判断当前角色是在什么地方,然后该如何回到角色选择界面,例如,如果在副本里,就需要先退出副本