Skip to content

Commit

Permalink
新增控制面板 新增刷完业绩自动关闭游戏功能 新增结束本次刷取 适配5:4、4:3分辨率 fix开局铭徽可能导致拒绝好意失败 自动识别战斗开…
Browse files Browse the repository at this point in the history
…始 删除存银行对礼包的独立判断逻辑 加个图标~
  • Loading branch information
UCPr251 committed Aug 15, 2024
1 parent 0983f19 commit a3db5d9
Show file tree
Hide file tree
Showing 16 changed files with 444 additions and 154 deletions.
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/bug.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ body:
attributes:
label: 这个问题是否已有说明?
options:
- label: 我已查看[注意事项](https://gitee.com/UCPr251/zzzAuto#%E6%B3%A8%E6%84%8F%E4%BA%8B%E9%A1%B9)及现有issues:[gitee](https://gitee.com/UCPr251/zzzAuto/issues) [github](https://github.com/UCPr251/zzzAuto/issues)并未发现相同问题
- label: 我已查看[注意事项](https://gitee.com/UCPr251/zzzAuto#%E6%B3%A8%E6%84%8F%E4%BA%8B%E9%A1%B9)及现有issues:[Gitee](https://gitee.com/UCPr251/zzzAuto/issues) [Github](https://github.com/UCPr251/zzzAuto/issues)并未发现相同问题
required: true

- type: textarea
Expand Down Expand Up @@ -41,7 +41,7 @@ body:
- type: input
attributes:
label: 使用的版本?
description: 所使用的脚本的版本,如v1.4.0
description: 所使用的脚本的版本,如v1.5.0
value: v1.
validations:
required: true
Expand Down
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
/历史版本
*.exe
test*.ahk
/取坐标.ahk
/取坐标.ahk
/数据
31 changes: 23 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,23 +33,38 @@

- Alt+Z :启动脚本(自动循环刷取,默认情况下会一直刷取直至零号业绩达到周上限)
- Alt+T :查看/关闭刷取统计
- Alt+S :关闭/开启银行存款(关闭后不再存银行,获取零号业绩后直接退出副本结算)
- Alt+L :关闭/开启日志弹窗
- Alt+P :暂停/恢复脚本
- Alt+R :重启脚本
- Alt+Q :退出脚本
- Alt+B :开启/关闭银行模式(银行模式:不论零号业绩是否达到周上限,都会无限循环刷取,用于刷取银行存款)
- Alt+P :暂停/恢复刷取,快捷指令,也可通过控制面板修改
- Alt+C :打开/关闭[控制面板](./控制面板.jpg),可修改项:
> 休眠系数:调整脚本在加载动画时的等待时长倍率
> 颜色搜索允许渐变值:对画面区域进行颜色搜索时允许的RGB渐变值,值越大颜色匹配范围越大,0~255
> 调试日志弹窗:刷取过程每个步骤的信息弹窗
> 刷完业绩自动关闭游戏:字面意思
> 银行模式:开启后,不论零号业绩是否达到周上限,都会无限循环刷取,用于刷取银行存款
> 银行存款:关闭后不再存银行,获取零号业绩后直接退出副本结算
> 退出:退出脚本
> 重启:重启脚本,修改分辨率后建议重启脚本
> 暂停刷取:字面意思
> 结束刷取:在当前执行的步骤完成后结束本次刷取,再次启动:Alt+Z
<details>
<summary>控制面板</summary>

<p align="center">
<img width="400" src="控制面板.jpg" title="控制面板">
</p>

</details>

## 注意事项

1. 本脚本基于固定坐标和像素点颜色查找实现,设计分辨率比例:16:9、16:10,其他比例待适配。
1. 本脚本基于固定坐标和像素点颜色查找实现,设计分辨率比例:16:9、16:10、5:4、4:3,其他比例待适配。
<br>如果在不修改分辨率的情况下脚本无法正常运行,建议 **显示器和游戏** 的画面分辨率设置为 **长宽比16:9****关闭HDR** 后重新运行脚本

2. 由于实现原理较简易,此脚本无法保证在所有情况下都能稳定运行。
<br>若出现失效、意外报错,请尝试重启脚本后于主界面重新运行。
<br>若仍无法正常运行,请提出[issue](https://gitee.com/UCPr251/zzzAuto/issues/new?template=bug.yml)并按照[issue](https://gitee.com/UCPr251/zzzAuto/issues/new?template=bug.yml)模板描述提供所需信息

3. 由于电脑配置的差异,实际动画加载时长可能比预设的更久进而导致错误,可自行修改源码的[休眠系数](零号业绩.ahk#L37)延长全局的等待时长
3. 由于电脑配置的差异,实际动画加载时长可能比预设的更久进而导致错误,可使用Alt+C呼出控制面板微调 **休眠系数** 延长全局的等待时长

4. 战斗按照鲨鱼妹设计,其他角色只要哪怕一直a都能S评价即可
> 战斗时长一般在15~50s以内,超过50s建议换个角色
Expand Down
8 changes: 4 additions & 4 deletions components/choose.ahk
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ choose() {
clickFnc := 0
loop (10) {
for (rgb in rgbs) {
clone := c.空洞.选项框.Clone()
clone := c.空洞.2.选项框.Clone()
clone.Push(rgb[1])
PixelSearchPre(&FoundX, &FoundY, clone*)
if (FoundX && FoundY) {
Expand All @@ -33,7 +33,7 @@ choose() {
}
Sleep(100)
}
RandomSleep(2200, 2400)
RandomSleep(2200, 2300)
; 未找到对应选项
if (clickFnc = 0) {
return false
Expand All @@ -43,8 +43,8 @@ choose() {
; 加载侵蚀动画
RandomSleep(1800, 2000)
loop (10) {
; 确认侵蚀 或 集齐四个同类铭徽触发的赠送铭徽确定(特殊)
if (PixelSearchPre(&X, &Y, c.空洞.侵蚀*) || PixelSearchPre(&X, &Y, c.空洞.集齐铭徽*)) {
; 确认侵蚀 或 集齐四个同类铭徽触发的赠送铭徽确认(特殊)
if (PixelSearchPre(&X, &Y, c.空洞.确认*)) {
SimulateClick(X, Y)
RandomSleep(1800, 2000)
}
Expand Down
16 changes: 8 additions & 8 deletions components/common.ahk
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/** 激活绝区零窗口 */
activateZZZ() {
try {
WinActivate("ahk_exe ZenlessZoneZero.exe ahk_class UnityWndClass")
WinActivate("ahk_exe ZenlessZoneZero.exe")
RandomSleep()
} catch {
MsgBox("【错误】未找到绝区零窗口,请进入游戏后重试", "错误", "Iconx")
Expand All @@ -10,20 +10,20 @@ activateZZZ() {
}
debugLog(str) {
if (isDebugLog) {
if (setting.isDebugLog) {
MsgBox(str, "调试信息", "T1")
RandomSleep()
}
}
/** 随机休眠,默认50~100ms */
RandomSleep(ms1 := 50, ms2 := 100) => Sleep(Random(Round(ms1 * sleepCoefficient), Round(ms2 * sleepCoefficient)))
RandomSleep(ms1 := 50, ms2 := 100) => Sleep(Random(Round(ms1 * setting.sleepCoefficient), Round(ms2 * setting.sleepCoefficient)))
/** 选择铭徽 */
MingHui(isTry := false) {
X := 0, Y := 0
loop (10) {
if (PixelSearchPre(&X, &Y, c.空洞.铭徽*)) {
loop (15) {
if (PixelSearchPre(&X, &Y, c.空洞.确定*)) {
break
}
Sleep(100)
Expand All @@ -33,7 +33,7 @@ MingHui(isTry := false) {
return false
}
MsgBox("未找到铭徽选择框,将使用默认位置", "警告", "Icon! T1")
X := c.空洞.铭徽[5], Y := c.空洞.铭徽[6]
X := c.空洞.确定[5], Y := c.空洞.确定[6]
preprocess(&X, &Y) ; 缩放处理默认坐标
}
SimulateClick(X, Y)
Expand Down Expand Up @@ -103,13 +103,13 @@ SimulateClick(x?, y?, clickCount := 1) {
}
/** 对坐标进行缩放预处理的像素搜索,取真实坐标 */
PixelSearchPre(&X, &Y, X1, Y1, X2, Y2, Color, Tolerance := variation, transColor?, transTolerance?) {
PixelSearchPre(&X, &Y, X1, Y1, X2, Y2, Color, Tolerance := setting.variation, transColor?, transTolerance?) {
if (IsSet(transColor)) {
Color := transColor
if (IsSet(transTolerance)) {
Tolerance := transTolerance
} else {
Tolerance := variation
Tolerance := setting.variation
}
}
preprocess(&X1, &Y1)
Expand Down
Loading

0 comments on commit a3db5d9

Please sign in to comment.