Starry-Wind / StarRailAssistant

崩坏:星穹铁道自动化 | 崩坏:星穹铁道自动锄大地 | 崩坏:星穹铁道锄大地 | 自动锄大地 | 基于模拟按键
GNU General Public License v3.0
2.81k stars 236 forks source link

[Bug] 選擇星球 -> 識別超時 #568

Closed seriaati closed 1 year ago

seriaati commented 1 year ago

问题描述

已經更新過所有資源,仍然出現這個錯誤。 有兩種情形會觸發這個錯誤:

  1. PC -> 大世界 -> 雅利洛 - VI -> 城郊雪原 - 1 系統點開地圖,點開 星球頁面 游標明明移到了雅利洛上,卻不點 接著開始縮放地圖,最後腳本退出並報錯

  2. PC -> 大世界 -> 仙舟「羅浮」-> 流雲渡 - 1 一開始運行都正常,直到走到 這個位置 的時候,腳本不知為何打開了地圖,進入星球頁面,接著報錯

下面附的日誌是第二種情況的,再遇到第一種時就回來補上。

预期行为

腳本繼續執行。

实际行为

腳本報錯,退出。

截图或录屏

No response

自动锄大地脚本版本

20230623235218

星穹铁道区服

国际服

运行的客户端

PC

日志

requests.webhook_and_log:99 - 20230623235218/20230623120743/20230623120743 - 开始流云渡-2锄地
map.start_map:128 - 20230623235218/20230623120743/20230623120743 - 该路线导航作者:雪见璃,小明
map.start_map:129 - 20230623235218/20230623120743/20230623120743 - 感谢每一位无私奉献的作者
calculated.open_map:903 - 20230623235218/20230623120743/20230623120743 - 进入地图
calculated.click_target:347 - 20230623235218/20230623120743/20230623120743 - orientation_1
calculated.click_target:349 - 20230623235218/20230623120743/20230623120743 - 选择星球
calculated.click_target:430 - 20230623235218/20230623120743/20230623120743 - orientation_4
calculated.click_target:438 - 20230623235218/20230623120743/20230623120743 - 0.7379481792449951
calculated.click_target:438 - 20230623235218/20230623120743/20230623120743 - 0.9677960872650146
calculated.click_target:438 - 20230623235218/20230623120743/20230623120743 - 0.9712734818458557
calculated.click_target:438 - 20230623235218/20230623120743/20230623120743 - 0.9759970903396606
calculated.click_target:438 - 20230623235218/20230623120743/20230623120743 - 0.979210376739502
calculated.click_target:438 - 20230623235218/20230623120743/20230623120743 - 0.9814772009849548
calculated.click_target:347 - 20230623235218/20230623120743/20230623120743 - map_3-1
calculated.click_target:353 - 20230623235218/20230623120743/20230623120743 - 选择地图
calculated.click_target:424 - 20230623235218/20230623120743/20230623120743 - 地图识别超时
calculated.click_target:430 - 20230623235218/20230623120743/20230623120743 - map_3-1
[ WARN:0@467.612] global loadsave.cpp:244 cv::findDecoder imread_('temp\pc\map_3-1'): can't open/read file: check file path/integrity
Honkai_Star_Rail.<module>:335 - 20230623235218/20230623120743/20230623120743 - Traceback (most recent call last):
  File "C:\Users\seria\source\repos\StarRailAssistant-1.6.4\Honkai_Star_Rail.py", line 328, in <module>
    select()
  File "C:\Users\seria\source\repos\StarRailAssistant-1.6.4\Honkai_Star_Rail.py", line 324, in select
    sra.main(option, platform)
  File "C:\Users\seria\source\repos\StarRailAssistant-1.6.4\Honkai_Star_Rail.py", line 283, in main
    map_instance.auto_map(start)  # 读取配置
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\seria\source\repos\StarRailAssistant-1.6.4\utils\map.py", line 161, in auto_map
    start_map(self, start)
  File "C:\Users\seria\source\repos\StarRailAssistant-1.6.4\utils\map.py", line 148, in start_map
    self.calculated.click_target(key.split("_point")[0], 0.98)
  File "C:\Users\seria\source\repos\StarRailAssistant-1.6.4\utils\calculated.py", line 437, in click_target
    result = self.scan_screenshot(target)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\seria\source\repos\StarRailAssistant-1.6.4\utils\calculated.py", line 281, in scan_screenshot
    result = cv.matchTemplate(screenshot, prepared, cv.TM_CCORR_NORMED)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cv2.error: OpenCV(4.7.0) D:\a\opencv-python\opencv-python\opencv\modules\imgproc\src\templmatch.cpp:1164: error: (-215:Assertion failed) (depth == CV_8U || depth == CV_32F) && type == _templ.type() && _img.dims() <= 2 in function 'cv::matchTemplate'
cdcp998 commented 1 year ago

562 请更新脚本.有错误的后缀名导致的.

seriaati commented 1 year ago

? 请选择运行平台 更新资源 ? 请选择更新项目 脚本 update_file.update_file_main:330 - 20230623235218/20230623120743/20230623120743 - [资源文件更新]即将资源文件更新,本操作会覆盖本地脚本文件.. update_file.update_file:192 - 20230623235218/20230623120743/20230623120743 - [资源文件更新]正在检查远程版本是否有更新... update_file.update_file:210 - 20230623235218/20230623120743/20230623120743 - [资源文件更新]获取远程版本成功: 20230623235218 update_file.update_file:266 - 20230623235218/20230623120743/20230623120743 - [资源文件更新]资源文件已是最新版本 20230623235218 = 20230623235218 update_file.update_file:268 - 20230623235218/20230623120743/20230623120743 - [资源文件更新]准备校验资源文件 update_file.update_file:292 - 20230623235218/20230623120743/20230623120743 - [资源文件更新]文件校验完成. update_file.update_file:294 - 20230623235218/20230623120743/20230623120743 - [资源文件更新]删除临时文件tmp update_file.update_file:296 - 20230623235218/20230623120743/20230623120743 - [资源文件更新]更新完成.

seriaati commented 1 year ago

已經是最新的了。

yanmofeixi commented 1 year ago

+1

cdcp998 commented 1 year ago

找到问题了。我不改后缀名缺少地图了。改了。仙舟识别错误。。怪。!

cdcp998 commented 1 year ago

想自己修复 修改 map.py文件的 146行处 self.calculated.click_target("temp\\orientation_{num}.jpg".format(num=str(int(key.split("map_")[-1][0])+1)), 0.98) 改成 self.calculated.click_target("temp\\orientation_{num}.png".format(num=str(int(key.split("map_")[-1][0])+1)), 0.98) 和 151行处 self.calculated.click_target("temp\\orientation_{num}.jpg".format(num=str(int(key.split("map_")[-1][0])+1)), 0.98) 改成 self.calculated.click_target("temp\\orientation_{num}.png".format(num=str(int(key.split("map_")[-1][0])+1)), 0.98) 和 然后在 temp\pc目录下添加 orientation_3 orientation_3.png 就可以了。

seriaati commented 1 year ago

好的謝謝。