Skip to content

Commit 6e93864

Browse files
authored
Dev (#34)
* add related repo * fix trayip typo * download link added * UI postion issue * add 1440x900 support * shows supported resolutions * Further optimized image search efficiency
1 parent ba549cb commit 6e93864

File tree

11 files changed

+87
-19
lines changed

11 files changed

+87
-19
lines changed

GenshinFishing.ahk

Lines changed: 67 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,33 @@ SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.
66
#Persistent
77
SetBatchLines, -1
88

9-
update_log:="
9+
supported_resolutions:="
1010
(
11+
1280 x 720
12+
1440 x 900
13+
1600 x 900
14+
1920 x 1080
15+
2560 x 1080
16+
2560 x 1440
17+
3440 x 1440
18+
3840 x 2160
19+
)"
1120
12-
> 现在更新源将会自动选择
13-
> The update source will now be automatically selected
14-
21+
update_log:="
22+
(
1523

24+
> 新增 1440x900 分辨率支持
25+
> Added 1440x900 resolution support
26+
> 添加了对于更靠近中心的UI位置的支持
27+
> Added support for UI positions which is closer to center
28+
> 进一步优化了图像的搜索效率
29+
> Further optimized image search efficiency
1630

1731
)"
1832
19-
version:="0.2.5"
33+
version:="0.2.6"
34+
isCNServer:=0
35+
; 出现了一个国际服玩家UI位置与国服不一致的情况。尚不能确定是服务器间差异或是其他的客户端差异所造成。暂时先令所有的图标搜索范围均扩大。
2036

2137
;@Ahk2Exe-IgnoreBegin
2238
if A_Args.Length() > 0
@@ -60,7 +76,7 @@ IfExist, updater.exe
6076
}
6177
#include update.ahk
6278

63-
TrayTip "Genshin Fishing automata Start`nv" version "`n原神钓鱼人偶启动"
79+
TrayTip, % "Genshin Fishing Automata", % "Genshin Fishing Automata Start`nv" version "`n原神钓鱼人偶启动"
6480

6581
img_list:=Object("bar",Object("filename","bar.png")
6682
,"casting",Object("filename","casting.png")
@@ -110,10 +126,13 @@ log(txt,level=0)
110126

111127
genshin_window_exist()
112128
{
129+
; global isCNServer
113130
genshinHwnd := WinExist("ahk_exe GenshinImpact.exe")
131+
; isCNServer := 0
114132
if not genshinHwnd
115133
{
116134
genshinHwnd := WinExist("ahk_exe YuanShen.exe")
135+
; isCNServer := 1
117136
}
118137
return genshinHwnd
119138
}
@@ -174,26 +193,60 @@ dLinePt(p)
174193
return Ceil(p*dLine)
175194
}
176195

