和之前戰(zhàn)士差不多的功能,掛機(jī)地圖是尸魔洞2層。玩了兩天,膩了,游戲也刪了。把腳本記錄下來,好歹算是學(xué)習(xí)按鍵精靈的過程。
功能
自動打怪、撿物、買雙倍卷軸、買藥,自動修復(fù)裝備。
腳本
//設(shè)置大漠路徑以及字庫名
Set dm = createobject("dm.dmsoft")
dm.SetPath ("d:")
dm_ret = dm.SetDict(0,"lanhuo.txt")
//綁定窗口和模式
hwnd = dm.GetMousePointWindow()
dm_ret = dm.BindWindow(hwnd, "dx2", "windows", "windows", 0)
//初始化跑圖路徑
Dim nn
nn=1
Rem 開始
Call 買物品()
Call 打?qū)毾?)
Call 打身邊怪()
Call 撿身邊物()
Call 打半屏怪()
Delay 1000
Call 撿全屏物()
Call 打全屏怪()
Call 找怪()
Call 跑圖()
Goto 開始
Sub 打?qū)毾?)
dm_ret = dm.FindStrFast(0, 0, 800, 438, "寶|箱", "ffffff-000000", 1.0, intX, intY)
If intX >= 0 and intY >= 0 Then
dm.MoveTo intX + 20, intY + 10
Delay 20
dm.KeyPress 113
Delay 1500
Goto 開始
End If
End Sub
Sub 打身邊怪()
//身邊怪物(名字判斷)
dm_ret = dm.FindStrFast(279,119,508,294, "惡|靈", "ffffff-000000", 1.0, intX, intY)
If intX >= 0 and intY >= 0 Then
dm.MoveTo 390, 230
Delay 20
dm.KeyPress 113
Delay 500
dm.MoveToEx 20, 400, 5, 5
Delay 500
dm.MoveToEx 20, 400, 5, 5
Delay 500
Goto 開始
End If
End Sub
Sub 打半屏怪()
//半屏怪物(名字判斷)
dm_ret = dm.FindStrFast(155,76,661,358, "惡|靈", "ffffff-000000", 1.0, intX, intY)
If intX >= 0 and intY >= 0 Then
dm.MoveTo intX + 20, intY + 20
Delay 20
dm.KeyPress 113
Delay 500
dm.MoveToEx 20, 400, 5, 5
Delay 500
dm.MoveToEx 20, 400, 5, 5
Delay 500
Goto 開始
End If
End Sub
Sub 打全屏怪()
//全屏怪物(名字判斷)
dm_ret = dm.FindStrFast(0, 0, 800, 438, "惡|靈", "ffffff-000000", 1.0, intX, intY)
If intX >= 0 and intY >= 0 Then
dm.MoveTo intX + 20, intY + 20
Delay 20
dm.KeyPress 113
Delay 500
dm.MoveToEx 20, 400, 5, 5
Delay 500
dm.MoveToEx 20, 400, 5, 5
Delay 500
Goto 開始
End If
End Sub
Sub 撿身邊物()
//身邊物品
dm_ret = dm.FindStrFast(213,63,574,354, "神|強(qiáng)|金", "ff0000-000000|ffffff-000000|88ddee-000000", 1.0, intX, intY)
If intX >= 0 and intY >= 0 Then
dm.MoveTo intX + 20, intY + 20
Delay 200
dm.LeftClick
Delay 100
dm.MoveToEx 20, 400, 5, 5
Delay 100
dm.MoveToEx 20, 400, 5, 5
Delay 700
Goto 開始
End If
End Sub
Sub 撿全屏物()
//全屏物品
dm_ret = dm.FindStrFast(0, 0, 800, 438, "神|強(qiáng)|金", "ff0000-000000|ffffff-000000|88ddee-000000", 1.0, intX, intY)
If intX >= 0 and intY >= 0 Then
dm.MoveTo intX + 20, intY + 20
Delay 200
dm.LeftClick
Delay 100
dm.MoveToEx 20, 400, 5, 5
Delay 100
dm.MoveToEx 20, 400, 5, 5
Delay 700
Goto 開始
End If
End Sub
Sub 找怪()
//小地圖找怪
dm_ret = dm.FindMultiColor(608,0,800,160,"ff0000","0|1|ff0000,0|2|ff0000,0|3|ff0000,1|1|ff0000",1.0,0,intX,intY)
If intX >= 0 and intY >= 0 Then
i=1
For 5
dm.MoveTo intX + i, intY + i
dm.RightClick
i = i + 1
Delay 100
Next
End If
Delay 1000
//判斷是否有怪,有怪停止移動
dm_ret = dm.FindStrFast(0, 0, 800, 438, "惡|靈", "ffffff-000000", 1.0, intX, intY)
If intX >= 0 and intY >= 0 Then
dm.MoveTo 390, 230
Delay 20
dm.RightClick
Goto 開始
Else
For 3
Delay 1000
dm_ret = dm.FindStrFast(0, 0, 800, 438, "惡|靈", "ffffff-000000", 1.0, intA, intB)
If intA >= 0 and intB >= 0 Then
dm.MoveTo 390, 230
Delay 20
dm.RightClick
Goto 開始
End If
Next
End If
End Sub
Sub 買物品()
hong = dm.Ocr(304, 425, 318, 440, "ffffff-000000", 1.0)
lan = dm.Ocr(346, 423, 366, 439, "ffffff-000000", 1.0)
suiji=dm.Ocr(517,424,536,438, "ffffff-000000", 1.0)
TracePrint "紅:" & hong & "藍(lán):" & lan & "隨機(jī):" & suiji
If hong = 0 Then
Delay 1000
hong = dm.Ocr(304, 425, 318, 440, "ffffff-000000", 1.0)
If hong = 0 Then
Call 買紅()
End If
End If
If lan = 0 Then
Delay 1000
lan = dm.Ocr(346, 423, 366, 439, "ffffff-000000", 1.0)
If lan = 0 Then
Call 買藍(lán)()
End If
End If
If suiji = 0 Then
Delay 1000
suiji=dm.Ocr(517,424,536,438, "ffffff-000000", 1.0)
If suiji = 0 Then
Call 買隨機(jī)()
End If
End If
dm_ret = dm.FindMultiColor(0, 0, 800, 438, "440000", "1|0|993300,2|0|dd7700,3|0|ffaa00,4|0|eebb00", 1.0, 0, intX, intY)
If dm_ret = 0 Then
Call 買雙倍()
End If
End Sub
Sub 買紅()
dm.MoveTo 766,566
Delay 20
dm.LeftClick
Delay 2000
dm_ret = dm.FindStrFast(0, 0, 800, 438, "金幣區(qū)", "efd6ad-000000", 1.0, intX, intY)
If intX >= 0 and intY >= 0 Then
dm.MoveTo intX + 20, intY + 10
Delay 20
dm.LeftClick
End If
Delay 1000
dm_ret = dm.FindStrFast(0, 0, 800, 438, "金創(chuàng)藥", "00ff00-000000", 1.0, intX, intY)
If intX >= 0 and intY >= 0 Then
dm.MoveTo intX + 20, intY + 10
Delay 20
dm.LeftClick
End If
Delay 1000
//加號
dm_ret = dm.FindMultiColor(0, 0, 800, 438, "080000","0|1|f7de39,0|2|f7de39,0|3|080000,0|4|6b5239", 1.0, 0, intX, intY)
If intX >= 0 and intY >= 0 Then
TracePrint 123
dm.MoveTo intX-30,intY
Delay 200
dm.LeftClick
Delay 20
dm.KeyPress 48
End If
Delay 1000
//付費(fèi)購買按鈕
dm_ret = dm.FindMultiColor(0, 0, 800, 438, "8c8439", "0|1|fff76b,0|2|efe763,0|3|efe763,0|4|efe763", 1.0, 0, intX, intY)
If intX >= 0 and intY >= 0 Then
dm.MoveTo intX + 20, intY + 10
Delay 20
dm.LeftClick
End If
Delay 1000
//確定按鈕
dm_ret = dm.FindStrFast(0, 0, 800, 438, "確定", "efd6ad-000000", 1.0, intX, intY)
If intX >= 0 and intY >= 0 Then
dm.MoveTo intX + 20, intY + 10
Delay 20
dm.LeftClick
End If
//打開背包
dm.MoveTo 693, 399
Delay 20
dm.LeftClick
Delay 1000
//解開紅藥
dm_ret = dm.FindMultiColor(0, 0, 800, 600, "7b3118", "1|0|6b3118,2|0|6b3118,3|0|7b3118,4|0|942918", 1.0, 0, intX, intY)
If intX >= 0 and intY >= 0 Then
dm.MoveTo intX, intY
Delay 2000
dm.RightClick
Delay 2000
End If
//修理裝備
dm_ret = dm.FindMultiColor(0, 0, 800, 600, "d6c6ad", "1|0|bda57b,2|0|efc68c,3|0|f7f7de,4|0|b5a594", 1.0, 0, intX, intY)
If intX >= 0 and intY >= 0 Then
dm.MoveTo intX, intY
Delay 2000
dm.RightClick
Delay 2000
End If
dm.KeyPress 27
Delay 1000
dm.KeyPress 27
Delay 1000
dm.KeyPress 27
dm.MoveToEx 20, 400, 5, 5
End Sub
Sub 買藍(lán)()
dm.MoveTo 766,566
Delay 20
dm.LeftClick
Delay 2000
dm_ret = dm.FindStrFast(0, 0, 800, 438, "金幣區(qū)", "efd6ad-000000", 1.0, intX, intY)
If intX >= 0 and intY >= 0 Then
dm.MoveTo intX + 20, intY + 10
Delay 20
dm.LeftClick
End If
Delay 1000
dm_ret = dm.FindStrFast(0, 0, 800, 438, "魔法藥", "00ff00-000000", 1.0, intX, intY)
If intX >= 0 and intY >= 0 Then
dm.MoveTo intX + 20, intY + 10
Delay 20
dm.LeftClick
End If
Delay 1000
//加號
dm_ret = dm.FindMultiColor(0, 0, 800, 438, "080000","0|1|f7de39,0|2|f7de39,0|3|080000,0|4|6b5239", 1.0, 0, intX, intY)
If intX >= 0 and intY >= 0 Then
TracePrint 123
dm.MoveTo intX-30,intY
Delay 200
dm.LeftClick
Delay 20
dm.KeyPress 48
End If
Delay 1000
//付費(fèi)購買按鈕
dm_ret = dm.FindMultiColor(0, 0, 800, 438, "8c8439", "0|1|fff76b,0|2|efe763,0|3|efe763,0|4|efe763", 1.0, 0, intX, intY)
If intX >= 0 and intY >= 0 Then
dm.MoveTo intX + 20, intY + 10
Delay 20
dm.LeftClick
End If
Delay 1000
//確定按鈕
dm_ret = dm.FindStrFast(0, 0, 800, 438, "確定", "efd6ad-000000", 1.0, intX, intY)
If intX >= 0 and intY >= 0 Then
dm.MoveTo intX + 20, intY + 10
Delay 20
dm.LeftClick
End If
Delay 1000
dm.MoveTo 693, 399
Delay 20
dm.LeftClick
Delay 1000
//解開藍(lán)藥
dm_ret = dm.FindMultiColor(0, 0, 800, 600, "104284", "1|0|291884,2|0|291884,3|0|215aa5,4|0|738cff", 1.0, 0, intX, intY)
If intX >= 0 and intY >= 0 Then
dm.MoveTo intX, intY
Delay 2000
dm.RightClick
Delay 2000
End If
dm_ret = dm.FindMultiColor(0, 0, 800, 600, "d6c6ad", "1|0|bda57b,2|0|efc68c,3|0|f7f7de,4|0|b5a594", 1.0, 0, intX, intY)
If intX >= 0 and intY >= 0 Then
dm.MoveTo intX, intY
Delay 2000
dm.RightClick
Delay 2000
End If
dm.KeyPress 27
Delay 1000
dm.KeyPress 27
Delay 1000
dm.KeyPress 27
dm.MoveToEx 20, 400, 5, 5
End Sub
Sub 買隨機(jī)()
dm.MoveTo 766,566
Delay 20
dm.LeftClick
Delay 2000
dm_ret = dm.FindStrFast(0, 0, 800, 438, "金幣區(qū)", "efd6ad-000000", 1.0, intX, intY)
If intX >= 0 and intY >= 0 Then
dm.MoveTo intX + 20, intY + 10
Delay 20
dm.LeftClick
End If
Delay 1000
dm_ret = dm.FindStrFast(0, 0, 800, 438, "隨機(jī)傳送石", "00ff00-000000", 1.0, intX, intY)
If intX >= 0 and intY >= 0 Then
dm.MoveTo intX + 20, intY + 10
Delay 20
dm.LeftClick
End If
Delay 1000
dm_ret = dm.FindMultiColor(0, 0, 800, 438, "8c8439", "0|1|fff76b,0|2|efe763,0|3|efe763,0|4|efe763", 1.0, 0, intX, intY)
If intX >= 0 and intY >= 0 Then
dm.MoveTo intX + 20, intY + 10
Delay 20
dm.LeftClick
End If
Delay 1000
//確定按鈕
dm_ret = dm.FindStrFast(0, 0, 800, 438, "確定", "efd6ad-000000", 1.0, intX, intY)
If intX >= 0 and intY >= 0 Then
dm.MoveTo intX + 20, intY + 10
Delay 20
dm.LeftClick
End If
Delay 1000
dm.MoveTo 693, 399
Delay 20
dm.LeftClick
Delay 1000
dm_ret = dm.FindMultiColor(0, 0, 800, 600, "d6c6ad", "1|0|bda57b,2|0|efc68c,3|0|f7f7de,4|0|b5a594", 1.0, 0, intX, intY)
If intX >= 0 and intY >= 0 Then
dm.MoveTo intX, intY
Delay 2000
dm.RightClick
Delay 2000
End If
dm.KeyPress 27
Delay 1000
dm.KeyPress 27
Delay 1000
dm.KeyPress 27
dm.MoveToEx 20, 400, 5, 5
End Sub
Sub 買雙倍()
dm.MoveTo 766,566
Delay 20
dm.LeftClick
Delay 2000
dm_ret = dm.FindStrFast(0, 0, 800, 438, "金幣區(qū)", "efd6ad-000000", 1.0, intX, intY)
If intX >= 0 and intY >= 0 Then
dm.MoveTo intX + 20, intY + 10
Delay 20
dm.LeftClick
End If
Delay 1000
dm_ret = dm.FindStrFast(0, 0, 800, 438, "雙倍秘籍", "00ff00-000000", 1.0, intX, intY)
If intX >= 0 and intY >= 0 Then
dm.MoveTo intX + 20, intY + 10
Delay 20
dm.LeftClick
End If
Delay 1000
dm_ret = dm.FindMultiColor(0, 0, 800, 438, "8c8439", "0|1|fff76b,0|2|efe763,0|3|efe763,0|4|efe763", 1.0, 0, intX, intY)
If intX >= 0 and intY >= 0 Then
dm.MoveTo intX + 20, intY + 10
Delay 20
dm.LeftClick
End If
Delay 1000
//確定按鈕
dm_ret = dm.FindStrFast(0, 0, 800, 438, "確定", "efd6ad-000000", 1.0, intX, intY)
If intX >= 0 and intY >= 0 Then
dm.MoveTo intX + 20, intY + 10
Delay 20
dm.LeftClick
End If
Delay 1000
dm.MoveTo 693, 399
Delay 20
dm.LeftClick
Delay 1000
dm_ret = dm.FindMultiColor(0, 0, 800, 600, "ce3129", "0|1|ff5a5a,0|2|ff5a5a,0|3|d65a52,0|4|ce3129", 1.0, 0, intX, intY)
If intX >= 0 and intY >= 0 Then
dm.MoveTo intX, intY
Delay 2000
dm.RightClick
Delay 2000
End If
dm.KeyPress 27
Delay 1000
dm.KeyPress 27
Delay 1000
dm.KeyPress 27
dm.MoveToEx 20, 400, 5, 5
End Sub
Sub 自動()
dm.KeyDown 17
Delay 20
dm.KeyPress 76
Delay 20
dm.KeyUp 17
End Sub
Sub 跑圖()
zuobiao = dm.Ocr(68,583,129,599, "ffffff-000000", 1.0)
zuobiaox = mid(zuobiao,1,instr(zuobiao, ":")-1)
zuobiaoy = mid(zuobiao, instr(zuobiao, ":") + 1, 3)
If 86 > zuobiaox > 76 and 43 > zuobiaoy > 33 Then
nn=2
ElseIf 53 > zuobiaox > 43 and 33 > zuobiaoy > 22 Then
nn = 3
ElseIf 25 > zuobiaox > 15 and 60 > zuobiaoy > 50 Then
nn = 4
ElseIf 65 > zuobiaox > 55 and 87 > zuobiaoy > 77 Then
nn = 1
End If
Select case nn
Case 1
dm.MoveTo 750, 68
Delay 20
dm.RightClick
Delay 1000
Case 2
dm.MoveTo 700, 57
Delay 20
dm.RightClick
Delay 1000
Case 3
dm.MoveTo 659, 85
Delay 20
dm.RightClick
Delay 1000
Case 4
dm.MoveTo 720, 112
Delay 20
dm.RightClick
Delay 1000
End Select
//判斷是否有怪,有怪停止移動
dm_ret = dm.FindStrFast(0, 0, 800, 438, "惡|靈|寶|箱", "ffffff-000000", 1.0, intX, intY)
If intX >= 0 and intY >= 0 Then
dm.MoveTo 390, 230
Delay 20
dm.RightClick
Goto 開始
Else
For 3
Delay 1000
dm_ret = dm.FindStrFast(0, 0, 800, 438, "惡|靈", "ffffff-000000", 1.0, intA, intB)
If intA >= 0 and intB >= 0 Then
dm.MoveTo 390, 230
Delay 20
dm.RightClick
Goto 開始
End If
Next
End If
End Sub