這是我自己掛在克拉港淘金的腳本 
今天才弄出來的 由於我懂得程式語言不多 
所以花了一點功夫...  
這個腳本只能當範例使用 當中所有變數都是以我電腦為準 
所以..即使你全部複製 也是沒法正常運行的 
放出來只是提供大家參考 重點是理論 
了解其中意義 自己很快也能寫出一套腳本了 
 
首先這個腳本是用按鍵8寫的 
有些語言跟按鍵7不同 
還有寫之前 請務必上網搜尋"淘金點文字化"的補丁 
用光點或光柱準度可能會下降很多 
準備完之後 就開始一區一區講解了 
 
第一區塊 這裡是從克拉淘金地最下方往上走 
就是所謂的 [往上跳四線]Rem 標籤 
為了讓角色不會亂跑 我用小地圖偵測法強制限定範圍 
由於移動時 只有地圖會更變 人物光點永遠在中央 
所以我設定 當角色往北走 走到小地圖上的某範圍座標變成黑色時  
就自動打開分流 換到4線 
注意地圖平時會有色差 所以偵測前 要先把指標移到小地圖上 
 
//從下往上走 偵測左上角黑區塊 
Rem [往上跳四線] 
//移動指標到小地圖上 
MoveTo 1236, 352 
Delay 250 
//偵測左上角黑區塊 
FindColorEx 1162,322,1208,345,"000000",0,1,intX,intY 
If intX > 0 And intY > 0 Then 
Call B 
    Delay 250 
    MoveTo 775, 465 
    Delay 250 
    LeftClick 1 
    Delay 250 
    MoveTo 768, 580 
    Delay 250 
    LeftClick 1 
            Delay 8000 
            //跳四線 
            Goto [往下跳五線] 
End If 
 
接著這裡就是自動淘金 因為懶得重複寫 所以我用一個副程式囊括 
之所以會有兩個 只是因為嚄用的文字化補丁 有出現兩種顏色罷了 
 
//尋找金色淘金點 
FindColorEx 388,211,1181,731,"C6B6AD",0,1,intX,intY 
If intX > 0 And intY > 0 Then 
Call A 
End If 
//尋找普通淘金點 
FindColorEx 290,104,1318,829,"D6DBBD",0,0.9,intX,intY 
If intX > 0 And intY > 0 Then 
Call A 
 
以下就是找不到淘金點 也沒遇到換線的情況時 
就點小地圖往北移動 
 
Else 
MoveTo 1224, 333 
    Delay 250 
    LeftClick 1 
    Delay 250 
End If 
Delay 600 
Goto [往上跳四線] 
 
假如換線了 腳本會重複運行 
但是換了線 位置不會改變 所以腳本會不斷偵測到左上角黑區塊 
一直執行 Rem [往上跳四線] 
所以特別注意 我在Rem [往上跳四線]最後補上了Goto [往下跳五線] 
意思就是 當換線之後 腳本會強制跳到另一行運行 
這也就是設置標籤的意義 
 
以下這塊跟Rem [往上跳四線]大同小異 
只是變換偵測物跟範圍 由於在5線時 我們的路徑是由下往上 
所以到4線後記得改成由上往下 如此即可來回不間斷 
 
 
//從上往下走 偵測左上角黑區塊 
Rem [往下跳五線] 
FindColor 1141,413,1159,422,"101818",intX,intY 
If intX > 0 And intY > 0 Then 
Call B 
    Delay 300 
    MoveTo 767, 480 
    Delay 300 
    LeftClick 1 
    //跳四線     
Delay 250 
    MoveTo 768, 580 
    Delay 250 
    LeftClick 1 
        Delay 8000 
Goto [往上跳四線] 
End If 
//尋找金色淘金點 
FindColorEx 388,211,1181,731,"C6B6AD",0,1,intX,intY 
If intX > 0 And intY > 0 Then 
Call A 
End If 
//尋找普通淘金點 
FindColorEx 290,104,1318,829,"D6DBBD",0,0.9,intX,intY 
If intX > 0 And intY > 0 Then 
Call A 
Else 
MoveTo 1224, 380 
    Delay 250 
    LeftClick 1 
    Delay 250 
