---
tags: 按鍵精靈 2014.6
---
[YouTube](https://youtube.com/shorts/YiGbMd7CVqI)
# ROX新世代 自動公會任務
一、使用工具:
1.[按鍵精靈2014.6](http://download.myanjian.com/)
([簡體中文版Window](https://www.microsoft.com/zh-cn/software-download/windows10)安裝使用較無問題。)
2.[雷電模擬器](https://www.ldplayer.tw/?gad_source=1)
2-1.雷電設置:





3.遊戲設定:

4.我的電腦配置:
```
作業系統: Microsoft Windows 10 64位元
CPU型號: Intel(R) Core(TM) i7-8700K CPU @ 3.70GHz
主機板: ASUSTeKCOMPUTERINC. TUFZ370-PLUSGAMING
總記憶體: 可用記憶體(34.4GB) 總記憶體(47.9GB)
螢幕: 1920x1080
顯卡型號: Intel(R) UHD Graphics 630(20220719)【當前使用】
顯卡型號: Microsoft Remote Display Adapter(20060621)
OpenGL: 4.6.0 - Build 31.0.101.2111
VT: 已開啟
HyperV: 已關閉
Root: 關閉
以系統管理員身分執行: 否
安裝磁碟: C磁碟(-) 可用空間(134GB) 總空間(238GB)
模擬器版本: 9.0.71.3(64)
執行參數: CPU(4核) 記憶體(8192M) 解析度(960x540 DPI 160) FPS(60)
多開參數: 當前編號(1) 正在執行(2) 高速模式(1) FPS限制(60)
硬碟訊息: 類型(自動擴充) 可用空間(22GB) 總空間(27GB)
機型: 品牌(Xiaomi) 型號(SM-G975N)
ASTC: 開啟
Root權限: 關閉
模擬器路徑: C:\LDPlayer\LDPlayer9\
日誌路徑: C:\Users\0976370081\AppData\Roaming\XuanZhi9\log
```
這個配置頂多同時支援雙開釣魚,否則會卡頓,單開釣魚成功率在95%以上,雙開在90%以上,四開在80%以下。
二、按鍵精靈:
1.程式碼:
```
//任務物品位址
AX = Array(25,87,150,213,275,25,88,150,383)
AY = Array(100, 100, 100, 100, 100, 187, 187, 187, 239)
//G買數字位址
BX = Array(329,256,280,305,256,280,305,256,280,305,329)
BY = Array(165, 140, 140, 140, 165, 165, 165, 190, 190, 190, 190)
//TracePrint "BX(5):" & BX(5) &"|"&"BY(5):" & BY(5)
//EndScript
//For 的win數量
winStar = 1
winEnd = 4
//執行到第幾步
StepA = Array(0, 0, 0, 0, 0)
//已完成任務數量 Number of tasks completed
NOTC = Array(0, 0, 0, 0, 0)
//DelayTime
DelayTime = 400
//WhileState
WhileState01 = Array(0,1,1,1,1)
//獲取S窗句柄
Dim win(4)
For i=1 To 4
win(i) = Plugin.Window.Find("LDPlayerMainFrame", i)
Next
//固定S窗參數
winx = Array(0,0,480,960,1440)
winy = Array(0,0,0,0,0)
winw = Array(0,480,480,480,480)
winh = Array(0,281,281,281,281)
//根據 固定S窗參數 調整S窗
For i = 1 To 4
Call Plugin.Window.Move(win(i), winx(i), winy(i))
Call Plugin.Window.Size(win(i), winw(i), winh(i))
Next
//獲取S窗位址與大小
Dim sRect(4)
For i = 1 To 4
sRect(i) = Plugin.Window.GetWindowRect(win(i))
Next
//圖片位址
Dim PhotoNumber(1000)
For i = 0 To 1000
If i < 10 Then
PhotoNumber(i) = "C:\Users\0976370081\Pictures\ROX\GH00" & CStr(i) & ".bmp"
ElseIf i < 100 Then
PhotoNumber(i) = "C:\Users\0976370081\Pictures\ROX\GH0" & CStr(i) & ".bmp"
ElseIf i <= 1000 Then
PhotoNumber(i) = "C:\Users\0976370081\Pictures\ROX\GH" & CStr(i) & ".bmp"
End If
Next
//Test
//aaaaa = MM(winx(1),winy(1),winw(1),winh(1),1,12)
//打開
Function A(x, y, w, h, n,i)
FindPic x+413,y+116,x+w-49,y+h-147,PhotoNumber(i),0.3,intX,intY
If intX > 0 And intY > 0 Then
MoveTo intX, intY
LeftClick 1
A = 1
TracePrint n&"A01"
Else
//出現公告時按關閉
FindPic x+100,y+60,x+150,y+100,PhotoNumber(999),0.5,intX,intY
If intX > 0 And intY > 0 Then
MoveTo x + 326, y + 80
LeftClick 1
TracePrint n&"A02"
End If
//X
FindPic x,y,x+w,y+h,PhotoNumber(997),1,intX,intY
If intX > 0 And intY > 0 Then
MoveTo intX, intY
LeftClick 1
TracePrint n&"A03"
End If
FindPic x,y,x+w,y+h,PhotoNumber(998),1,intX,intY
If intX > 0 And intY > 0 Then
MoveTo intX, intY
LeftClick 1
TracePrint n&"A04"
End If
Delay DelayTime
FindPic x,y,x+w,y+h,PhotoNumber(998),1,intX,intY
If intX > 0 And intY > 0 Then
MoveTo intX, intY
LeftClick 1
TracePrint n&"A05"
End If
//公會
FindPic x,y,x+w,y+h,PhotoNumber(1),0.5,intX,intY
If intX > 0 And intY > 0 Then
A = 1
TracePrint n&"A06"
Exit Function
// StepA(n) = StepA(n) + 1
// Goto Break02
Else
FindPic x, y, x + w, y + h, PhotoNumber(996), 0.5, intX, intY
If intX > 0 And intY > 0 Then
//開關
MoveTo 422, 132
LeftClick 1
TracePrint n&"A07"
End If
End If
// MoveTo 422, 132
// LeftClick 1
If StepA(n) = 0 Then
A = 0
ElseIf StepA(n) = 1000 Then
StepA(n) = 0
Else
A = -1
End If
End If
Rem Break02
End Function
//公會
Function B(x, y, w, h, n,i)
FindPic x,y,x+w,y+h,PhotoNumber(i),0.1,intX,intY
If intX > 0 And intY > 0 Then
MoveTo intX, intY
LeftClick 1
B = 1
Else
If StepA(n) = 0 Then
B = 0
ElseIf StepA(n) = 1000 Then
StepA(n) = 0
Else
B = -1
End If
End If
End Function
//活動
Function C(x, y, w, h, n,i)
FindPic x, y, x + w, y + h, PhotoNumber(i), 1, intX, intY
If intX < 0 And intY < 0 Then
FindPic x, y, x + w, y + h, "C:\Users\0976370081\Pictures\ROX\GH002-2.bmp", 1, intX, intY
End If
If intX > 0 And intY > 0 Then
MoveTo intX+15, intY+15
LeftClick 1
C = 1
Else
If StepA(n) = 0 Then
C = 0
ElseIf StepA(n) = 1000 Then
StepA(n) = 0
Else
C = -1
End If
End If
End Function
//公會D單
Function D(x, y, w, h, n, i)
FindPic x,y,x+w,y+h,PhotoNumber(i),1,intX,intY
If intX > 0 And intY > 0 Then
MoveTo intX+114, intY+54
LeftClick 1
D = 1
Else
If StepA(n) = 0 Then
D = 0
ElseIf StepA(n) = 1000 Then
StepA(n) = 0
Else
D = -1
End If
End If
End Function
//任務物品
Function E(x, y, w, h, n, i)
Rem Continue02
NOTC(n) = 0
//已交任務
Rem Continue01
// 目前区域多点找色测试失败
// XY=Plugin.ColorEx.FindMultiColor(x+AX(NOTC(n))-3,y+AY(NOTC(n))-3,x+AX(NOTC(n))+27+3,y+AY(NOTC(n))+27+3,"94D188","26|0|79C86F,0|7|93D48D,26|7|80D275",0.5,0)
// ZB = InStr(XY, "|")
// TracePrint "E02" & n & "ZB:" & ZB
// ExitScript
// XX = Clng(Left(XY, ZB - 1)) : YY = Clng(Right(XY, Len(XY) - ZB))
// If XX > 0 And YY > 0 Then
// TracePrint "E01" & n & "ZB:" & ZB & "|"
// ExitScript
// End If
FindColorEx x+AX(NOTC(n)),y+AY(NOTC(n)),x+AX(NOTC(n))+27,y+AY(NOTC(n))+27,"65C259",1,0.1,intX,intY
If intX > 0 And intY > 0 Then
If NOTC(n) = 8 Then
StepA(n) = 13
Goto Break01
ElseIf NOTC(n) < 8 Then
NOTC(n) = NOTC(n) + 1
TracePrint "StepA(n)"&":"&StepA(n)&"-"&"NOTC("&n&")"&":"&NOTC(n)
// TracePrint "1.NOTC(n):" & NOTC(n) & "|n:" & n
// EndScript
If NOTC(n) = 8 Then
StepA(n) = 13
Exit Function
End If
End If
Goto Continue01
End If
Rem Break01
//未交任務
//20240722添加
//1.先点击任物图片下方
If NOTC(n) < 8 Then
// TracePrint "2.NOTC(n):" & NOTC(n) & "|n:" & n
// EndScript
MoveTo x+AX(NOTC(n)) + 13, y+AY(NOTC(n)) + 51
LeftClick 1
End If
//2.判断是否有提交
FindPic x+351,y+230,x+411,y+249,PhotoNumber(12),0.1,intX,intY
If intX > 0 And intY > 0 Then
MoveTo intX+10, intY+10
LeftClick 1
// NOTC(n) = NOTC(n) + 1
//回到任務物品E,設為3,傳回1,3+1=4。
// StepA(n) = 3
Else
// NOTC(n) = NOTC(n) + 1
End If
Delay DelayTime * 3
//3.再次判断是否有提交
FindPic x+351,y+230,x+411,y+249,PhotoNumber(12),0.1,intX,intY
If intX > 0 And intY > 0 Then
MoveTo intX+10, intY+10
LeftClick 1
// NOTC(n) = NOTC(n) + 1
//回到任務物品E,設為3,傳回1,3+1=4。
// StepA(n) = 3
Else
//回到任務物品E,設為3,傳回1,3+1=4。
StepA(n) = 0
Exit Function
Goto Continue03
// NOTC(n) = NOTC(n) + 1
End If
//20240722添加
If NOTC(n) < 8 Then
// TracePrint "2.NOTC(n):" & NOTC(n) & "|n:" & n
// EndScript
MoveTo x+AX(NOTC(n)) + 10, y+AY(NOTC(n)) + 10
LeftClick 1
End If
If NOTC(n) = 8 Then
StepA(n) = 13
TracePrint "E00"&n&"-"&"StepA("&n&")"&":"&StepA(n)
// Goto Break01
Else
NOTC(n) = 0
End If
//判斷進入公會D單Y面
FindPic x,y,x+w,y+h,PhotoNumber(i),1,intX,intY
If intX > 0 And intY > 0 Then
E = 1
Else
If StepA(n) = 0 Then
E = 0
ElseIf StepA(n) = 1000 Then
StepA(n) = 0
Else
E = -1
End If
End If
Rem Continue03
End Function
//Get>>
Function F(x, y, w, h, n, i)
FindPic x,y,x+w,y+h,PhotoNumber(i),1,intX,intY
If intX > 0 And intY > 0 Then
MoveTo intX+5, intY+5
LeftClick 1
F = 1
Else
If StepA(n) = 0 Then
F = 0
ElseIf StepA(n) = 1000 Then
StepA(n) = 0
Else
F = -1
End If
End If
End Function
//推薦
Function G(x, y, w, h, n, i)
FindPic x,y,x+w,y+h,PhotoNumber(i),1,intX,intY
If intX > 0 And intY > 0 Then
MoveTo intX+5, intY+5
LeftClick 1
G = 1
Else
If StepA(n) = 0 Then
G = 0
ElseIf StepA(n) = 1000 Then
StepA(n) = 0
Else
G = -1
End If
End If
End Function
//數字
Function HH(x, y, w, h, n, i)
// 這裡h傳值有W題
// b數與Function取到相同名字h跟H,Function改HH就解決了
// TracePrint "h:"&h
// TracePrint "x:"&x&",y:"&y&",w:"&(x + w)&",h:"&(y + h)
FindPic x, y, x + w, y + h, PhotoNumber(i), 0.5, intX, intY
If intX > 0 And intY > 0 Then
MoveTo intX-127, intY+152
LeftClick 1
HH = 1
Else
If StepA(n) = 0 Then
HH = 0
ElseIf StepA(n) = 1000 Then
StepA(n) = 0
Else
StepA(i) = 1
HH = -1
End If
End If
End Function
//數量
Function II(x, y, w, h, n, i)
FindPic x,y,x+w,y+h,PhotoNumber(i),0.7,intX,intY
If intX > 0 And intY > 0 Then
NumberA = Int(Form1.InputBox1.Text)
NumberB = Int(Form1.InputBox2.Text)
// TracePrint "NumberA:" & NumberA & "|NumberB:" & NumberB
// EndScript
MoveTo x + (BX(NumberA))+10, y + (BY(NumberA))+10
LeftClick 1
Delay DelayTime
// TracePrint "x:" & x &"|"& "y:" & y
// TracePrint "NumberA:" & NumberA & "|NumberB:" & NumberB
// TracePrint "BX(NumberA):" & BX(NumberA) &"|"&"BY(NumberA):" & BY(NumberA)
// TracePrint "x + (BX(NumberA)):" & BX(NumberA) &"|"&"y + (BY(NumberA)):" & BY(NumberA)
// TracePrint "BX(5):" & BX(5) &"|"&"BY(5):" & BY(5)
// EndScript
MoveTo x + (BX(NumberB))+10, y + (BY(NumberB))+10
LeftClick 1
Delay DelayTime
MoveTo x + (BX(10))+10, y + (BY(10))+10
LeftClick 1
Delay DelayTime
II = 1
Else
If StepA(n) = 0 Then
II = 0
ElseIf StepA(n) = 1000 Then
StepA(n) = 0
Else
II = -1
End If
End If
End Function
//GM
Function JJ(x, y, w, h, n, i)
FindPic x,y,x+w,y+h,PhotoNumber(i),0.9,intX,intY
If intX > 0 And intY > 0 Then
MoveTo intX + 10, intY + 10
LeftClick 1
JJ = 1
Else
If StepA(n) = 0 Then
JJ = 0
ElseIf StepA(n) = 1000 Then
StepA(n) = 0
Else
JJ = -1
End If
End If
End Function
//商店X
Function KK(x, y, w, h, n, i)
FindPic x,y,x+w,y+h,PhotoNumber(i),0.9,intX,intY
If intX > 0 And intY > 0 Then
MoveTo intX, intY
LeftClick 1
//回到任務物品E,設為3,傳回1,3+1=4。
StepA(n) = 0
Exit Function
KK = 1
Else
If StepA(n) = 0 Then
KK = 0
ElseIf StepA(n) = 1000 Then
StepA(n) = 0
Else
KK = -1
End If
End If
End Function
//任務物品
Function LL(x, y, w, h, n, i)
NOTC(n) = 0
//已交任務
Rem Continue01
FindColorEx x+AX(NOTC(n)),y+AY(NOTC(n)),x+AX(NOTC(n))+27,y+AY(NOTC(n))+27,"65C259",1,0.1,intX,intY
If intX > 0 And intY > 0 Then
If NOTC(n) = 8 Then
Goto Break01
ElseIf NOTC(n) < 8 Then
NOTC(n) = NOTC(n) + 1
// TracePrint "1.NOTC(n):" & NOTC(n) & "|n:" & n
// EndScript
End If
Goto Continue01
End If
Rem Break01
//未交任務
If NOTC(n) < 8 Then
// TracePrint "2.NOTC(n):" & NOTC(n) & "|n:" & n
// EndScript
MoveTo x+AX(NOTC(n)) + 13, y+AY(NOTC(n)) + 51
LeftClick 1
End If
// For iii = 1 To 4
If NOTC(n) = 8 Then
StepA(n) = 13
// Goto Break01
Else
NOTC(n) = 0
End If
// Next
//判斷進入公會D單Y面
FindPic x,y,x+w,y+h,PhotoNumber(4),1,intX,intY
If intX > 0 And intY > 0 Then
LL = 1
Else
If StepA(n) = 0 Then
LL = 0
ElseIf StepA(n) = 1000 Then
StepA(n) = 0
Else
LL = -1
End If
End If
End Function
//提交
Function MM(x, y, w, h, n, i)
// TracePrint "x:"&x&"|"&"y:"&y&"|"&"x+w:"&x+w&"|"&"y+h:"&y+h&"|"&"PhotoNumber(i):"&PhotoNumber(i)&"|"&""
// EndScript
FindPic x,y,x+w,y+h,PhotoNumber(i),0.1,intX,intY
If intX > 0 And intY > 0 Then
MoveTo intX+10, intY+10
LeftClick 1
//回到任務物品E,設為3,傳回1,3+1=4。
StepA(n) = 0
Exit Function
MM = 1
Else
If StepA(n) = 0 Then
MM = 0
ElseIf StepA(n) = 1000 Then
StepA(n) = 0
Else
MM = -1
End If
End If
End Function
While True
//区域多点找色测试-测试失败
//XY=Plugin.ColorEx.FindMultiColor(0,0,480,281,"72C762","1|0|6CC55B,0|1|77C968,1|1|6BC55A,0|2|79CA6C,1|2|6BC55A,0|3|6EC55F,1|3|6BC55A,0|4|75C868,1|4|6BC55A,0|5|69C359,1|5|6BC55A",1,0)
//XY=Plugin.ColorEx.FindMultiColor(0,0,480,281,"77C86D","1|0|79C86F",0.1,0)
//ZB = InStr(XY,"|")
//X = Clng(Left(XY, ZB - 1)) : Y = Clng(Right(XY, Len(XY) - ZB))
//TracePrint "XY:"&XY&"|X:"&X&"|Y:"&Y
//ExitScript
//区域多点找色测试
Rem Continue02
For i = winStar To winEnd
If win(i) <> 0 Then
TracePrint StepA(i) & i & ".win(" & i & "):" & win(i)
If StepA(i) = 0 Then
StepA(i) = StepA(i) + A(winx(i), winy(i), winw(i), winh(i), i, StepA(i))
// If StepA(i) < 0 Then
// Goto Continue02
// End If
Delay DelayTime
Delay DelayTime
Delay DelayTime
Delay DelayTime
End If
End If
Next
For i = winStar To winEnd
If win(i) <> 0 Then
TracePrint StepA(i) & i & ".win(" & i & "):" & win(i)
If StepA(i) = 1 Then
StepA(i) = StepA(i) + B(winx(i), winy(i), winw(i), winh(i), i, StepA(i))
// If StepA(i) < 0 Then
// Goto Continue02
// End If
Delay DelayTime
Delay DelayTime
End If
End If
Next
For i = winStar To winEnd
If win(i) <> 0 Then
TracePrint StepA(i) & i & ".win(" & i & "):" & win(i)
If StepA(i) = 2 Then
StepA(i) = StepA(i) + C(winx(i), winy(i), winw(i), winh(i), i, StepA(i))
Delay DelayTime
End If
End If
Next
For i = winStar To winEnd
If win(i) <> 0 Then
TracePrint StepA(i) & i & ".win(" & i & "):" & win(i)
If StepA(i) = 3 Then
StepA(i) = StepA(i) + D(winx(i), winy(i), winw(i), winh(i), i, StepA(i))
Delay DelayTime
Delay DelayTime
End If
End If
Next
For i = winStar To winEnd
If win(i) <> 0 Then
TracePrint StepA(i) & i & ".win(" & i & "):" & win(i)
If StepA(i) = 4 Then
StepA(i) = StepA(i) + E(winx(i), winy(i), winw(i), winh(i), i, StepA(i))
Delay DelayTime
End If
End If
Next
For i = winStar To winEnd
If win(i) <> 0 Then
TracePrint StepA(i) & i & ".win(" & i & "):" & win(i)
If StepA(i) = 5 Then
StepA(i) = StepA(i) + F(winx(i), winy(i), winw(i), winh(i), i, StepA(i))
Delay DelayTime
End If
End If
Next
For i = winStar To winEnd
If win(i) <> 0 Then
TracePrint StepA(i) & i & ".win(" & i & "):" & win(i)
If StepA(i) = 6 Then
StepA(i) = StepA(i) + G(winx(i), winy(i), winw(i), winh(i), i, StepA(i))
WhileState01(i) = 1
Delay DelayTime
End If
End If
Next
// For i = winStar To winEnd
// If StepA(i) = 7 Then
// While WhileState01(i)
// FindPic x, y, x + w, y + h, PhotoNumber(7), 0.5, intX, intY
// If intX > 0 And intY > 0 Then
// WhileState01(i) = 0
// TracePrint "WhileState01(i)"&":"&WhileState01(i)
// End If
// Wend
// End If
// Next
For i = winStar To winEnd
If win(i) <> 0 Then
TracePrint StepA(i) & i & ".win(" & i & "):" & win(i)
If StepA(i) = 7 Then
StepA(i) = StepA(i) + HH(winx(i), winy(i), winw(i), winh(i), i, StepA(i))
Delay DelayTime
End If
End If
Next
For i = winStar To winEnd
If win(i) <> 0 Then
TracePrint StepA(i) & i & ".win(" & i & "):" & win(i)
If StepA(i) = 8 Then
StepA(i) = StepA(i) + II(winx(i), winy(i), winw(i), winh(i), i, StepA(i))
Delay DelayTime
End If
End If
Next
For i = winStar To winEnd
If win(i) <> 0 Then
TracePrint StepA(i) & i & ".win(" & i & "):" & win(i)
If StepA(i) = 9 Then
StepA(i) = StepA(i) + JJ(winx(i), winy(i), winw(i), winh(i), i, StepA(i))
Delay DelayTime
End If
End If
Next
For i = winStar To winEnd
If win(i) <> 0 Then
TracePrint StepA(i) & i & ".win(" & i & "):" & win(i)
If StepA(i) = 10 Then
StepA(i) = StepA(i) + KK(winx(i), winy(i), winw(i), winh(i), i, StepA(i))
Delay DelayTime * 1
End If
End If
Next
For i = winStar To winEnd
If win(i) <> 0 Then
TracePrint StepA(i) & i & ".win(" & i & "):" & win(i)
If StepA(i) = 11 Then
StepA(i) = StepA(i) + LL(winx(i), winy(i), winw(i), winh(i), i, StepA(i))
Delay DelayTime
End If
End If
Next
For i = winStar To winEnd
If win(i) <> 0 Then
TracePrint StepA(i) & i & ".win(" & i & "):" & win(i)
If StepA(i) = 12 Then
StepA(i) = StepA(i) + MM(winx(i), winy(i), winw(i), winh(i), i, StepA(i))
Delay DelayTime
End If
End If
Next
For i = winStar To winEnd
TracePrint "StepA("&i&"):"&StepA(i)
Next
//任務解完自動結束腳本
NOTCTotal = 0
For i = winStar To winEnd
NOTCTotal = NOTCTotal + NOTC(i)
TracePrint i&"."&"NOTCTotal"&":"&NOTCTotal&"|"&"NOTC("&i&")"&":"&NOTC(i)&"|"&"8 * winEnd"&":"&(8 * winEnd)
Next
If NOTC(1)>=8 And NOTC(2)>=8 And NOTC(3)>=8 And NOTC(4)>=8 Then
MsgBox ("結束!")
// 线程ID = GetThreadID()
// StopThread 线程ID
ExitScript
End If
Wend
```
2.1圖片資料夾:


2.2附件:
無
3.附件中的圖片檔:
GH000
GH001
GH002
GH002-2
GH003
GH004
GH005
GH006
GH007
GH008
GH009
GH010
GH012
GH996
GH997
GH998
GH999