溪流 WarKey 3.0 论坛预览版 发布,支持Lua脚本
昨晚搞到近 2 点,终于把相关部分搞完了,放出个预览版玩玩。这一版本将支持组合键,比如,可以分别改Q、Ctrl+Q、Alt+Q 等,也将支持所有鼠标操作。此外,增加了一个脚本系统,允许用户进行更大程度上的自定义。
脚本使用 lua 语言,格式大致为(正式版出来之前可能还会有改动):
----------------------------------------------------------------------------- Extension = ExtensionName = "SampleExtension", --请勿修改 Configuration = Entrance = function (id) -- 入口函数 |
目前支持的 API 有:
void PressKey(number vkcode [, | 按下某键。
|
void ReleaseKey(number vkcode [, | 同上,放开某键。 |
void MoveMouse(number x, number y) | 移动鼠标到 (x, y) 位置。此坐标是相对于屏幕上最前面的那个窗口的客户区的左上角的(以后将相对于魔兽窗口)。
|
void PressMouseButton(number button) | 按下鼠标按钮
|
void ReleaseMouseButton(number button) | 放开鼠标按钮
|
void MouseWheel(number button, number delta) | 滚动鼠标滚轮
|
void SetClipboard(string str) | 将一个字符串放到剪贴板
|
string AnsiToUtf8(string ansi) | 将 Ansi 字符串转换为 UTF-8
|
width, height GetClientSize() | 取客户区大小。目前是取屏幕上最前面的那个窗口的客户区的大小(以后将会是魔兽窗口的大小)。
|
x, y GetCursorPosition() | 取鼠标光标当前位置。此坐标是相对于屏幕上最前面的那个窗口的客户区的左上角的(以后将相对于魔兽窗口)。
|
void Delay(number milliseconds) | 等待一段时间,参数的单位是毫秒。
|
上面附件中的示例脚本实现了一次性扔掉物品栏所有物品的功能。请打开魔兽,然后按 Alt+1 来看效果。
论坛相应主题:http://forum.streamlet.org/thread-236-1-1.html
介绍到此结束。
最后,如果有兴趣的,希望探讨下,目前的脚本格式定义是否合理,API 设置是否合理,脚本安全性如何控制,等等。
欢迎在下面评论中跟帖。