多语言展示
当前在线:1728今日阅读:60今日分享:30

游戏辅助:用按键精灵制作六点刷新疲劳值的脚本

DNF游戏每天早上六点刷新疲劳值,如果我们想在六点的时候,不执行当前的游戏角色,重新从第一个角色开始执行呢?听起来很容易的样子……实际做起来就木有那么顺手了
工具/原料

按键精灵2014

方法/步骤
1

选择角色登录我们想要让脚本一个角色执行完之后执行下一个角色,首先,要记录角色的序号1、 把角色的序号写到ini文件中ini文件内容设置(角色序号默认设置为1,第一个角色):[角色ID]角色=12、 每执行完一个角色之后,角色序号加一3、 判断最后一个角色执行完成之后退出脚本

2

End If拿上面三个角色做例子。我们第一次启动,角色序号是一,选择第一个账号登录。键盘上的方向键可以选择人物,小编设置每次选择角色的时候,鼠标先点击第一个人物,然后读取当前该执行的角色序号,例如当前要执行的角色序号是2,那就按下一次右方向键,选择第二个人物,如果是3则按下两次方向键。(方式有很多,例如,记录第一个角色的中心坐标点来遍历找到其它要执行的角色。哪种方便选哪种。)w = CInt(Plugin.File.ReadINI('角色ID', '角色', 'G:\test\DNF.ini')) //读取角色序号        If w > 3 Then             MessageBox '所有角色都执行完毕。'            ExitScript        End If        MoveTo 90, 120        LeftClick 1 //点击选择第一个角色        Delay 1000        If w > 1 Then  判断如果不是第一个角色就按方向键选择其他角色            For i = 1 To w - 1                KeyPressS 'Right', 1                KeyPress 39,1//按下方向键右键进行选择角色                Delay 1000            Next

3

角色登录之后角色登录之后,开始执行任务。1、建立一个线程,命名为主线程。主线程里写我们需要脚本执行的任务。2、再建立一个新的线程,命名为时间监视。用来监控时间。      *第一重判断,判断当前时间是否是早晨六点       *是早晨六点的话,停止主线程,把ini里的角色序号重置为1        *重新启动主线程,从第一个角色开始执行 全部代码://在角色选择界面启动脚本Dim 总共角色数总共角色数=3hwnd= Plugin.Window.Find('地下城与勇士', 0)Call Plugin.Window.Size(hwnd,800,600)Call Plugin.Window.move(hwnd, 0, 0)Call Plugin.Window.Active(hwnd)线程ID = BeginThread(主线程)线程ID2=BeginThread(时间监视)Sub  主线程()    Do         //点击第一个角色        w = CInt(Plugin.File.ReadINI('角色ID', '角色', 'G:\test\DNF.ini'))        If w > 3 Then             MessageBox '所有角色都执行完毕。'            ExitScript        End If        TracePrint w        MoveTo 90, 120        LeftClick 1 //点击        Delay 1000        If w > 1 Then             For i = 1 To w - 1                KeyPressS 'Right', 1                KeyPress 39,1//按下方向键右键进行选择角色                Delay 1000            Next        End If        Call Plugin.File.WriteINI('角色ID', '角色', w + 1, 'G:\test\DNF.ini')        Moveto 395, 547        LeftClick 1 //点击开始游戏        Delay 8000        KeyPress 'Esc', 1 //调出游戏菜单        Moveto 390, 410        LeftClick 1//点击选择角色        Delay 3000    LoopEnd Sub Sub 时间监视()    Do        s = Hour(Time)//获取系统时间 小时        m =minute(Time)//获取系统时间 分钟        If s = 6 and m = 0 Then //如果是六点            StopThread 线程ID //停止主线程            Call Plugin.File.WriteINI('角色ID', '角色', 1, 'G:\test\DNF.ini')            KeyPress 'Esc', 1 //调出游戏菜单            Moveto 390, 410            LeftClick 1//点击选择角色            Delay 3000        End If        Delay 6000    Loop    线程ID= BeginThread(主线程)End Sub

4

注意:小编的代码简单说明了下思路,许多细节的地方,童鞋们在写的过程中需要多加注意下。例如,当我们判断到当前时间是六点的时候,如果我们的角色还在做副本怎么办?

5

拓展思路:如果童鞋们希望在角色把当前的任务执行完之后再从第一个角色开始,我们可以这样: 1、我们建立一个全局变量2、时间监控线程判断到当前时间是六点的时候,全局变量的值设置为13、判断下当前角色的疲劳值,如果疲劳值还有,继续做任务(在主线程的末尾,角色任务执行完的时候,判断下全局变量,如果为1,退到角色选择界面,从第一个角色开始执行。)1、 如果疲劳值没有了则退出到角色选择界面(注意:这里需要做的是判断当前角色是在什么地方,然后该如何回到角色选择界面,例如,如果在副本里,就需要先退出副本

推荐信息