AutoHotkey应用
本文最后更新于:2020年8月25日 上午
概览:自用脚本分享以及明日方舟简单脚本。
语法参考这篇文章 AutoHotkey入门 ~ Windows下自动化脚本
我的常用脚本(慢慢更新)
1.脚本暂停/继续
暂停脚本,ctrl+esc,再按一次可继续脚本。
1 |
|
2.获取选中文件的路径
用win+alt+c得到当前选中文件的路径
1 |
|
3.窗口置顶(愿称之为最强)
脚本源自上面的那个知乎链接
在当前窗口下,win+alt+enter,来置顶窗口,即保持窗口永远在最上方。
1 |
|
4.重大考试倒计时
用来显示距离一个重大考试还剩多长时间。win+alt+space
1 |
|
5.秒表倒计时
也源自知乎链接
win+shift+t,输入多少秒,倒计时后弹窗。
1 |
|
明日方舟极简脚本
脚本作用于:Win10下的MuMu模拟器。
脚本功能:对于指定的关卡刷指定数量的次数。不过刷关卡期间,不能使用电脑做其他事情……。
脚本分析
等待用户的唤起。唤起之后接收用户的输入数据,对用户选定的关卡进行点击操作,通过预先的坐标,隔一定的时长进行点击即可。当刷完之后,弹出弹框告诉用户结束。
主要问题在于获取固定的坐标方标软件点击。
使用Window Spy来获取软件内部坐标
Window Spy: 一个软件,用于查看有关鼠标悬停在其上的窗口的信息。
找到Window Spy
的两种方式:
第一种,点击开始按钮,找到AutoHotkey的位置,点击spy即可。
第二种,运行一个脚本,脚本里最好有能运行的语句。运行之后,右键点击状态栏的图标也能找到Window Spy
。
当运行这个软件之后,他就会默认在窗口的最前方,当你的鼠标点击其他软件时,Spy会自动检测识别出,并显示鼠标当前位置、该点的颜色等各种信息。
上图中主要用到的信息一个是当前窗口的标题:明日方舟 - MuMu模拟器
。
另一个就是鼠标所在的位置信息,因为截图的缘故,没看到我的鼠标……
Window
和Client
所指的信息是当前鼠标相对于当前这个软件最左上角的坐标位置。而Screen
是指的当前鼠标位于整个电脑屏幕左上角的坐标位置。
windows软件一般默认以左上角为原点,水平向右为x轴递增方向。铅直向下为y轴递增方向。
获取到软件以及软件内部的坐标,我们就可以通过模拟鼠标点击来实现脚本自动化执行。
普通关卡实例
普通关卡的刷材料步骤就是:(默认已经选中这一关的条件下)
- 点击开始行动,进入到人员配置界面
- 在人员配置界面点击开始行动。开始刷关卡。
- 等待关卡刷完之后,点击屏幕,返回到关卡入口处。
上图就是默认选中关卡的状态,记得要有体力,以及确保勾选了代理指挥
。
然后在这个界面执行脚本,就可以自动刷材料了。
以下是代码:
1 |
|
使用
将上述脚本写入到你新建的脚本中。然后记得修改上面的坐标为自己电脑上的坐标,可能不一样,拿Spy检测以下位置,修改数值就可以了。
而第三步骤刷完关卡时,只要点击材料上方的任何位置都能退出去,所以这个坐标可以随意设置,只要注意规则就行了。上面两个坐标要严格按照spy的值来设置。
至于Sleep 180000
表示等待3分钟,即关卡的代理时间,一般没有超过3分钟的关卡吧~(或许),自己动态调整,这里的单位时毫秒,1秒 = 1000ms。
选好你要刷的关卡,然后运行脚本,要以管理员的身份运行!!!这一点很重要,具体原因是:
当活动窗口以管理权限运行而当前脚本不是时, Send 在 Windows Vista 或更高版本中可能没有效果. 这是由于用户接口和特权分离的安全机制.
而MUMU模拟器是以管理员身份运行的!
来自参考文档:http://ahkcn.sourceforge.net/docs/commands/Send.htm#SendPlay
在软件中同时按下Ctrl
、Alt
以及m
键,将会弹出上图的弹框,输入你当前的体力值以及单刷的消耗值,使用小数点隔离开来,点击OK就会自动计算需要时间,之后就会自动开始刷了。
剿灭关卡的使用
1 |
|
适用于第三张剿灭图。刷一次大概要15分钟,这么看这个游戏好浪费时间。
大致操作和上面的普通关卡类似,预先选定好关卡,执行脚本就行了。
上述的坐标就用上面介绍的方法修改。
最后的说明
简单来讲这个脚本功能很弱,只能刷固定的关卡,还需要用户计算好关卡的时间。
没有任何检错机制,没有任何应对非常规问题的能力。比如如果网络不好,同步失败显示错误,它没法检测。例如代理失败等待用户确认,它没法检测。
原本想尝试做图片识别的方式来优化流程的,但是总是有离奇的错误,图片识别失败,最后放弃了。
简单来讲,勉强能用。
后续不会再更新这个脚本了。
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!