如何製作後台腳本
❶ 按鍵精靈如何製作後台腳本
按鍵精靈製作後台腳本的步驟如下:
打開按鍵精靈並找到後台插件命令:
- 首先,打開按鍵精靈軟體。
- 在軟體的命令庫中,找到並點擊「全部命令」。
- 在全部命令中,搜索或定位到「後台插件命令」,這是製作後台腳本的關鍵部分。
獲取游戲窗口句柄:
- 使用按鍵精靈自帶的「句柄」工具,用於獲取你想要操作的任意一款游戲的窗口句柄。
- 句柄是操作系統中用於標識窗口或控制項的唯一標識符。
粘貼游戲圖像並獲取後台命令:
- 執行完句柄獲取後,回到按鍵精靈的腳本編輯界面。
- 在「圖像」選取框內粘貼你之前選取的游戲圖像,這有助於後續進行圖像識別或操作定位。
- 打開窗口插件,利用之前獲取的句柄,在後台命令中選取相應的操作,如滑鼠左鍵單擊窗口。
使用後台命令操作游戲界面:
- 利用後台命令,可以模擬滑鼠點擊等操作來打開游戲內的角色界面或其他需要操作的界面。
- 使用「抓抓」工具,這是按鍵精靈提供的一個屏幕取色和坐標獲取工具。
- 在游戲角色界面中,使用「抓抓」工具獲取你想要操作的坐標位置。
填入坐標數據並完成腳本:
- 將獲取到的坐標數據填入到後台命令中,指定滑鼠單擊或其他操作的精確位置。
- 檢查並測試腳本,確保所有後台命令都能正確執行,且操作符合你的預期。
注意:製作後台腳本時,需確保按鍵精靈有相應的許可權來操作目標窗口,且目標游戲或應用沒有反作弊機制阻止此類自動化操作。此外,使用腳本進行自動化操作應遵循相關軟體的使用協議和法律法規。
❷ 按鍵精靈後台腳本製作
1、游戲句柄
後台的意思就是當窗口被遮蓋或移開的時候,仍能夠正常的執行腳本動作,所以必須先找到該游戲的窗口句柄,這樣可以保證我們編輯的腳本語句有正確的使用方向,獲取窗口句柄的方法有很多,我一般使用以下的方法:
Dim hwnd
Plugin hwnd=Window.MousePoint()
Plugin是調用插件命令,凡是調用插件都需要使用這個命令,hwnd就是得到的句柄,Window是插件的名稱MousePoint()返回滑鼠所在的窗口的句柄
關於窗口這里需要多說幾句,以網頁游戲為例,滑鼠放在標題欄上和放在游戲窗口所得到的句柄是不一樣的,游戲窗口是IE的一個子窗口,因此在運行腳本前,將你的滑鼠放在游戲窗口的區域內再運行腳本。
得到句柄費函數很多,有興趣的自己去試試看,不過知道一個就足夠了。
2、模擬動作
得到窗口句柄後,你就可以向這個窗口模擬需要的動作了,在這里要用到按鍵精靈7的插件(既然已經有7了以前的插件就不作介紹了),模擬動作的函數有如下幾個
-模擬滑鼠點擊
Plugin Bkgnd.LeftClick(句柄,橫坐標,縱坐標) //模擬滑鼠左鍵點擊
Plugin Bkgnd.RightClick(句柄,橫坐標,縱坐標) //模擬滑鼠右鍵點擊
其中的句柄就是上面我們已經得到的句柄,這里的橫坐標和縱坐標是針對游戲窗口,而不是針對屏幕的(看暈了吧^_^關於這一點足足困擾了我一個禮拜的時間才弄明白)。
屏幕坐標,是以屏幕左上角為基點(0,0),右下角的坐標是和屏幕解析度有關的,而窗口坐標,不是在屏幕的左上角,例如word中的編輯窗口的0,0位置是在工具欄下面的,看不懂也沒關系,你只要記住下面的方法就行了,首先在得到窗口句柄後加上如下的代碼:
Plugin s = Window.GetClientRect(hwnd)
XYArray = Split(s, "|", -1, 1)
dx = XYArray(0)
dy = XYarray(1)
其次,在橫坐標和縱坐標的後面都分別減去dx和dy就行了,為什麼!!不用去管他,反正這樣做不會錯,舉例說明
例如你抓點得到的橫坐標是x,縱坐標是y,那麼模擬滑鼠左鍵點擊的語句應該是這樣的:
Plugin Bkgnd.LeftClick(句柄x-dx,y-dy)
-模擬鍵盤動作
Plugin Bkgnd.KeyPress(句柄,按鍵碼) //模擬鍵盤動作
這里的按鍵碼可以很容易的在按鍵精靈中查到,包括組合鍵
-輸入字元串
Plugin Window.SendString(句柄,字元串)
這個函數在登陸和喊話時是非常有用的,其中的字元串可以是字元串變數
3、後台找色
後台腳本盡量少用找色語句,否則你的游戲將「卡巴死機」,即使少用也會出現很多的「馬賽克」幸運的是不影響找色功能,即使游戲圖像已經亂七八糟,既然是要後台操作,難看就難看吧^_^。
Plugin c1=BkgndColor.GetPixelColor(hwnd,631-dx,121-dy)
強烈建議用這個函數,至於什麼區域找色,區域照圖之類,如果你的電腦速度足夠快再去嘗試吧。
找色是有技巧的,一定要找到一個不同畫面分別對應不同顏色的點,當然只有一個點是不可靠的。我的思路是,找到幾個點的顏色值記錄下來,再根據這幾個點的不同組合來決定腳本的走向,採取這種方法後,我在游戲時已經基本可以看到大體的畫面了。
附一個網頁游戲《明朝時代》61級刷鐵礦的簡單例子(我就用的這個腳本:)):
Dim hwnd
Plugin hwnd=Window.MousePoint()
Plugin s = 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
For 1000
Delay 156
Delay 16
Plugin Bkgnd.LeftClick(hwnd,vx,vy)
Delay 7000
Delay 500
Plugin Bkgnd.LeftClick(hwnd,vx1,vy1)
Delay 1000
EndFor
Rem