close
網路遊戲找怪思路詳解

資料來源:兄弟論壇
作者:晨風

使用按鍵有段時間了,對一些找怪的思路小有體會。簡單來說找怪就是找怪與背景不同的獨有的特徵,可以通過找怪的顏色/圖片、怪名字顏色/圖片、怪血條顏色/圖片、漸開線掃瞄、小地圖找怪等等的方法來實現。具體看遊戲而定,下面就介紹幾種找怪的方法:

1。區域找色   應該說是最簡單的找怪方法了,在區域裡查找怪的特有顏色、名字顏色、血條顏色、怪的陰影等等。如果找到移動鼠標到怪身上進行攻擊 (推薦用區域模糊找色或從區域中間向外找色)。
例子(區域模糊找色):

VBSCall FindColorEx(0,0,1024,768,"FFFFFF",1,0.8,x,y)
//區域模糊找色,0,0,1024,768為區域範圍,"FFFFFF"為顏色,1為查找方式(中間向外),0.8為模糊值,x,y為找色後儲存坐標的變量
If x>=0 and y>=0
    //如果找到顏色(通過判斷坐標變量是否在區域內就可以知道有沒有找到目標)
    MoveTo x y
    //把鼠標移動到該色的坐標(如果找的是怪名字或血條,可能移動不到怪身上,這時就要用鼠標偏移如:MoveTo x+10 y+10)
    Delay 50
    //延時
    LeftClick 1
    //左鍵單擊進行攻擊
EndIf
//條件結束


註:
①。區域範圍的定位:
區域範圍指的是被搜索區域的範圍,這4個參數分別指的是區域的左,上,右,下。簡單的說就是取區域的左上角x,y坐標和右下角的x,y坐標,把這4個數值依次組合起來就是一個區域範圍了。
②。很多朋友對最後兩個坐標變量x,y不太瞭解,在這裡通俗的解釋一下:
顧名思義,這兩個變量是用來貯存找色或找圖後的坐標。當找到目標後,把目標所在的坐標位置貯存到這兩個變量裡,然後可以通過判斷這兩個坐標變量是否在區域 範圍內來確定是否找到了目標。如果找到目標,貯存的是目標所在的坐標位置。如果沒有找到,那貯存的則是-1,所以我們也可以通過 if x=-1 and y=-1 來判斷沒有找到目標。

2。區域找圖   在區域裡查找怪的圖形、怪的名字圖片、血條圖片等等。語法與區域找色相似,需要注意的是圖片的處理。
圖片做好後可以放在按鍵文件夾裡的script文件夾中,就可以不用在腳本裡寫圖片路徑,只需圖片名就行了,寫腳本的時候比較方便。
例子(區域找圖):

VBSCall FindPic(0,0,1024,768,"1.bmp",0.9,x,y)
//區域找圖,0,0,1024,768為區域範圍,"1.bmp"為圖片名(路徑),0.9為找圖的相似度,x,y為找圖後儲存坐標的變量
If x>=0 and y>=0
//如果坐標在區域內(找到圖片)
    MoveTo x y
    //移動到圖片位置(圖片左上角)
    Delay 50
    //延時
    LeftClick 1
    //左鍵單擊
EndIf
//條件結束

3。圓形漸開線掃瞄找怪法   效率較低。

4。圓形漸開線掃瞄找變色怪   效率較低,下面是我以前收集的一個找變色怪的例子。
VBS dim x0,n,y0,x,color0,color
//聲明變量
Rem start
//標記漸開線找怪開始
VBS x0=400:n=1:y0=300:x=400
//變量初始化
While x<800
    //限定橫坐標範圍不超過800
    VBS x=x0+4*(cos(n)+n*sin(n))
    //根據漸開線公式計算下一個點的橫坐標並賦值給x
    VBS y=y0+3*(sin(n)-n*cos(n))
    //根據漸開線公式計算下一個點的縱坐標並賦值給y
    VBSCall color0=GetPixelColor(x,y)
    //在鼠標移動之前,獲取目標點色值並賦值給color0
    VBSCall Call SetCursorPos(x,y)
    //馬上移動鼠標到目標點
    VBSCall color=GetPixelColor(x,y)
    //獲取鼠標移動後該點色值並賦值給color
    If color<>color0
        //同一點取得的兩次色值比較,不同,則執行以下的打怪腳本
        LeftClick 1
        //左鍵單擊
        Delay 3000
        //打怪延時
    EndIf
    //該點判斷結束
    Delay 10
    //循環延時
    VBS n=n+0.2
    //漸開線參數增量,其中0.2代表點間距,數值越小,漸開線散開點間距越小
EndFor
//一次漸開線取點判斷結束
Goto start
//跳轉到開始,重複漸開線搜索

5。小地圖找怪   公式:  大地圖怪坐標 = (小地圖怪坐標 - 小地圖人物坐標) * 比例 + 大地圖人物坐標 

比例是(大地圖怪坐標和大地圖人物坐標之間的距離)與(小地圖怪坐標和小地圖人物坐標之間的距離)這兩者的比例。如下圖 A線與B線的比例。用小地圖找怪所需的計算數據必須比較準確。  
然後用區域找色查找小地圖上怪的小點(最好用從區域中心向外找色),找到怪的小點後再計算坐標,計算得出大地圖坐標後,移動鼠標到怪身上打怪。


例子(小地圖找怪):

VBSCall FindCenterColor(858,66,996,192,"0000FF",x,y)
//區域從中間向外找色,858,66,996,192是小地圖的區域範圍
If x>=0 and y>=0
    //如果找到顏色
    x0=(x-926)*10+512
    y0=(y-129)*10+389
    //計算大地圖怪的坐標
    MoveTo x0 y0
    //移動到大地圖怪的坐標
    Delay 50
    //延時
    LeftClick 1
    //左鍵單擊進行攻擊
EndIf
//條件結束

註: 移動到怪位置後用「鼠標特徵碼比對」可有效提高找怪的準確性。(可用於所有找怪方式內)
arrow
arrow
    全站熱搜

    heido001 發表在 痞客邦 留言(0) 人氣()