AppleScript是Mac系统提供的一个脚本语言,这个脚本语言简单易读,稍微懂一点脚本语言就可以快速学会了。AppleScript可以让我们的日常工作流程化,简化繁琐的固定输入,自动化完成一般的日常工作。 AppleScript提供了很多很多强大的功能,本文就只简单的介绍一下如何用它来实现类似Windows下按键精灵的功能。
如果想要让AppleScript自动帮我们按键,点击鼠标。首先还是要在设置里“启用辅助设备的控制”,否则AppleScript就没有权限控制我们的键盘、鼠标这些辅助设备。 打开“系统偏好设置”->“辅助功能”页面,然后勾选“启用辅助设备的控制”。
在Mac系统中有个叫“System Events”的App,AppleScript可以让它做按键或者点击鼠标的动作。
tell application "TextEdit"
activate
end tell
tell application "System Events"
tell process "TextEdit"
set frontmost to true
end tell
key down shift
keystroke "e"
delay 1
key up shift
keystroke "e"
keystroke return
end tell
1-3行脚本用来运行系统自带App“文本编辑器”,第6-8行是将文本编辑器设置为前台App,这样我们的键盘鼠标消息才可以发到“文本编辑器”的进程上去。key down是按下某个按键不放,key up是松开某个按键,keystroke是点按一下某个按键。第10-13行相当与按shift+e,这样在文本编辑器中就输入的大写的“E”,然后14行就是又按了一下“e”,就紧接着输入了一个小写的“e”。15行按了一下回车,那么“文本编辑器”会换行。
点击鼠标脚本和按键脚本类似,不同的是用了click at命令。如:
tell application "System Events"
tell process "xxx"
set frontmost to true
end tell
click at {100,200}
end tell
这个脚本运行后就是在屏幕坐标点为{100,200}的地方点击一下鼠标左健。
做为一个爱玩游戏的技术宅,这些功能非常适合运用到游戏当中。所以,呵呵。一个运用就是防止暂离,《魔兽世界》战场中是不容许暂离的,一旦暂离就会被清除战场,如果你没节操挂机的话,就要每隔一段时间手动操作一下人物,比如按一下空格跳跃一下。使用以下这个脚本就可以在挂机的时候防止暂离了。
AntiAFK.scptd
tell application "System Events"
repeat while 1 is 1
if UI elements enabled then
tell process "World of Warcraft-64"
set frontmost to true
end tell
end if
keystroke " "
delay (random number from 50 to 75)
end repeat
end tell
这个脚本会每隔50-75秒,按一下空格跳跃一次。这样就不会有暂离状态了。之所以用随机50-75秒,是为了防止固定操作容易被反外挂程序检测到。
另外我还写一个刷地精声望的脚本
地精声望.scptd
tell application "System Events"
repeat while 1 is 1
if UI elements enabled then
tell process "World of Warcraft-64"
set frontmost to true
end tell
end if
keystroke "z"
delay 2
if UI elements enabled then
tell process "World of Warcraft-64"
set frontmost to true
end tell
end if
keystroke "c"
delay 2
if UI elements enabled then
tell process "World of Warcraft-64"
set frontmost to true
end tell
end if
keystroke "x"
delay 2
set r to (random number from 1 to 10)
delay r
end repeat
end tell
这个脚本是不停的按Z、X、C三个按键,可以根据情况绑定相应的技能。贫瘠之地有个勇士岛,岛上的一间屋子里有个叫“嘉维伊船长”的人,杀了他可以得到不少地精声望,而且他刷新很快,1-2分钟刷一次。这就让这个脚本来自动刷声望成为可能。 这个Z按键我绑定选目标攻击的WOW宏,WOW宏内容如下:
/tar 嘉维伊船长
/startattack [exists,nodead]
X按键我绑定了公会战旗,这样就可以多得到点声望了。而且可以全程有战旗覆盖。 C按键我绑定了群体攻击大技能,这样就可以在群体技能冷却后杀死额外的小怪收获额外的声望。 然后,你要走到“嘉维伊船长”的刷新点面对他后运行脚本,这样就可以睡觉刷声望了。虽然效率不是很高,但缺很省心,毫不费劲,最重要的是不占用我们的时间。毕竟“时间就是金钱,我的朋友。”