End If 
Delay 600 
Goto [往下跳五線] 
 
在Rem [往下跳五線]中 我也設置了一個Goto [往上跳四線] 
因此換線之後 他會去執行[往上跳四線]的標籤 
 
下面就是淘金動作的腳本 想辦自動的人學以下的內容就好了 沒什麼難度 
每個步驟我都有解說 應該沒有看不懂的 
比較有問題是撿物部分 高手可以用滑鼠進行漸進移動 
並偵測滑鼠指標變動來撿物 
不過我只是初學者 太高身的我就不會啦! 
反正能掛就好!就如同解數學難題 
高手能用漂亮的公式跟原理寫出來 
我們只能用最樸實的人肉計算機拼命算 
不過只要答案對了 還不是一樣能拿到滿分 
 
言歸正傳 這裡撿物我是用alt反白偵測落物字體的顏色 
這個方法失誤率比較高 所以我設置了強制執行4次撿物 
藉由掉落物會在身邊的特性 把搜索範圍改小 
這樣就能大幅減少失誤了 
 
//淘金動作迴圈 
Sub A 
    //找到點之後 指標移動過去 
MoveTo intX,intY 
    Delay 250 
    //點擊地點 人物移動 
    LeftClick 1 
    Delay 250 
    //使用淘金技能 
    KeyPress "F1", 1 
    Delay 3600 
    //讓指標移到人物腳下 
    MoveTo 798, 474 
    Delay 300 
    //點擊左鍵 開始淘金 
    LeftClick 1 
    Delay 7000 
    //淘金結束 掉落物品 開alt反白撿物 
    KeyDown "Alt", 1 
    Delay 400 
    //先在中心撿物 
    LeftClick 1 
Delay 250 
//設置判斷周圍其他掉落物品撿取迴圈 容錯次數4次 
    For 4 
    //將滑鼠移開 以免指標點到掉落物改變顏色影響偵測 
        MoveTo 296, 817 
    Delay 200 
    //查找掉落物名稱顏色 
        FindColorEx 750,428,844,485,"FFFBFF",1,0.9,intX,intY 
If intX > 0 And intY > 0 Then 
//找到掉落物並撿取 
MoveTo intX,intY 
        Delay 200 
        LeftClick 1 
        Delay 200 
End If 
        //返回偵測迴圈 共四次 
Next 
//結束反白 
    Delay 100 
        KeyUp "Alt", 1 
End Sub 
 
最後這個只是很簡單的定點按滑鼠換線的副程式 沒什麼好說的 
 
//換線動作迴圈 
Sub B 
MoveTo 798, 474 
    Delay 300 
    LeftClick 1 
    Delay 500 
MoveTo 304, 852 
    Delay 300 
    LeftClick 1 
    Delay 300 
    MoveTo 352, 504 
    Delay 300 
    LeftClick 1 
End Sub 
 
以上就是我製作的心得跟結果 
由於測試的時間不久 加上..我是新手沒太多前買淘網啦 
所以可能有很多地方有錯誤 或是需要修改 
寫這整個腳本當中 "如何寫"比"會不會寫"還難搞 
由於我懂得語言不多 只能靠僅有的知識去拼湊 
當然你有更好的想法跟技巧也歡迎提出來喔^^ 
 
PS:當中沒有列出自動換網的腳本 
但是只要設定淘完一次金 就點開物品欄 
偵測手上的武器顏色是否發紅 發紅就把指標移到預備好的網子上 
別急著換網 先偵測預備網是否也發紅 假如沒有 就替換 
要是也發紅 表示這個預備網用過了 則把滑鼠指標跳到另一個預備網上 
如此循環即可達到自動換網的動作! 
當然啦!心有餘力的人 
可以寫出一個回去克拉營地再買淘網的腳本 
不過到這裡已經足夠了 因為我也沒錢買網子去測試啦 剩下的就留給大家討論跟修改吧! |