196+
; iconSize = dLinePt(0.0353) * dLinePt(0.0442)
197+
177198
getState:
199+
if(isCNServer) {
200+
iconLeftPt := 0.167
201+
} else {
202+
iconLeftPt := 0.222
203+
}
204+
iconTopPt := 0.084
205+
iconBottomPt := 0
206+
iconRightPt := 0
207+
208+
if(last_iconX>0) {
209+
last_iconLeftPt := (winW - last_iconX)/dLine
210+
last_iconTopPt := (winH - last_iconY)/dLine
211+
212+
iconBottomPt := (winH - last_iconY - dLinePt(0.0442*1.5))/dLine
213+
iconRightPt := (winW - last_iconX - dLinePt(0.0353*1.5))/dLine
214+
if(iconBottomPt<0){
215+
iconBottomPt := 0
216+
}
217+
if(iconRightPt<0){
218+
iconRightPt := 0
219+
}
220+
iconLeftPt := last_iconLeftPt + (0.0353*0.5)
221+
iconTopPt := last_iconTopPt + (0.0442*0.5)
222+
log("lastIcon=" last_iconX ", " last_iconY " dLine=" dLine, 3)
223+
}
224+
; log("search from [" winW-dLinePt(iconLeftPt) ", " winH-dLinePt(iconTopPt) "] to [" winW-dLinePt(iconRightPt) ", " winH-dLinePt(iconBottomPt) "]", 3)
178225
; k:=(((winW**2)+(winH**2))**0.5)/(((1920**2)+(1080**2))**0.5)
179-
ImageSearch, iconX, iconY, winW-dLinePt(0.167), winH-dLinePt(0.084), winW, winH, % "*32 *TransFuchsia " A_Temp "/genshinfishing/" winW winH "/" img_list.ready.filename
226+
ImageSearch, iconX, iconY, winW-dLinePt(iconLeftPt), winH-dLinePt(iconTopPt), winW-dLinePt(iconRightPt), winH-dLinePt(iconBottomPt), % "*32 *TransFuchsia " A_Temp "/genshinfishing/" winW winH "/" img_list.ready.filename
180227
if(!ErrorLevel){
228+
last_iconX := iconX
229+
last_iconY := iconY
181230
state:="ready"
182231
statePredict:=state
183232
stateUnknownStart := 0
184233
log("state->" statePredict, 1)
185234
return
186235
}
187-
ImageSearch, iconX, iconY, winW-dLinePt(0.167), winH-dLinePt(0.084), winW, winH, % "*32 *TransFuchsia " A_Temp "/genshinfishing/" winW winH "/" img_list.reel.filename
236+
ImageSearch, iconX, iconY, winW-dLinePt(iconLeftPt), winH-dLinePt(iconTopPt), winW-dLinePt(iconRightPt), winH-dLinePt(iconBottomPt), % "*32 *TransFuchsia " A_Temp "/genshinfishing/" winW winH "/" img_list.reel.filename
188237
if(!ErrorLevel){
238+
last_iconX := iconX
239+
last_iconY := iconY
189240
state:="reel"
190241
statePredict:=state
191242
stateUnknownStart := 0
192243
log("state->" statePredict, 1)
193244
return
194245
}
195-
ImageSearch, iconX, iconY, winW-dLinePt(0.167), winH-dLinePt(0.084), winW, winH, % "*32 *TransFuchsia " A_Temp "/genshinfishing/" winW winH "/" img_list.casting.filename
246+
ImageSearch, iconX, iconY, winW-dLinePt(iconLeftPt), winH-dLinePt(iconTopPt), winW-dLinePt(iconRightPt), winH-dLinePt(iconBottomPt), % "*32 *TransFuchsia " A_Temp "/genshinfishing/" winW winH "/" img_list.casting.filename
196247
if(!ErrorLevel){
248+
last_iconX := iconX
249+
last_iconY := iconY
197250
state:="casting"
198251
statePredict:=state
199252
stateUnknownStart := 0
@@ -205,6 +258,8 @@ if(stateUnknownStart == 0) {
205258
stateUnknownStart := A_TickCount
206259
}
207260
if(statePredict!="unknown" && A_TickCount - stateUnknownStart>=2000){
261+
last_iconX := 0
262+
last_iconY := 0
208263
statePredict:="unknown"
209264
; Click, Up
210265
log("state->" statePredict, 1)
@@ -217,13 +272,11 @@ if(!genshin_hwnd){
217272
SetTimer, main, -800
218273
Return
219274
}
220-
if(WinExist("A") != genshin_hwnd)
221-
{
275+
if(WinExist("A") != genshin_hwnd) {
222276
SetTimer, main, -500
223277
Return
224278
}
225279
getClientSize(genshin_hwnd, winW, winH)
226-
227280
if(oldWinW!=winW || oldWinH!=winH) {
228281
log("Get dimension=" winW "x" winH,1)
229282
if(InStr(FileExist(A_Temp "/genshinfishing/" winW winH), "D")) {
@@ -259,13 +312,12 @@ if(oldWinW!=winW || oldWinH!=winH) {
259312
oldWinW:=winW
260313
oldWinH:=winH
261314
if(!isResolutionValid) {
262-
tt("Unsupported resolution`n不支持的分辨率`n" winW "x" winH)
315+
tt("Unsupported resolution`n不支持的分辨率`n" winW "x" winH "`n`nThe supported resolutions are as follows`n支持的分辨率如下`n" supported_resolutions)
263316
SetTimer, main, -800
264317
Return
265318
}
266319

267-
if(statePredict=="unknown" || statePredict=="ready")
268-
{
320+
if(statePredict=="unknown" || statePredict=="ready") {
269321
Gosub, getState
270322
if(statePredict!="unknown" && debugmode){
271323
tt("state = " state "`nstatePredict = " statePredict "`n" winW "," winH)

README.md

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,15 @@
1515
- DoMiSo-Genshin(原神自动弹琴人偶): https://github.com/Nigh/DoMiSo-genshin
1616
- LyreMaster-Genshin(原神手搓弹琴大师): https://github.com/Nigh/LyreMaster-Genshin
1717

18+
## Related Repo 相关项目
19+
- DoMiSo-Genshin(原神自动弹琴人偶): https://github.com/Nigh/DoMiSo-genshin
20+
- LyreMaster-Genshin(原神手搓弹琴大师): https://github.com/Nigh/LyreMaster-Genshin
21+
22+
## Download(下载)
23+
24+
- [GitHub Download - GitHub下载](https://github.com/Nigh/Genshin-fishing/releases/latest/download/GenshinFishing.zip)
25+
- [Mirror Download - 镜像下载](https://ghproxy.com/https://github.com/Nigh/Genshin-fishing/releases/latest/download/GenshinFishing.zip)
26+
1827
## Usage 用法用量
1928
解压到文件夹,直接运行exe即可。
2029
Unzip it into a folder and run the exe directly.
@@ -33,9 +42,7 @@ The following image settings have been tested to work properly:
3342
| 2560 x 1440 ||
3443
| 2560 x 1080 ||
3544
| 1600 x 900 ||
36-
| 1440 x 900 ||
37-
| 1366 x 768 ||
38-
| 1360 x 768 ||
45+
| 1440 x 900 ||
3946
| 1280 x 720 ||
4047

4148
如果需要更多的分辨率支持,请提交issue。

assets/1440900/bar.png

108 Bytes
Loading

assets/1440900/casting.png

252 Bytes
Loading

assets/1440900/cur.png

120 Bytes
Loading

assets/1440900/left.png

119 Bytes
Loading

assets/1440900/ready.png

375 Bytes
Loading

assets/1440900/reel.png

266 Bytes
Loading

assets/1440900/right.png

124 Bytes
Loading

fileinstalls.ahk

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,15 @@ FileInstall, .\assets\1280720\ready.png, % A_Temp "\genshinfishing\1280720\ready
88
FileInstall, .\assets\1280720\reel.png, % A_Temp "\genshinfishing\1280720\reel.png", 1
99
FileInstall, .\assets\1280720\right.png, % A_Temp "\genshinfishing\1280720\right.png", 1
1010

11+
FileCreateDir, % A_Temp "\genshinfishing\1440900"
12+
FileInstall, .\assets\1440900\bar.png, % A_Temp "\genshinfishing\1440900\bar.png", 1
13+
FileInstall, .\assets\1440900\casting.png, % A_Temp "\genshinfishing\1440900\casting.png", 1
14+
FileInstall, .\assets\1440900\cur.png, % A_Temp "\genshinfishing\1440900\cur.png", 1
15+
FileInstall, .\assets\1440900\left.png, % A_Temp "\genshinfishing\1440900\left.png", 1
16+
FileInstall, .\assets\1440900\ready.png, % A_Temp "\genshinfishing\1440900\ready.png", 1
17+
FileInstall, .\assets\1440900\reel.png, % A_Temp "\genshinfishing\1440900\reel.png", 1
18+
FileInstall, .\assets\1440900\right.png, % A_Temp "\genshinfishing\1440900\right.png", 1
19+
1120
FileCreateDir, % A_Temp "\genshinfishing\1600900"
1221
FileInstall, .\assets\1600900\bar.png, % A_Temp "\genshinfishing\1600900\bar.png", 1
1322
FileInstall, .\assets\1600900\casting.png, % A_Temp "\genshinfishing\1600900\casting.png", 1

0 commit comments

Comments
 (0)