金猪脚本(原飞猪脚本)以按键精灵教学为主,涉及UiBot,Python,Lua等脚本编程语言,教学包括全自动办公脚本,游戏辅助脚本,引流脚本,网页脚本,安卓脚本,IOS脚本,注册脚本,点赞脚本,阅读脚本以及网赚脚本等各个领域。想制作脚本和学习按键精灵的朋友可以添加按键精灵学习交流群:554127455 学习路上不再孤单,金猪脚本伴你一同成长.
选择角色登录
我们想要让脚本一个角色执行完之后执行下一个角色,首先,要记录角色的序号
1、把角色的序号写到ini文件中
ini文件内容设置(角色序号默认设置为1,第一个角色):
[角色ID]
角色=1
2、每执行完一个角色之后,角色序号加一
3、判断最后一个角色执行完成之后退出脚本
拿上面三个角色做例子。
我们第一次启动,角色序号是一,选择第一个账号登录。
1、键盘上的方向键可以选择人物,小编设置每次选择角色的时候,鼠标先点击第一个人物,然后读取当前该执行的角色序号,例如当前要执行的角色序号是2,那就按下一次右方向键,选择第二个人物,如果是3则按下两次方向键。
(方式有很多,例如,记录第一个角色的中心坐标点来遍历找到其它要执行的角色。哪种方便选哪种。
)
w = CInt(Plugin.File.ReadINI(“角色ID”, “角色”, “G:\test\DNF.ini”)) //读取角色序号If w > 3 Then MessageBox “所有角色都执行完毕。”ExitScriptEnd IfMoveTo 90, 120LeftClick 1 //点击选择第一个角色Delay 1000If w > 1 Then 判断如果不是第一个角色就按方向键选择其他角色For i = 1 To w – 1KeyPressS “Right”, 1KeyPress 39,1//按下方向键右键进行选择角色Delay 1000NextEnd If复制代码
角色登录之后
角色登录之后,开始执行任务。
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 “所有角色都执行完毕。”ExitScriptEnd IfTracePrint wMoveTo 90, 120LeftClick 1 //点击Delay 1000If w > 1 Then For i = 1 To w – 1KeyPressS “Right”, 1KeyPress 39,1//按下方向键右键进行选择角色Delay 1000NextEnd IfCall Plugin.File.WriteINI(“角色ID”, “角色”, w + 1, “G:\test\DNF.ini”)Moveto 395, 547LeftClick 1 //点击开始游戏Delay 8000KeyPress “Esc”, 1 //调出游戏菜单Moveto 390, 410LeftClick 1//点击选择角色Delay 3000LoopEnd SubSub 时间监视()Dos = 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, 410LeftClick 1//点击选择角色Delay 3000End IfDelay 6000Loop线程ID= BeginThread(主线程)End Sub复制代码
注意:小编的代码简单说明了下思路,许多细节的地方,童鞋们在写的过程中需要多加注意下。例如,当我们判断到当前时间是六点的时候,如果我们的角色还在做副本怎么办?
拓展思路:
如果童鞋们希望在角色把当前的任务执行完之后再从第一个角色开始,我们可以这样:
1、我们建立一个全局变量
2、时间监控线程判断到当前时间是六点的时候,全局变量的值设置为1
3、判断下当前角色的疲劳值,如果疲劳值还有,继续做任务
(在主线程的末尾,角色任务执行完的时候,判断下全局变量,如果为1,退到角色选择界面,从第一个角色开始执行。)
4、如果疲劳值没有了则退出到角色选择界面
(注意:这里需要做的是判断当前角色是在什么地方,然后该如何回到角色选择界面,例如,如果在副本里,就需要先退出副本然后再回到主界面)