按鍵介紹
1、遊戲句柄
後臺的意思就是當窗口被遮蓋或移開的時候,仍能夠正常的執行腳本動作,所以必須先找到該遊戲的窗口句柄,這樣可以保證我們編輯的腳本語句有正確的使用方向,獲取窗口句柄的方法有很多,我壹般使用以下的方法:
Dimhwnd
Pluginhwnd=Window.MousePoint()
Plugin是調用插件命令,凡是調用插件都需要使用這個命令,hwnd就是得到的句柄,Window是插件的名稱MousePoint()返回鼠標所在的窗口的句柄
得到句柄費函數很多,有興趣的自己去試試看,不過知道壹個就足夠了。
2、模擬動作
得到窗口句柄後,妳就可以向這個窗口模擬需要的動作了,在這裏要用到按鍵精靈7的插件(既然已經有7了以前的插件就不作介紹了),模擬動作的函數有如下幾個
-模擬鼠標點擊
PluginBkgnd.LeftClick(句柄,橫坐標,縱坐標)//模擬鼠標左鍵點擊
PluginBkgnd.RightClick(句柄,橫坐標,縱坐標)//模擬鼠標右鍵點擊
其中的句柄就是上面我們已經得到的句柄,這裏的橫坐標和縱坐標是針對遊戲窗口,而不是針對屏幕的(看暈了吧^_^關於這壹點足足困擾了我壹個禮拜的時間才弄明白)。
屏幕坐標,是以屏幕左上角為基點(0,0),右下角的坐標是和屏幕分辨率有關的,而窗口坐標,不是在屏幕的左上角,例如word中的編輯窗口的0,0位置是在工具欄下面的,看不懂也沒關系,妳只要記住下面的方法就行了,首先在得到窗口句柄後加上如下的代碼:
Plugins=Window.GetClientRect(hwnd)
XYArray=Split(s,,-1,1)
dx=XYArray(0)
dy=XYarray(1)
其次,在橫坐標和縱坐標的後面都分別減去dx和dy就行了,為什麽!!不用去管他,反正這樣做不會錯,舉例說明
例如妳抓點得到的橫坐標是x,縱坐標是y,那麽模擬鼠標左鍵點擊的語句應該是這樣的:
PluginBkgnd.LeftClick(句柄x-dx,y-dy)
-模擬鍵盤動作
PluginBkgnd.KeyPress(句柄,按鍵碼)//模擬鍵盤動作
這裏的按鍵碼可以很容易的在按鍵精靈中查到,包括組合鍵
-輸入字符串
PluginWindow.SendString(句柄,字符串)
這個函數在登陸和喊話時是非常有用的,其中的字符串可以是字符串變量
3、後臺找色
後臺腳本盡量少用找色語句,否則妳的遊戲將“卡巴死機”,即使少用也會出現很多的“馬賽克”幸運的是不影響找色功能,即使遊戲圖像已經亂七八糟,既然是要後臺操作,難看就難看吧^_^。
Pluginc1=BkgndColor.GetPixelColor(hwnd,631-dx,121-dy)
強烈建議用這個函數,至於什麽區域找色,區域照圖之類,如果妳的電腦速度足夠快再去嘗試吧。
找色是有技巧的,壹定要找到壹個不同畫面分別對應不同顏色的點,當然只有壹個點是不可靠的。我的思路是,找到幾個點的顏色值記錄下來,再根據這幾個點的不同組合來決定腳本的走向,采取這種方法後,我在遊戲時已經基本可以看到大體的畫面了。
附壹個網頁遊戲《明朝時代》61級刷鐵礦的簡單例子(我就用的這個腳本:)):
Dimhwnd
Pluginhwnd=Window.MousePoint()
Plugins=Window.GetClientRect(hwnd)
XYArray=Split(s,,-1,1)
dx=XYArray(0)
dy=XYarray(1)
vx=655-dx
vy=336-dy
vx1=638-dx
vy1=305-dy
For1000
Delay156
Delay16
PluginBkgnd.LeftClick(hwnd,vx,vy)
Delay7000
Delay500
PluginBkgnd.LeftClick(hwnd,vx1,vy1)
Delay1000
EndFor
Rem
按鍵精靈|