第四課:顏色判斷!借我一雙眼睛
人有一雙眼睛,可以通過屏幕的提示來操作電腦。按鍵精靈的腳本也有這麼一雙眼睛,那就是使用顏色判斷功能,看到屏幕上的點的顏色。
顏色判斷命令在「控制命令面板」裡,如下圖:
下面我們用一個例子來一步步教你用顏色判斷命令製作一個自動補血的腳本,本例子由按鍵專家團逆風之帆 完成
例子:自動補血腳本(熱血江湖)
//F3紅,F4藍
VBS hong=70
//血量少於百分之多少(可自行設定)時,腳本自動吃紅。
VBS lan=30
//藍少於百分之多少(可自行設定)時,腳本自動吃藍。
Rem start
Delay 32
//如果啟動腳本後有點卡,則視情況調整此延時。
Rem 補紅
IfColor hong*1.28+21 5 4a5373 2
//如果設定位置處的顏色大約等於沒血時的顏色
KeyPress 114 1
//按鍵F3
Delay 256
EndIf
Rem 補藍
IfColor lan*1.28+21 18 734b4a 2
//如果設定位置處的顏色大約等於沒藍時的顏色
KeyPress 115 1
//按鍵F4
Delay 256
EndIf
具體步驟及方法:
1.首先在遊戲中截個圖,然後用按鍵精靈的抓點坐標/顏色按鈕來選取血條中顏色比較鮮艷以及穩定的顏色條來,這個顏色條一般都在血條的邊緣位置,如熱血江湖就是在血條的上邊緣處,我們確定這個邊緣顏色條的一個縱坐標為y=5,如例,以後的取點抓色,則都在這一縱坐標下進行;
2.讓自己掉一部分血,再截個圖下來。接下來就是顏色判斷語句的選取了,眾所周知,3D的遊戲顏色一般都會有點變化,如果用「不等於血條顏色」來判斷,則很容易出錯,所以選擇「如果顏色大約等於,則」這個判斷語句會比較穩定一點。具體為:
IfColor x 5 「沒血時的顏色」 2
//如果(x,5)點的顏色大約等於沒血時的顏色
3.沒血時的顏色怎樣確定?3D遊戲裡,多半這個沒血時的顏色也會不一樣的,所以我們要多取幾個點,然後求出這幾個點的平均顏色值來。很幸運,我們在熱血江湖裡縱坐標y=5下血條中沒血的橫坐標上各取幾個點後發現,它們的顏色只有兩種:525573和4a5173,所以我們很容易求出了這個沒血的平均顏色值:4a5373。則判斷語句變為:
IfColor x 5 「4a5373」 2
什麼?不會求顏色平均值?沒問題,不會的可以去看按鍵專家merting寫的「RGB顏色平均值查看腳本」之帖子
4.判斷語句,顏色,以及縱坐標都已經確定了,那還有橫坐標呢?別急,這個就是把抓色版做成%比加血設置的關鍵了。同樣可以用按鍵精靈的抓點坐標/顏色按鈕功能來找坐標。我們找到熱血江湖中血條的最左端橫坐標為x1=21,最右端橫坐標為x2 =149。則血條的長度為L=x2-x1=128。說到這裡,大概大家都明白應該怎麼設置%比加血了吧。沒錯,就是用你想要自動加血時的血量%比值變量hong%,乘以血條的總長度L,再加上血條最左端的橫坐標x1,就得到了按鍵精靈監測血量所抓色點的橫坐標x的值:
x=hong/100*L+x1=hong*1.28+21,至此,%比吃紅的顏色判斷語句已經確定:
IfColor hong*1.28+21 5 4a5373 2
5.整理一下,我們就得到了能%比補紅設置的完整腳本了:
VBS hong=70
//血量少於百分之多少(可自行設定)時,腳本自動吃紅。
Rem 補紅
IfColor hong*1.28+21 5 4a5373 2
//如果設定位置處的顏色大約等於沒血時的顏色
KeyPress 114 1
//按鍵F3
Delay 256
EndIf
至於補藍的%比設置,當然是同理操作了。OK,現在大家都明白怎麼做了吧,那就趕快行動起來,親自做個屬於自己的腳本來,只有實踐,才是學習的最佳捷徑哦!!