昨晚搞到近 2 點(diǎn),終于把相關(guān)部分搞完了,放出個(gè)預(yù)覽版玩玩。這一版本將支持組合鍵,比如,可以分別改Q、Ctrl+Q、Alt+Q 等,也將支持所有鼠標(biāo)操作。此外,增加了一個(gè)腳本系統(tǒng),允許用戶進(jìn)行更大程度上的自定義。
腳本使用 lua 語(yǔ)言,格式大致為(正式版出來(lái)之前可能還會(huì)有改動(dòng)):
----------------------------------------------------------------------------- Extension = ExtensionName = "SampleExtension", --請(qǐng)勿修改 Configuration = Entrance = function (id) -- 入口函數(shù) |
目前支持的 API 有:
void PressKey(number vkcode [, | 按下某鍵。
|
void ReleaseKey(number vkcode [, | 同上,放開某鍵。 |
void MoveMouse(number x, number y) | 移動(dòng)鼠標(biāo)到 (x, y) 位置。此坐標(biāo)是相對(duì)于屏幕上最前面的那個(gè)窗口的客戶區(qū)的左上角的(以后將相對(duì)于魔獸窗口)。
|
void PressMouseButton(number button) | 按下鼠標(biāo)按鈕
|
void ReleaseMouseButton(number button) | 放開鼠標(biāo)按鈕
|
void MouseWheel(number button, number delta) | 滾動(dòng)鼠標(biāo)滾輪
|
void SetClipboard(string str) | 將一個(gè)字符串放到剪貼板
|
string AnsiToUtf8(string ansi) | 將 Ansi 字符串轉(zhuǎn)換為 UTF-8
|
width, height GetClientSize() | 取客戶區(qū)大小。目前是取屏幕上最前面的那個(gè)窗口的客戶區(qū)的大小(以后將會(huì)是魔獸窗口的大小)。
|
x, y GetCursorPosition() | 取鼠標(biāo)光標(biāo)當(dāng)前位置。此坐標(biāo)是相對(duì)于屏幕上最前面的那個(gè)窗口的客戶區(qū)的左上角的(以后將相對(duì)于魔獸窗口)。
|
void Delay(number milliseconds) | 等待一段時(shí)間,參數(shù)的單位是毫秒。
|
上面附件中的示例腳本實(shí)現(xiàn)了一次性扔掉物品欄所有物品的功能。請(qǐng)打開魔獸,然后按 Alt+1 來(lái)看效果。
論壇相應(yīng)主題:http://forum.streamlet.org/thread-236-1-1.html
介紹到此結(jié)束。
最后,如果有興趣的,希望探討下,目前的腳本格式定義是否合理,API 設(shè)置是否合理,腳本安全性如何控制,等等。
歡迎在下面評(píng)論中跟帖。