大世界地图卡视角
在提问之前...
- [x] 我已经搜索了现有的 issues
- [x] 我在提问题之前至少花费了 5 分钟来思考和准备
- [x] 我已经阅读了 Wiki 中的 常见问题(FAQ)
- [x] 我正在使用最新版的 Alas
描述你的问题
在大世界内移动地图时在某个特殊视角下会造成错误循环,无法移动,此前出现过多次相同现象。使用的是mumu12。
如何复现
在完成塞壬要塞后寻找另一个塞壬要塞时,处于一个特殊的视角,然后循环卡住了。
预期行为
正常移动大地图。
相关 Logs
INFO 15:42:50.075 │ 0.118s similarity: 0.542
INFO 15:42:50.077 │ [Globe_center] 22
INFO 15:42:50.079 │ Zone 83 is not a siren stronghold
INFO 15:42:50.080 │ Find siren stronghold around [41|West Continental Shelf A]
INFO 15:42:50.081 │ Swipe ( 428, 323) -> ( 304, 546)
INFO 15:42:51.083 │ globe_center: (631.0, 1108.0)
INFO 15:42:51.084 │ 0.119s similarity: 0.512
INFO 15:42:51.084 │ [Globe_center] 21
INFO 15:42:51.086 │ Swipe ( 543, 346) -> ( 453, 573)
INFO 15:42:51.827 │ globe_center: (631.0, 1108.0)
INFO 15:42:51.828 │ 0.121s similarity: 0.510
INFO 15:42:51.830 │ [Globe_center] 21
INFO 15:42:51.831 │ Swipe ( 472, 334) -> ( 382, 561)
INFO 15:42:52.658 │ globe_center: (631.0, 1108.0)
INFO 15:42:52.659 │ 0.122s similarity: 0.487
INFO 15:42:52.661 │ [Globe_center] 21
INFO 15:42:52.662 │ Swipe ( 612, 267) -> ( 522, 494)
WARNING 15:42:53.768 │ Func screenshot() call timeout, retrying: 0
INFO 15:42:54.186 │ globe_center: (631.0, 1108.0)
INFO 15:42:54.187 │ 0.119s similarity: 0.545
INFO 15:42:54.188 │ [Globe_center] 21
INFO 15:42:54.190 │ Swipe ( 646, 306) -> ( 556, 533)
WARNING 15:42:55.293 │ Func screenshot() call timeout, retrying: 0
INFO 15:42:55.728 │ globe_center: (631.0, 1108.0)
INFO 15:42:55.729 │ 0.123s similarity: 0.546
INFO 15:42:55.731 │ [Globe_center] 21
INFO 15:42:55.732 │ Swipe ( 740, 314) -> ( 650, 541)
INFO 15:42:56.792 │ globe_center: (713.0, 1154.0)
INFO 15:42:56.793 │ 0.119s similarity: 0.566
INFO 15:42:56.794 │ [Globe_center] 23
INFO 15:42:56.796 │ Swipe ( 597, 307) -> ( 556, 559)
INFO 15:42:57.813 │ globe_center: (807.0, 1204.0)
INFO 15:42:57.814 │ 0.117s similarity: 0.413
INFO 15:42:57.815 │ [Globe_center] 25
INFO 15:42:57.816 │ Swipe ( 613, 262) -> ( 628, 540)
INFO 15:42:58.827 │ globe_center: (1007.0, 1242.0)
INFO 15:42:58.828 │ 0.118s similarity: 0.475
INFO 15:42:58.830 │ [Globe_center] 158
INFO 15:42:58.831 │ Swipe ( 281, 273) -> ( 414, 571)
INFO 15:42:59.876 │ globe_center: (1007.0, 1242.0)
INFO 15:42:59.877 │ 0.117s similarity: 0.392
INFO 15:42:59.877 │ [Globe_center] 158
INFO 15:42:59.878 │ Swipe ( 329, 285) -> ( 462, 583)
WARNING 15:43:01.023 │ Func screenshot() call timeout, retrying: 0
INFO 15:43:01.406 │ globe_center: (1007.0, 1242.0)
INFO 15:43:01.407 │ 0.116s similarity: 0.393
INFO 15:43:01.411 │ [Globe_center] 158
INFO 15:43:01.412 │ Swipe ( 518, 268) -> ( 651, 566)
INFO 15:43:02.434 │ globe_center: (1007.0, 1242.0)
INFO 15:43:02.435 │ 0.114s similarity: 0.396
INFO 15:43:02.437 │ [Globe_center] 158
INFO 15:43:02.438 │ Swipe ( 573, 259) -> ( 706, 557)
INFO 15:43:03.447 │ globe_center: (1007.0, 1242.0)
INFO 15:43:03.448 │ 0.117s similarity: 0.398
INFO 15:43:03.450 │ [Globe_center] 158
INFO 15:43:03.451 │ Swipe ( 420, 277) -> ( 553, 575)
INFO 15:43:04.529 │ globe_center: (1207.0, 1478.0)
INFO 15:43:04.530 │ 0.115s similarity: 0.379
INFO 15:43:04.532 │ [Globe_center] 52
INFO 15:43:04.533 │ Swipe ( 364, 220) -> ( 616, 605)
INFO 15:43:05.603 │ globe_center: (1207.0, 1478.0)
INFO 15:43:05.604 │ 0.116s similarity: 0.376
INFO 15:43:05.606 │ [Globe_center] 52
INFO 15:43:05.607 │ Swipe ( 503, 220) -> ( 755, 605)
INFO 15:43:06.622 │ globe_center: (1207.0, 1478.0)
INFO 15:43:06.623 │ 0.116s similarity: 0.379
INFO 15:43:06.625 │ [Globe_center] 52
INFO 15:43:06.626 │ Swipe ( 373, 220) -> ( 625, 605)
INFO 15:43:07.682 │ globe_center: (1207.0, 1478.0)
INFO 15:43:07.683 │ 0.122s similarity: 0.377
INFO 15:43:07.684 │ [Globe_center] 52
INFO 15:43:07.686 │ Swipe ( 418, 220) -> ( 670, 605)
INFO 15:43:08.714 │ globe_center: (1207.0, 1478.0)
INFO 15:43:08.715 │ 0.116s similarity: 0.375
INFO 15:43:08.717 │ [Globe_center] 52
INFO 15:43:08.718 │ Swipe ( 505, 220) -> ( 757, 605)
INFO 15:43:09.721 │ globe_center: (1207.0, 1478.0)
INFO 15:43:09.722 │ 0.116s similarity: 0.375
INFO 15:43:09.724 │ [Globe_center] 52
INFO 15:43:09.725 │ Swipe ( 445, 220) -> ( 697, 605)
INFO 15:43:10.780 │ globe_center: (1207.0, 1478.0)
INFO 15:43:10.781 │ 0.116s similarity: 0.375
INFO 15:43:10.783 │ [Globe_center] 52
INFO 15:43:10.784 │ Swipe ( 403, 220) -> ( 655, 605)
WARNING 15:43:12.011 │ Func screenshot() call timeout, retrying: 0
INFO 15:43:12.337 │ globe_center: (1207.0, 1478.0)
INFO 15:43:12.339 │ 0.117s similarity: 0.373
INFO 15:43:12.340 │ [Globe_center] 52
INFO 15:43:12.341 │ Swipe ( 356, 220) -> ( 608, 605)
INFO 15:43:13.429 │ globe_center: (1207.0, 1478.0)
INFO 15:43:13.430 │ 0.119s similarity: 0.374
INFO 15:43:13.432 │ [Globe_center] 52
INFO 15:43:13.433 │ Swipe ( 249, 220) -> ( 501, 605)
INFO 15:43:14.501 │ globe_center: (1207.0, 1478.0)
INFO 15:43:14.502 │ 0.116s similarity: 0.372
INFO 15:43:14.504 │ [Globe_center] 52
INFO 15:43:14.505 │ Swipe ( 454, 220) -> ( 706, 605)
INFO 15:43:15.509 │ globe_center: (1207.0, 1478.0)
INFO 15:43:15.511 │ 0.119s similarity: 0.375
INFO 15:43:15.512 │ [Globe_center] 52
INFO 15:43:15.513 │ Swipe ( 517, 220) -> ( 769, 605)
WARNING 15:43:16.738 │ Func screenshot() call timeout, retrying: 0
INFO 15:43:17.107 │ globe_center: (1207.0, 1478.0)
INFO 15:43:17.108 │ 0.120s similarity: 0.374
INFO 15:43:17.109 │ [Globe_center] 52
INFO 15:43:17.111 │ Function calls:
<string> L1 <module>
spawn.py L105 spawn_main()
spawn.py L118 _main()
process.py L297 _bootstrap()
process.py L99 run()
process_manager.py L166 run_process()
alas.py L551 loop()
alas.py L69 run()
alas.py L331 opsi_stronghold()
os_run.py L108 opsi_stronghold()
operation_siren.py L727 os_stronghold()
operation_siren.py L711 clear_stronghold()
globe_camera.py L336 find_siren_stronghold()
globe_camera.py L290 _find_siren_stronghold()
globe_camera.py L177 globe_in_sight()
globe_camera.py L107 globe_swipe()
control.py L148 swipe_vector()
control.py L89 swipe()
device.py L259 handle_control_check()
device.py L295 click_record_check()
device.py L43 show_function_call()
WARNING 15:43:17.113 │ Too many click for a button: GLOBE_SWIPE_-222_-340
WARNING 15:43:17.114 │ History click: ['GLOBE_SWIPE_-118_-257',
'GLOBE_SWIPE_-118_-257', 'GLOBE_SWIPE_-118_-257', 'GLOBE_SWIPE_-222_-340',
'GLOBE_SWIPE_-222_-340', 'GLOBE_SWIPE_-222_-340', 'GLOBE_SWIPE_-222_-340',
'GLOBE_SWIPE_-222_-340', 'GLOBE_SWIPE_-222_-340', 'GLOBE_SWIPE_-222_-340',
'GLOBE_SWIPE_-222_-340', 'GLOBE_SWIPE_-222_-340', 'GLOBE_SWIPE_-222_-340',
'GLOBE_SWIPE_-222_-340', 'GLOBE_SWIPE_-222_-340']
ERROR 15:43:17.115 │ GameTooManyClickError: Too many click for a button:
GLOBE_SWIPE_-222_-340
WARNING 15:43:17.116 │ Saving error: ./log/error/1750059797116
WARNING 15:43:17.475 │ Game stuck, com.bilibili.azurlane will be restarted in 10
seconds
WARNING 15:43:17.477 │ If you are playing by hand, please stop Alas
INFO 15:43:17.477 │ Task call: Restart
INFO 15:43:17.484 │ Bind task ['General', 'Alas', 'OpsiGeneral',
'OpsiStronghold']
INFO 15:43:17.486 │ Save config ./config\alas.json,
Restart.Scheduler.NextRun=datetime.datetime(2025, 6, 16, 15, 43, 17),
Restart.Scheduler.Enable=True
INFO 15:43:27.516 │ Scheduler: End task `OpsiStronghold`
INFO 15:43:27.614 │ Server "波茨坦公告" is available.
INFO 15:43:27.616 │ [Server] cn
INFO 15:43:27.624 │ Bind task ['General', 'Alas']
INFO 15:43:27.627 │ Pending tasks: ['Restart', 'OpsiStronghold', 'Main']
INFO 15:43:27.628 │ [Task] Restart (Enable, 2025-06-16 15:43:17)
INFO 15:43:27.629 │ Bind task ['General', 'Alas', 'Restart']
INFO 15:43:27.639 │ Scheduler: Start task `Restart`
═══════════════════════════════════════════════════════════════════════════════════
RESTART
═══════════════════════════════════════════════════════════════════════════════════
INFO 15:43:27.878 │ <<< APP RESTART >>>
INFO 15:43:27.879 │ App stop: com.bilibili.azurlane
INFO 15:43:27.954 │ App start: com.bilibili.azurlane
INFO 15:43:28.419 │ handle_app_login
INFO 15:43:28.420 │ Screenshot interval set to 1.0s
INFO 15:43:28.421 │ <<< APP LOGIN >>>
INFO 15:43:29.547 │ [Device Orientation] 1 (HOME key on the right)
INFO 15:43:34.702 │ [Device Orientation] 1 (HOME key on the right)
WARNING 15:43:40.058 │ Func screenshot() call timeout, retrying: 0
INFO 15:43:40.261 │ [Device Orientation] 1 (HOME key on the right)
WARNING 15:43:44.060 │ Func screenshot() call timeout, retrying: 0
INFO 15:43:45.974 │ [Device Orientation] 1 (HOME key on the right)
WARNING 15:43:51.067 │ Func screenshot() call timeout, retrying: 0
INFO 15:43:51.107 │ [Device Orientation] 1 (HOME key on the right)
WARNING 15:43:53.068 │ Func screenshot() call timeout, retrying: 0
INFO 15:43:55.908 │ Click ( 449, 369) @ LOGIN_CHECK
INFO 15:43:55.960 │ Login success
WARNING 15:44:02.078 │ Func screenshot() call timeout, retrying: 0
INFO 15:44:02.230 │ Click ( 439, 376) @ LOGIN_CHECK
WARNING 15:44:03.079 │ Func screenshot() call timeout, retrying: 0
WARNING 15:44:06.082 │ Func screenshot() call timeout, retrying: 0
WARNING 15:44:07.082 │ Func screenshot() call timeout, retrying: 0
INFO 15:44:07.780 │ Click (1184, 96) @ LOGIN_ANNOUNCE_2
INFO 15:44:08.816 │ Click (1183, 102) @ LOGIN_ANNOUNCE_2
INFO 15:44:08.868 │ Screenshot interval set to 0.2s
INFO 15:44:08.869 │ Delay task `Restart` to 2025-06-17 00:00:00
(server_update='00:00')
INFO 15:44:08.876 │ Bind task ['General', 'Alas', 'Restart']
INFO 15:44:08.876 │ Save config ./config\alas.json,
Restart.Scheduler.NextRun=datetime.datetime(2025, 6, 17, 0, 0)
INFO 15:44:08.912 │ Scheduler: End task `Restart`
INFO 15:44:08.913 │ [Server] cn
INFO 15:44:08.919 │ Bind task ['General', 'Alas']
INFO 15:44:08.922 │ Pending tasks: ['OpsiStronghold', 'Main']
INFO 15:44:08.923 │ [Task] OpsiStronghold (Enable, 2025-06-16 10:30:28)
INFO 15:44:08.924 │ Bind task ['General', 'Alas', 'OpsiGeneral',
'OpsiStronghold']
INFO 15:44:08.930 │ Scheduler: Start task `OpsiStronghold`
═══════════════════════════════════════════════════════════════════════════════════
OPSISTRONGHOLD
═══════════════════════════════════════════════════════════════════════════════════
═════════════════════════════════════ OS INIT ═════════════════════════════════════
INFO 15:44:08.955 │ OS INIT
INFO 15:44:08.972 │ <<< UI ENSURE >>>
INFO 15:44:08.973 │ UI get current page
INFO 15:44:09.029 │ Unknown ui page
INFO 15:44:09.036 │ Click (1186, 96) @ LOGIN_ANNOUNCE_2
INFO 15:44:09.174 │ Unknown ui page
INFO 15:44:09.291 │ [Package_name] com.bilibili.azurlane
INFO 15:44:09.305 │ [Device Orientation] 1 (HOME key on the right)
INFO 15:44:09.376 │ Unknown ui page
INFO 15:44:09.845 │ Unknown ui page
INFO 15:44:10.355 │ Unknown ui page
INFO 15:44:10.422 │ Unknown ui page
INFO 15:44:10.894 │ Unknown ui page
INFO 15:44:10.963 │ Unknown ui page
INFO 15:44:11.435 │ Unknown ui page
INFO 15:44:11.500 │ Unknown ui page
INFO 15:44:11.957 │ Unknown ui page
INFO 15:44:12.035 │ Unknown ui page
INFO 15:44:12.041 │ Click (1178, 99) @ LOGIN_ANNOUNCE_2
INFO 15:44:12.496 │ Unknown ui page
INFO 15:44:12.560 │ Unknown ui page
WARNING 15:44:13.221 │ Func screenshot() call timeout, retrying: 0
INFO 15:44:13.530 │ [UI] page_main
INFO 15:44:13.531 │ Goto page_os
INFO 15:44:13.532 │ <<< UI GOTO PAGE_OS >>>
INFO 15:44:13.537 │ Page switch: page_main_white -> page_campaign_menu
INFO 15:44:13.538 │ Click (1200, 499) @ MAIN_GOTO_CAMPAIGN_WHITE
WARNING 15:44:14.292 │ Func screenshot() call timeout, retrying: 0
WARNING 15:44:16.355 │ Func screenshot() call timeout, retrying: 0
INFO 15:44:18.675 │ Page switch: page_main_white -> page_campaign_menu
INFO 15:44:18.677 │ Click (1190, 514) @ MAIN_GOTO_CAMPAIGN_WHITE
INFO 15:44:19.758 │ Page switch: page_campaign_menu -> page_os
INFO 15:44:19.760 │ Click ( 774, 427) @ CAMPAIGN_MENU_GOTO_OS
WARNING 15:44:20.513 │ Func screenshot() call timeout, retrying: 0
INFO 15:44:22.896 │ Page arrive: page_os
INFO 15:44:22.897 │ <<< ZONE INIT >>>
INFO 15:44:22.904 │ Get zone name
INFO 15:44:22.936 │ Loading OCR model: ./bin/cnocr_models/cnocr
INFO 15:44:23.002 │ [MAP_NAME 0.081s] NY
INFO 15:44:23.003 │ Map name processed: NY
INFO 15:44:23.005 │ [Zone] [0|NY City]
──────────────────────────────── AFTER AUTO SEARCH ────────────────────────────────
INFO 15:44:23.007 │ AFTER AUTO SEARCH
INFO 15:44:23.019 │ No EMP debuff on current fleet
INFO 15:44:23.022 │ [HP] 98% 98% 98% 98% 98% 98%
INFO 15:44:23.026 │ [Repair icon] [False, False, False, False, False, False]
INFO 15:44:23.027 │ No ship found to be below threshold 50%, continue OS
exploration
INFO 15:44:23.028 │ Handle after auto search finished, solved=False
INFO 15:44:23.029 │ Current fleet is not afflicted with the low resolve debuff
INFO 15:44:23.030 │ Ash beacon status: gray
INFO 15:44:23.049 │ [ASH_COLLECT_STATUS 0.019s] 0/200
INFO 15:44:23.067 │ [ASH_DAILY_STATUS 0.017s] 200/200
INFO 15:44:23.068 │ Ash beacon fully collected today
INFO 15:44:23.069 │ Run auto search, question=True, rescan=False
───────────────────────────────── OS AUTO SEARCH ──────────────────────────────────
INFO 15:44:23.070 │ OS AUTO SEARCH
INFO 15:44:23.088 │ Click (1255, 541) @ AUTO_SEARCH_OS_MAP_OPTION_OFF
WARNING 15:44:25.197 │ Func screenshot() call timeout, retrying: 0
INFO 15:44:25.747 │ OS auto search finished
INFO 15:44:25.750 │ [HP] 98% 98% 98% 98% 98% 98%
INFO 15:44:25.752 │ [Repair icon] [False, False, False, False, False, False]
───────────────────────────────── CLEAR QUESTION ──────────────────────────────────
INFO 15:44:25.754 │ CLEAR QUESTION
INFO 15:44:25.798 │ -- -- --
INFO 15:44:25.799 │ -- -- -- -- -- -- --
INFO 15:44:25.800 │ -- -- -- -- -- -- -- -- --
INFO 15:44:25.801 │ -- -- -- -- -- -- -- -- --
INFO 15:44:25.802 │ -- -- -- -- -- -- -- -- -- -- --
INFO 15:44:25.803 │ -- -- -- -- -- FL -- -- -- -- --
INFO 15:44:25.804 │ -- -- -- -- -- -- -- -- -- -- --
INFO 15:44:25.805 │ -- -- -- -- -- -- -- -- --
INFO 15:44:25.806 │ -- -- -- -- -- -- -- -- --
INFO 15:44:25.807 │ -- -- -- -- -- -- --
INFO 15:44:25.807 │ -- -- --
INFO 15:44:25.808 │ No question mark above current fleet on this radar
──────────────────────────────── AFTER AUTO SEARCH ────────────────────────────────
INFO 15:44:25.810 │ AFTER AUTO SEARCH
INFO 15:44:25.812 │ No EMP debuff on current fleet
INFO 15:44:25.815 │ [HP] 98% 98% 98% 98% 98% 98%
INFO 15:44:25.817 │ [Repair icon] [False, False, False, False, False, False]
INFO 15:44:25.819 │ No ship found to be below threshold 50%, continue OS
exploration
INFO 15:44:25.820 │ Handle after auto search finished, solved=False
═══════════════════════════════ OS CLEAR STRONGHOLD ═══════════════════════════════
INFO 15:44:25.821 │ OS CLEAR STRONGHOLD
INFO 15:44:25.832 │ Click ( 982, 669) @ MAP_GOTO_GLOBE
WARNING 15:44:28.848 │ Func screenshot() call timeout, retrying: 0
INFO 15:44:29.665 │ Swipe ( 487, 424) -> ( 537, 369)
WARNING 15:44:30.911 │ Func screenshot() call timeout, retrying: 0
INFO 15:44:31.239 │ Loading OS globe map
INFO 15:44:31.523 │ [homo_storage] ((4, 3), [(445, 180), (879, 180), (376,
497), (963, 497)])
INFO 15:44:31.644 │ globe_center: (421.0, 958.0)
INFO 15:44:31.645 │ 0.121s similarity: 0.533
INFO 15:44:31.646 │ [Globe_center] 0
══════════════════════════════ FIND SIREN STRONGHOLD ══════════════════════════════
INFO 15:44:31.648 │ FIND SIREN STRONGHOLD
──────────────────────── FIND SIREN STRONGHOLD IN REGION 3 ────────────────────────
INFO 15:44:31.649 │ FIND SIREN STRONGHOLD IN REGION 3
INFO 15:44:31.651 │ Find siren stronghold around [44|West Continental Shelf D]
INFO 15:44:31.652 │ Zone 21 is not a siren stronghold
INFO 15:44:31.653 │ Zone 22 is not a siren stronghold
INFO 15:44:31.654 │ Zone 42 is not a siren stronghold
INFO 15:44:31.655 │ Zone 44 is not a siren stronghold
INFO 15:44:31.656 │ Find siren stronghold around [24|NA Ocean SW Sector D]
INFO 15:44:31.658 │ Swipe ( 634, 523) -> ( 644, 291)
INFO 15:44:32.423 │ globe_center: (413.0, 1198.0)
INFO 15:44:32.424 │ 0.123s similarity: 0.569
INFO 15:44:32.425 │ [Globe_center] 22
INFO 15:44:32.427 │ Zone 11 is not a siren stronghold
INFO 15:44:32.428 │ Zone 23 is not a siren stronghold
INFO 15:44:32.429 │ Zone 24 is not a siren stronghold
INFO 15:44:32.430 │ Zone 31 is not a siren stronghold
INFO 15:44:32.431 │ Find siren stronghold around [14|Caribbean Sea D]
INFO 15:44:32.432 │ Swipe ( 620, 497) -> ( 585, 367)
INFO 15:44:33.469 │ globe_center: (455.0, 1116.0)
INFO 15:44:33.471 │ 0.120s similarity: 0.588
INFO 15:44:33.472 │ [Globe_center] 22
INFO 15:44:33.473 │ Swipe ( 596, 486) -> ( 586, 313)
INFO 15:44:34.480 │ globe_center: (479.0, 1274.0)
INFO 15:44:34.481 │ 0.122s similarity: 0.625
INFO 15:44:34.482 │ [Globe_center] 22
INFO 15:44:34.483 │ Swipe ( 252, 492) -> ( 256, 402)
INFO 15:44:35.533 │ globe_center: (455.0, 1274.0)
INFO 15:44:35.534 │ 0.132s similarity: 0.594
INFO 15:44:35.535 │ [Globe_center] 22
INFO 15:44:35.536 │ Swipe ( 467, 411) -> ( 457, 321)
INFO 15:44:36.576 │ globe_center: (175.0, 1266.0)
INFO 15:44:36.577 │ 0.119s similarity: 0.399
INFO 15:44:36.579 │ [Globe_center] 11
INFO 15:44:36.580 │ Swipe ( 398, 439) -> ( 221, 345)
WARNING 15:44:37.654 │ Func screenshot() call timeout, retrying: 0
INFO 15:44:38.179 │ globe_center: (175.0, 1266.0)
INFO 15:44:38.180 │ 0.120s similarity: 0.400
INFO 15:44:38.182 │ [Globe_center] 11
INFO 15:44:38.183 │ Swipe ( 709, 490) -> ( 532, 396)
INFO 15:44:39.184 │ globe_center: (175.0, 1266.0)
INFO 15:44:39.185 │ 0.121s similarity: 0.405
INFO 15:44:39.186 │ [Globe_center] 11
INFO 15:44:39.187 │ Swipe ( 532, 509) -> ( 355, 415)
INFO 15:44:40.218 │ globe_center: (175.0, 1266.0)
INFO 15:44:40.219 │ 0.117s similarity: 0.398
INFO 15:44:40.220 │ [Globe_center] 11
INFO 15:44:40.222 │ Swipe ( 476, 459) -> ( 299, 365)
INFO 15:44:41.235 │ globe_center: (175.0, 1266.0)
INFO 15:44:41.236 │ 0.120s similarity: 0.395
INFO 15:44:41.238 │ [Globe_center] 11
INFO 15:44:41.238 │ Swipe ( 546, 437) -> ( 369, 343)
INFO 15:44:41.955 │ globe_center: (175.0, 1266.0)
INFO 15:44:41.956 │ 0.120s similarity: 0.399
INFO 15:44:41.956 │ [Globe_center] 11
INFO 15:44:41.957 │ Swipe ( 595, 442) -> ( 418, 348)
INFO 15:44:42.779 │ globe_center: (331.0, 1364.0)
INFO 15:44:42.780 │ 0.122s similarity: 0.528
INFO 15:44:42.781 │ [Globe_center] 24
INFO 15:44:42.782 │ Zone 12 is not a siren stronghold
INFO 15:44:42.783 │ Zone 13 is not a siren stronghold
INFO 15:44:42.784 │ Zone 14 is not a siren stronghold
INFO 15:44:42.785 │ Find siren stronghold around [33|Southwest Ocean Ridge C]
INFO 15:44:42.786 │ Swipe ( 482, 479) -> ( 284, 436)
INFO 15:44:43.826 │ globe_center: (331.0, 1364.0)
INFO 15:44:43.827 │ 0.143s similarity: 0.536
INFO 15:44:43.829 │ [Globe_center] 24
INFO 15:44:43.830 │ Swipe ( 734, 522) -> ( 536, 479)
INFO 15:44:44.811 │ globe_center: (331.0, 1364.0)
INFO 15:44:44.812 │ 0.123s similarity: 0.537
INFO 15:44:44.814 │ [Globe_center] 24
INFO 15:44:44.815 │ Swipe ( 615, 502) -> ( 417, 459)
INFO 15:44:45.844 │ globe_center: (359.0, 1398.0)
INFO 15:44:45.845 │ 0.121s similarity: 0.445
INFO 15:44:45.847 │ [Globe_center] 24
INFO 15:44:45.848 │ Zone 33 is not a siren stronghold
INFO 15:44:45.849 │ Find siren stronghold around [32|Southwest Ocean Ridge B]
INFO 15:44:45.850 │ Swipe ( 836, 402) -> ( 532, 442)
INFO 15:44:46.900 │ globe_center: (359.0, 1398.0)
INFO 15:44:46.901 │ 0.121s similarity: 0.485
INFO 15:44:46.903 │ [Globe_center] 24
INFO 15:44:46.905 │ Swipe ( 770, 440) -> ( 466, 480)
INFO 15:44:47.996 │ globe_center: (359.0, 1398.0)
INFO 15:44:47.997 │ 0.126s similarity: 0.445
INFO 15:44:47.999 │ [Globe_center] 24
INFO 15:44:48.000 │ Swipe ( 462, 334) -> ( 158, 374)
INFO 15:44:49.063 │ globe_center: (359.0, 1398.0)
INFO 15:44:49.064 │ 0.121s similarity: 0.432
INFO 15:44:49.065 │ [Globe_center] 24
INFO 15:44:49.067 │ Swipe ( 780, 501) -> ( 476, 541)
INFO 15:44:50.078 │ globe_center: (359.0, 1398.0)
INFO 15:44:50.079 │ 0.122s similarity: 0.425
INFO 15:44:50.080 │ [Globe_center] 24
INFO 15:44:50.082 │ Swipe ( 665, 405) -> ( 361, 445)
INFO 15:44:51.097 │ globe_center: (691.0, 1488.0)
INFO 15:44:51.098 │ 0.118s similarity: 0.647
INFO 15:44:51.100 │ [Globe_center] 33
INFO 15:44:51.101 │ Zone 32 is not a siren stronghold
INFO 15:44:51.102 │ Zone 34 is not a siren stronghold
INFO 15:44:51.103 │ Find siren stronghold around [25|NA Ocean SW Sector E]
INFO 15:44:51.104 │ Swipe ( 453, 348) -> ( 339, 535)
WARNING 15:44:52.190 │ Func screenshot() call timeout, retrying: 0
INFO 15:44:52.630 │ globe_center: (691.0, 1488.0)
INFO 15:44:52.631 │ 0.122s similarity: 0.644
INFO 15:44:52.632 │ [Globe_center] 33
INFO 15:44:52.633 │ Swipe ( 529, 326) -> ( 415, 513)
INFO 15:44:53.715 │ globe_center: (609.0, 1520.0)
INFO 15:44:53.716 │ 0.124s similarity: 0.524
INFO 15:44:53.718 │ [Globe_center] 33
INFO 15:44:53.719 │ Swipe ( 710, 274) -> ( 547, 478)
INFO 15:44:54.722 │ globe_center: (609.0, 1520.0)
INFO 15:44:54.724 │ 0.122s similarity: 0.455
INFO 15:44:54.725 │ [Globe_center] 33
INFO 15:44:54.726 │ Swipe ( 543, 387) -> ( 380, 591)
INFO 15:44:55.780 │ globe_center: (609.0, 1520.0)
INFO 15:44:55.781 │ 0.125s similarity: 0.426
INFO 15:44:55.782 │ [Globe_center] 33
INFO 15:44:55.783 │ Swipe ( 679, 367) -> ( 516, 571)
WARNING 15:44:56.899 │ Func screenshot() call timeout, retrying: 0
INFO 15:44:57.338 │ globe_center: (609.0, 1520.0)
INFO 15:44:57.339 │ 0.122s similarity: 0.426
INFO 15:44:57.341 │ [Globe_center] 33
INFO 15:44:57.342 │ Swipe ( 528, 285) -> ( 365, 489)
INFO 15:44:58.416 │ globe_center: (609.0, 1520.0)
INFO 15:44:58.417 │ 0.118s similarity: 0.426
INFO 15:44:58.421 │ [Globe_center] 33
INFO 15:44:58.423 │ Swipe ( 434, 297) -> ( 271, 501)
INFO 15:44:59.179 │ globe_center: (609.0, 1520.0)
INFO 15:44:59.180 │ 0.123s similarity: 0.425
INFO 15:44:59.181 │ [Globe_center] 33
INFO 15:44:59.183 │ Swipe ( 372, 358) -> ( 209, 562)
WARNING 15:45:00.296 │ Func screenshot() call timeout, retrying: 0
INFO 15:45:00.477 │ globe_center: (717.0, 1364.0)
INFO 15:45:00.478 │ 0.123s similarity: 0.516
INFO 15:45:00.479 │ [Globe_center] 31
INFO 15:45:00.480 │ Swipe ( 423, 412) -> ( 325, 534)
WARNING 15:45:01.535 │ Func screenshot() call timeout, retrying: 0
INFO 15:45:01.993 │ globe_center: (751.0, 1316.0)
INFO 15:45:01.994 │ 0.118s similarity: 0.652
INFO 15:45:01.996 │ [Globe_center] 31
INFO 15:45:01.997 │ Zone 25 is not a siren stronghold
INFO 15:45:01.998 │ Find siren stronghold finished
──────────────────────── FIND SIREN STRONGHOLD IN REGION 1 ────────────────────────
INFO 15:45:01.999 │ FIND SIREN STRONGHOLD IN REGION 1
INFO 15:45:02.000 │ Find siren stronghold around [83|NA Ocean W Sector C]
INFO 15:45:02.002 │ Swipe ( 564, 366) -> ( 456, 587)
INFO 15:45:03.007 │ globe_center: (541.0, 1320.0)
INFO 15:45:03.008 │ 0.121s similarity: 0.467
INFO 15:45:03.010 │ [Globe_center] 31
INFO 15:45:03.011 │ Swipe ( 702, 266) -> ( 469, 489)
INFO 15:45:04.040 │ globe_center: (411.0, 1530.0)
INFO 15:45:04.041 │ 0.122s similarity: 0.423
INFO 15:45:04.043 │ [Globe_center] 14
INFO 15:45:04.044 │ Swipe ( 661, 261) -> ( 351, 594)
INFO 15:45:05.098 │ globe_center: (411.0, 1530.0)
INFO 15:45:05.099 │ 0.120s similarity: 0.391
INFO 15:45:05.100 │ [Globe_center] 14
INFO 15:45:05.101 │ Swipe ( 487, 250) -> ( 177, 583)
INFO 15:45:06.125 │ globe_center: (411.0, 1530.0)
INFO 15:45:06.127 │ 0.119s similarity: 0.383
INFO 15:45:06.128 │ [Globe_center] 14
INFO 15:45:06.129 │ Swipe ( 620, 256) -> ( 310, 589)
INFO 15:45:06.997 │ globe_center: (411.0, 1530.0)
INFO 15:45:06.998 │ 0.123s similarity: 0.384
INFO 15:45:06.999 │ [Globe_center] 14
INFO 15:45:07.000 │ Swipe ( 593, 254) -> ( 283, 587)
INFO 15:45:08.189 │ globe_center: (449.0, 1482.0)
INFO 15:45:08.190 │ 0.121s similarity: 0.614
INFO 15:45:08.192 │ [Globe_center] 24
INFO 15:45:08.193 │ Swipe ( 641, 268) -> ( 354, 576)
INFO 15:45:09.263 │ globe_center: (449.0, 1482.0)
INFO 15:45:09.264 │ 0.121s similarity: 0.611
INFO 15:45:09.265 │ [Globe_center] 24
INFO 15:45:09.267 │ Swipe ( 616, 260) -> ( 329, 568)
INFO 15:45:10.268 │ globe_center: (449.0, 1482.0)
INFO 15:45:10.269 │ 0.122s similarity: 0.614
INFO 15:45:10.271 │ [Globe_center] 24
INFO 15:45:10.272 │ Swipe ( 487, 255) -> ( 200, 563)
INFO 15:45:11.354 │ globe_center: (449.0, 1482.0)
INFO 15:45:11.355 │ 0.120s similarity: 0.614
INFO 15:45:11.356 │ [Globe_center] 24
INFO 15:45:11.357 │ Swipe ( 429, 251) -> ( 142, 559)
INFO 15:45:12.365 │ globe_center: (449.0, 1482.0)
INFO 15:45:12.366 │ 0.123s similarity: 0.614
INFO 15:45:12.367 │ [Globe_center] 24
INFO 15:45:12.369 │ Swipe ( 405, 272) -> ( 118, 580)
INFO 15:45:13.402 │ globe_center: (449.0, 1482.0)
INFO 15:45:13.403 │ 0.121s similarity: 0.613
INFO 15:45:13.405 │ [Globe_center] 24
INFO 15:45:13.406 │ Swipe ( 681, 268) -> ( 394, 576)
INFO 15:45:14.409 │ globe_center: (449.0, 1482.0)
INFO 15:45:14.410 │ 0.123s similarity: 0.614
INFO 15:45:14.411 │ [Globe_center] 24
INFO 15:45:14.413 │ Swipe ( 717, 253) -> ( 430, 561)
INFO 15:45:15.270 │ globe_center: (411.0, 1530.0)
INFO 15:45:15.271 │ 0.123s similarity: 0.407
INFO 15:45:15.273 │ [Globe_center] 14
INFO 15:45:15.274 │ Swipe ( 596, 242) -> ( 286, 575)
INFO 15:45:16.491 │ globe_center: (487.0, 1438.0)
INFO 15:45:16.492 │ 0.120s similarity: 0.592
INFO 15:45:16.494 │ [Globe_center] 24
INFO 15:45:16.495 │ Swipe ( 691, 266) -> ( 426, 551)
INFO 15:45:17.524 │ globe_center: (487.0, 1438.0)
INFO 15:45:17.526 │ 0.118s similarity: 0.592
INFO 15:45:17.527 │ [Globe_center] 24
INFO 15:45:17.528 │ Swipe ( 557, 300) -> ( 292, 585)
WARNING 15:45:18.714 │ Func screenshot() call timeout, retrying: 0
INFO 15:45:19.053 │ globe_center: (411.0, 1530.0)
INFO 15:45:19.054 │ 0.121s similarity: 0.376
INFO 15:45:19.055 │ [Globe_center] 14
INFO 15:45:19.056 │ Function calls:
<string> L1 <module>
spawn.py L105 spawn_main()
spawn.py L118 _main()
process.py L297 _bootstrap()
process.py L99 run()
process_manager.py L166 run_process()
alas.py L551 loop()
alas.py L69 run()
alas.py L331 opsi_stronghold()
os_run.py L108 opsi_stronghold()
operation_siren.py L727 os_stronghold()
operation_siren.py L711 clear_stronghold()
globe_camera.py L336 find_siren_stronghold()
globe_camera.py L290 _find_siren_stronghold()
globe_camera.py L177 globe_in_sight()
globe_camera.py L107 globe_swipe()
control.py L148 swipe_vector()
control.py L89 swipe()
device.py L259 handle_control_check()
device.py L301 click_record_check()
device.py L43 show_function_call()
WARNING 15:45:19.059 │ Too many click between 2 buttons: GLOBE_SWIPE_253_-266,
GLOBE_SWIPE_273_-287
WARNING 15:45:19.060 │ History click: ['GLOBE_SWIPE_273_-287',
'GLOBE_SWIPE_273_-287', 'GLOBE_SWIPE_273_-287', 'GLOBE_SWIPE_273_-287',
'GLOBE_SWIPE_253_-266', 'GLOBE_SWIPE_253_-266', 'GLOBE_SWIPE_253_-266',
'GLOBE_SWIPE_253_-266', 'GLOBE_SWIPE_253_-266', 'GLOBE_SWIPE_253_-266',
'GLOBE_SWIPE_253_-266', 'GLOBE_SWIPE_273_-287', 'GLOBE_SWIPE_233_-246',
'GLOBE_SWIPE_233_-246', 'GLOBE_SWIPE_273_-287']
ERROR 15:45:19.061 │ GameTooManyClickError: Too many click between 2 buttons:
GLOBE_SWIPE_253_-266, GLOBE_SWIPE_273_-287
WARNING 15:45:19.062 │ Saving error: ./log/error/1750059919062
WARNING 15:45:19.371 │ Game stuck, com.bilibili.azurlane will be restarted in 10
seconds
WARNING 15:45:19.372 │ If you are playing by hand, please stop Alas
INFO 15:45:19.374 │ Task call: Restart
INFO 15:45:19.379 │ Bind task ['General', 'Alas', 'OpsiGeneral',
'OpsiStronghold']
INFO 15:45:19.380 │ Save config ./config\alas.json,
Restart.Scheduler.NextRun=datetime.datetime(2025, 6, 16, 15, 45, 19),
Restart.Scheduler.Enable=True
INFO 15:45:29.409 │ Scheduler: End task `OpsiStronghold`
CRITICAL 15:45:29.411 │ Task `OpsiStronghold` failed 3 or more times.
CRITICAL 15:45:29.412 │ Possible reason #1: You haven't used it correctly. Please
read the help text of the options.
CRITICAL 15:45:29.414 │ Possible reason #2: There is a problem with this task.
Please contact developers or try to fix it yourself.
CRITICAL 15:45:29.416 │ Request human takeover
INFO 15:45:30.287 │ No provider specified, skip sending
截图
还有别的吗?
No response
补充另一个案例:
INFO 09:01:07.887 │ No EMP debuff on current fleet
INFO 09:01:07.891 │ [HP] 98% 98% 98% 98% 98% 98%
INFO 09:01:07.893 │ [Repair icon] [False, False, False, False, False, False]
INFO 09:01:07.894 │ No ship found to be below threshold 50%, continue OS
exploration
INFO 09:01:07.895 │ Handle after auto search finished, solved=False
═══════════════════════════════ OS CLEAR STRONGHOLD ═══════════════════════════════
INFO 09:01:07.896 │ OS CLEAR STRONGHOLD
INFO 09:01:07.906 │ Click (1002, 660) @ MAP_GOTO_GLOBE
INFO 09:01:11.441 │ Swipe ( 514, 451) -> ( 563, 404)
WARNING 09:01:12.685 │ Func screenshot() call timeout, retrying: 0
INFO 09:01:13.004 │ Loading OS globe map
INFO 09:01:13.290 │ [homo_storage] ((4, 3), [(445, 180), (879, 180), (376,
497), (963, 497)])
INFO 09:01:13.408 │ globe_center: (1901.0, 718.0)
INFO 09:01:13.409 │ 0.116s similarity: 0.534
INFO 09:01:13.410 │ [Globe_center] 125
══════════════════════════════ FIND SIREN STRONGHOLD ══════════════════════════════
INFO 09:01:13.412 │ FIND SIREN STRONGHOLD
──────────────────────── FIND SIREN STRONGHOLD IN REGION 2 ────────────────────────
INFO 09:01:13.414 │ FIND SIREN STRONGHOLD IN REGION 2
INFO 09:01:13.415 │ Find siren stronghold around [125|East Continental Shelf E]
INFO 09:01:13.417 │ Zone 111 is not a siren stronghold
INFO 09:01:13.418 │ Zone 112 is not a siren stronghold
INFO 09:01:13.419 │ Zone 113 is not a siren stronghold
INFO 09:01:13.420 │ Zone 114 is not a siren stronghold
INFO 09:01:13.421 │ Zone 122 is not a siren stronghold
INFO 09:01:13.422 │ Zone 125 is not a siren stronghold
INFO 09:01:13.423 │ Zone 132 is not a siren stronghold
INFO 09:01:13.424 │ Zone 133 is not a siren stronghold
INFO 09:01:13.425 │ Zone 135 is not a siren stronghold
INFO 09:01:13.426 │ Find siren stronghold around [123|East Continental Shelf C]
INFO 09:01:13.427 │ Swipe ( 627, 366) -> ( 605, 513)
INFO 09:01:14.150 │ globe_center: (1901.0, 718.0)
INFO 09:01:14.151 │ 0.119s similarity: 0.534
INFO 09:01:14.153 │ [Globe_center] 125
INFO 09:01:14.154 │ Swipe ( 336, 313) -> ( 314, 460)
INFO 09:01:15.200 │ globe_center: (1817.0, 774.0)
INFO 09:01:15.201 │ 0.114s similarity: 0.434
INFO 09:01:15.202 │ [Globe_center] 6
INFO 09:01:15.204 │ Swipe ( 526, 293) -> ( 454, 470)
INFO 09:01:16.291 │ globe_center: (1817.0, 774.0)
INFO 09:01:16.292 │ 0.119s similarity: 0.408
INFO 09:01:16.294 │ [Globe_center] 6
INFO 09:01:16.295 │ Swipe ( 540, 290) -> ( 468, 467)
INFO 09:01:17.303 │ globe_center: (1817.0, 774.0)
INFO 09:01:17.304 │ 0.118s similarity: 0.401
INFO 09:01:17.306 │ [Globe_center] 6
INFO 09:01:17.307 │ Swipe ( 610, 305) -> ( 538, 482)
INFO 09:01:18.324 │ globe_center: (1883.0, 582.0)
INFO 09:01:18.325 │ 0.116s similarity: 0.561
INFO 09:01:18.327 │ [Globe_center] 1
INFO 09:01:18.328 │ Zone 123 is not a siren stronghold
INFO 09:01:18.329 │ Zone 124 is not a siren stronghold
INFO 09:01:18.330 │ Zone 134 is not a siren stronghold
INFO 09:01:18.331 │ Find siren stronghold around [144|Northeast Passage D]
INFO 09:01:18.332 │ Swipe ( 400, 317) -> ( 374, 481)
INFO 09:01:19.342 │ globe_center: (1807.0, 596.0)
INFO 09:01:19.343 │ 0.120s similarity: 0.605
INFO 09:01:19.344 │ [Globe_center] 1
INFO 09:01:19.345 │ Swipe ( 337, 372) -> ( 265, 543)
WARNING 09:01:20.421 │ Func screenshot() call timeout, retrying: 0
INFO 09:01:20.870 │ globe_center: (1787.0, 600.0)
INFO 09:01:20.871 │ 0.119s similarity: 0.411
INFO 09:01:20.872 │ [Globe_center] 1
INFO 09:01:20.874 │ Swipe ( 843, 298) -> ( 760, 471)
INFO 09:01:21.935 │ globe_center: (1787.0, 600.0)
INFO 09:01:21.936 │ 0.117s similarity: 0.412
INFO 09:01:21.938 │ [Globe_center] 1
INFO 09:01:21.939 │ Swipe ( 279, 371) -> ( 196, 544)
INFO 09:01:23.025 │ globe_center: (1787.0, 600.0)
INFO 09:01:23.026 │ 0.117s similarity: 0.413
INFO 09:01:23.028 │ [Globe_center] 1
INFO 09:01:23.029 │ Swipe ( 763, 274) -> ( 680, 447)
INFO 09:01:24.078 │ globe_center: (1787.0, 600.0)
INFO 09:01:24.079 │ 0.115s similarity: 0.413
INFO 09:01:24.081 │ [Globe_center] 1
INFO 09:01:24.081 │ Swipe ( 694, 388) -> ( 611, 561)
INFO 09:01:25.115 │ globe_center: (1787.0, 600.0)
INFO 09:01:25.116 │ 0.118s similarity: 0.414
INFO 09:01:25.117 │ [Globe_center] 1
INFO 09:01:25.118 │ Swipe ( 773, 314) -> ( 690, 487)
INFO 09:01:26.128 │ globe_center: (1863.0, 414.0)
INFO 09:01:26.129 │ 0.121s similarity: 0.596
INFO 09:01:26.130 │ [Globe_center] 123
INFO 09:01:26.132 │ Zone 131 is not a siren stronghold
INFO 09:01:26.133 │ Zone 141 is not a siren stronghold
INFO 09:01:26.134 │ Zone 143 is not a siren stronghold
INFO 09:01:26.135 │ Zone 144 is not a siren stronghold
INFO 09:01:26.136 │ Find siren stronghold around [142|Northeast Passage B]
INFO 09:01:26.137 │ Swipe ( 344, 448) -> ( 381, 560)
INFO 09:01:27.168 │ globe_center: (1787.0, 600.0)
INFO 09:01:27.169 │ 0.118s similarity: 0.459
INFO 09:01:27.171 │ [Globe_center] 1
INFO 09:01:27.172 │ Swipe ( 419, 325) -> ( 411, 535)
INFO 09:01:28.242 │ globe_center: (1787.0, 600.0)
INFO 09:01:28.242 │ 0.116s similarity: 0.413
INFO 09:01:28.244 │ [Globe_center] 1
INFO 09:01:28.245 │ Swipe ( 500, 317) -> ( 492, 527)
INFO 09:01:29.326 │ globe_center: (1787.0, 600.0)
INFO 09:01:29.327 │ 0.118s similarity: 0.413
INFO 09:01:29.328 │ [Globe_center] 1
INFO 09:01:29.330 │ Swipe ( 624, 295) -> ( 616, 505)
INFO 09:01:30.325 │ globe_center: (1879.0, 600.0)
INFO 09:01:30.326 │ 0.118s similarity: 0.540
INFO 09:01:30.327 │ [Globe_center] 1
INFO 09:01:30.329 │ Swipe ( 584, 356) -> ( 631, 566)
INFO 09:01:31.375 │ globe_center: (1997.0, 602.0)
INFO 09:01:31.376 │ 0.114s similarity: 0.430
INFO 09:01:31.377 │ [Globe_center] 4
INFO 09:01:31.379 │ Swipe ( 722, 309) -> ( 839, 520)
INFO 09:01:32.448 │ globe_center: (1997.0, 602.0)
INFO 09:01:32.449 │ 0.114s similarity: 0.429
INFO 09:01:32.451 │ [Globe_center] 4
INFO 09:01:32.452 │ Swipe ( 245, 388) -> ( 362, 599)
INFO 09:01:33.549 │ globe_center: (1817.0, 774.0)
INFO 09:01:33.550 │ 0.126s similarity: 0.435
INFO 09:01:33.552 │ [Globe_center] 6
INFO 09:01:33.553 │ Swipe ( 484, 253) -> ( 494, 554)
INFO 09:01:34.557 │ globe_center: (1817.0, 774.0)
INFO 09:01:34.558 │ 0.114s similarity: 0.404
INFO 09:01:34.560 │ [Globe_center] 6
INFO 09:01:34.561 │ Swipe ( 377, 271) -> ( 387, 572)
WARNING 09:01:35.706 │ Func screenshot() call timeout, retrying: 0
INFO 09:01:36.103 │ globe_center: (1817.0, 774.0)
INFO 09:01:36.104 │ 0.114s similarity: 0.406
INFO 09:01:36.106 │ [Globe_center] 6
INFO 09:01:36.107 │ Swipe ( 525, 262) -> ( 535, 563)
INFO 09:01:37.159 │ globe_center: (1817.0, 774.0)
INFO 09:01:37.160 │ 0.114s similarity: 0.404
INFO 09:01:37.162 │ [Globe_center] 6
INFO 09:01:37.163 │ Swipe ( 413, 280) -> ( 423, 581)
INFO 09:01:38.234 │ globe_center: (1817.0, 774.0)
INFO 09:01:38.235 │ 0.114s similarity: 0.407
INFO 09:01:38.236 │ [Globe_center] 6
INFO 09:01:38.237 │ Swipe ( 702, 275) -> ( 712, 576)
INFO 09:01:39.321 │ globe_center: (1817.0, 774.0)
INFO 09:01:39.322 │ 0.114s similarity: 0.408
INFO 09:01:39.323 │ [Globe_center] 6
INFO 09:01:39.324 │ Swipe ( 276, 284) -> ( 286, 585)
INFO 09:01:40.339 │ globe_center: (1817.0, 774.0)
INFO 09:01:40.340 │ 0.112s similarity: 0.408
INFO 09:01:40.342 │ [Globe_center] 6
INFO 09:01:40.343 │ Swipe ( 322, 291) -> ( 332, 592)
INFO 09:01:41.377 │ globe_center: (1817.0, 774.0)
INFO 09:01:41.378 │ 0.115s similarity: 0.408
INFO 09:01:41.380 │ [Globe_center] 6
INFO 09:01:41.381 │ Swipe ( 480, 280) -> ( 490, 581)
INFO 09:01:42.392 │ globe_center: (1817.0, 774.0)
INFO 09:01:42.393 │ 0.114s similarity: 0.406
INFO 09:01:42.394 │ [Globe_center] 6
INFO 09:01:42.395 │ Swipe ( 405, 275) -> ( 415, 576)
INFO 09:01:43.430 │ globe_center: (1817.0, 774.0)
INFO 09:01:43.432 │ 0.111s similarity: 0.408
INFO 09:01:43.433 │ [Globe_center] 6
INFO 09:01:43.434 │ Swipe ( 352, 239) -> ( 362, 540)
INFO 09:01:44.503 │ globe_center: (1817.0, 774.0)
INFO 09:01:44.504 │ 0.114s similarity: 0.404
INFO 09:01:44.506 │ [Globe_center] 6
INFO 09:01:44.507 │ Swipe ( 534, 278) -> ( 544, 579)
INFO 09:01:45.575 │ globe_center: (1817.0, 774.0)
INFO 09:01:45.576 │ 0.115s similarity: 0.405
INFO 09:01:45.577 │ [Globe_center] 6
INFO 09:01:45.579 │ Function calls:
spawn.py L105 spawn_main()
spawn.py L118 main()
process.py L297 bootstrap()
process.py L99 run()
process_manager.py L166 run_process()
alas.py L551 loop()
alas.py L69 run()
alas.py L331 opsi_stronghold()
os_run.py L108 opsi_stronghold()
operation_siren.py L727 os_stronghold()
operation_siren.py L711 clear_stronghold()
globe_camera.py L336 find_siren_stronghold()
globe_camera.py L290 find_siren_stronghold()
globe_camera.py L177 globe_in_sight()
globe_camera.py L107 globe_swipe()
control.py L148 swipe_vector()
control.py L89 swipe()
device.py L259 handle_control_check()
device.py L295 click_record_check()
device.py L43 show_function_call()
WARNING 09:01:45.583 │ Too many click for a button: GLOBE_SWIPE-9-260
WARNING 09:01:45.584 │ History click: ['GLOBE_SWIPE-41_-181',
'GLOBE_SWIPE_-103_-182', 'GLOBE_SWIPE_-103_-182', 'GLOBE_SWIPE_-9_-260',
'GLOBE_SWIPE_-9_-260', 'GLOBE_SWIPE_-9_-260', 'GLOBE_SWIPE_-9_-260',
'GLOBE_SWIPE_-9_-260', 'GLOBE_SWIPE_-9_-260', 'GLOBE_SWIPE_-9_-260',
'GLOBE_SWIPE_-9_-260', 'GLOBE_SWIPE_-9_-260', 'GLOBE_SWIPE_-9_-260',
'GLOBE_SWIPE_-9_-260', 'GLOBE_SWIPE_-9_-260']
ERROR 09:01:45.585 │ GameTooManyClickError: Too many click for a button:
GLOBE_SWIPE_-9_-260
WARNING 09:01:45.586 │ Saving error: ./log/error/1750294905586
WARNING 09:01:45.915 │ Game stuck, com.bilibili.azurlane will be restarted in 10
seconds
WARNING 09:01:45.916 │ If you are playing by hand, please stop Alas
INFO 09:01:45.917 │ Task call: Restart
INFO 09:01:45.923 │ Bind task ['General', 'Alas', 'OpsiGeneral',
'OpsiStronghold']
INFO 09:01:45.924 │ Save config ./config\alas.json,
Restart.Scheduler.NextRun=datetime.datetime(2025, 6, 19, 9, 1, 45),
Restart.Scheduler.Enable=True
INFO 09:01:55.949 │ Scheduler: End task OpsiStronghold
INFO 09:01:56.059 │ Server "波茨坦公告" is available.
INFO 09:01:56.061 │ [Server] cn
INFO 09:01:56.067 │ Bind task ['General', 'Alas']
INFO 09:01:56.069 │ Pending tasks: ['Restart', 'OpsiStronghold', 'OpsiObscure',
'Daily', 'Hard', 'OpsiAshAssist']
INFO 09:01:56.070 │ [Task] Restart (Enable, 2025-06-19 09:01:45)
INFO 09:01:56.071 │ Bind task ['General', 'Alas', 'Restart']
INFO 09:01:56.082 │ Scheduler: Start task Restart
═══════════════════════════════════════════════════════════════════════════════════
RESTART
═══════════════════════════════════════════════════════════════════════════════════
INFO 09:01:56.492 │ <<< APP RESTART >>>
INFO 09:01:56.493 │ App stop: com.bilibili.azurlane
INFO 09:01:56.570 │ App start: com.bilibili.azurlane
INFO 09:01:56.617 │ handle_app_login
INFO 09:01:56.619 │ Screenshot interval set to 1.0s
INFO 09:01:56.620 │ <<< APP LOGIN >>>
INFO 09:01:57.054 │ [Device Orientation] 1 (HOME key on the right)
WARNING 09:02:00.591 │ Func screenshot() call timeout, retrying: 0
INFO 09:02:02.175 │ [Device Orientation] 1 (HOME key on the right)
INFO 09:02:07.248 │ [Device Orientation] 1 (HOME key on the right)
INFO 09:02:12.429 │ [Device Orientation] 1 (HOME key on the right)
INFO 09:02:17.538 │ [Device Orientation] 1 (HOME key on the right)
WARNING 09:02:21.611 │ Func screenshot() call timeout, retrying: 0
WARNING 09:02:22.113 │ Func screenshot() call timeout, retrying: 1
INFO 09:02:23.154 │ [Device Orientation] 1 (HOME key on the right)
WARNING 09:02:27.659 │ Func screenshot() call timeout, retrying: 0
INFO 09:02:27.849 │ Click ( 505, 321) @ LOGIN_CHECK
INFO 09:02:27.900 │ Login success
WARNING 09:02:30.662 │ Func screenshot() call timeout, retrying: 0
INFO 09:02:32.534 │ Click (1183, 95) @ LOGIN_ANNOUNCE_2
WARNING 09:02:33.665 │ Func screenshot() call timeout, retrying: 0
INFO 09:02:34.079 │ Click (1188, 89) @ LOGIN_ANNOUNCE_2
INFO 09:02:34.131 │ Screenshot interval set to 0.2s
INFO 09:02:34.132 │ Delay task Restart to 2025-06-20 00:00:00
(server_update='00:00')
INFO 09:02:34.138 │ Bind task ['General', 'Alas', 'Restart']
INFO 09:02:34.140 │ Save config ./config\alas.json,
Restart.Scheduler.NextRun=datetime.datetime(2025, 6, 20, 0, 0)
INFO 09:02:34.175 │ Scheduler: End task Restart
INFO 09:02:34.177 │ [Server] cn
INFO 09:02:34.183 │ Bind task ['General', 'Alas']
INFO 09:02:34.186 │ Pending tasks: ['OpsiStronghold', 'OpsiObscure', 'Daily',
'Hard', 'OpsiAshAssist']
INFO 09:02:34.187 │ [Task] OpsiStronghold (Enable, 2025-06-19 00:00:00)
INFO 09:02:34.188 │ Bind task ['General', 'Alas', 'OpsiGeneral',
'OpsiStronghold']
INFO 09:02:34.196 │ Scheduler: Start task OpsiStronghold
═══════════════════════════════════════════════════════════════════════════════════
OPSISTRONGHOLD
═══════════════════════════════════════════════════════════════════════════════════
═════════════════════════════════════ OS INIT ═════════════════════════════════════
INFO 09:02:34.594 │ OS INIT
INFO 09:02:34.614 │ <<< UI ENSURE >>>
INFO 09:02:34.615 │ UI get current page
INFO 09:02:34.672 │ Unknown ui page
INFO 09:02:34.678 │ Click (1184, 93) @ LOGIN_ANNOUNCE_2
INFO 09:02:35.172 │ Unknown ui page
INFO 09:02:35.273 │ [Package_name] com.bilibili.azurlane
INFO 09:02:35.284 │ [Device Orientation] 1 (HOME key on the right)
INFO 09:02:35.692 │ Unknown ui page
INFO 09:02:35.745 │ Unknown ui page
WARNING 09:02:36.419 │ Func screenshot() call timeout, retrying: 0
INFO 09:02:36.755 │ Unknown ui page
INFO 09:02:36.809 │ Unknown ui page
INFO 09:02:37.278 │ Unknown ui page
INFO 09:02:37.352 │ Unknown ui page
INFO 09:02:37.835 │ Unknown ui page
INFO 09:02:37.841 │ Click (1188, 93) @ LOGIN_ANNOUNCE_2
INFO 09:02:38.360 │ Unknown ui page
INFO 09:02:38.408 │ [UI] page_main
INFO 09:02:38.409 │ Goto page_os
INFO 09:02:38.411 │ <<< UI GOTO PAGE_OS >>>
INFO 09:02:38.416 │ Page switch: page_main_white -> page_campaign_menu
INFO 09:02:38.417 │ Click (1161, 469) @ MAIN_GOTO_CAMPAIGN_WHITE
WARNING 09:02:40.539 │ Func screenshot() call timeout, retrying: 0
WARNING 09:02:42.734 │ Func screenshot() call timeout, retrying: 0
INFO 09:02:43.547 │ Page switch: page_main_white -> page_campaign_menu
INFO 09:02:43.549 │ Click (1211, 501) @ MAIN_GOTO_CAMPAIGN_WHITE
INFO 09:02:44.314 │ Page switch: page_campaign_menu -> page_os
INFO 09:02:44.316 │ Click ( 792, 479) @ CAMPAIGN_MENU_GOTO_OS
INFO 09:02:46.207 │ Page arrive: page_os
INFO 09:02:46.208 │ <<< ZONE INIT >>>
INFO 09:02:46.215 │ Get zone name
INFO 09:02:46.246 │ Loading OCR model: ./bin/cnocr_models/cnocr
INFO 09:02:46.308 │ [MAP_NAME 0.075s] 布勒斯特
INFO 09:02:46.309 │ Map name processed: 布勒斯特
INFO 09:02:46.311 │ [Zone] [6|Brest]
──────────────────────────────── AFTER AUTO SEARCH ────────────────────────────────
INFO 09:02:46.313 │ AFTER AUTO SEARCH
INFO 09:02:46.324 │ No EMP debuff on current fleet
INFO 09:02:46.328 │ [HP] 98% 98% 98% 98% 98% 98%
INFO 09:02:46.331 │ [Repair icon] [False, False, False, False, False, False]
INFO 09:02:46.332 │ No ship found to be below threshold 50%, continue OS
exploration
INFO 09:02:46.333 │ Handle after auto search finished, solved=False
INFO 09:02:46.334 │ Current fleet is not afflicted with the low resolve debuff
INFO 09:02:46.335 │ Ash beacon status: gray
INFO 09:02:46.357 │ [ASH_COLLECT_STATUS 0.020s] 100/200
INFO 09:02:46.375 │ [ASH_DAILY_STATUS 0.018s] 200/200
INFO 09:02:46.376 │ Ash beacon fully collected today
INFO 09:02:46.377 │ Run auto search, question=True, rescan=False
───────────────────────────────── OS AUTO SEARCH ──────────────────────────────────
INFO 09:02:46.378 │ OS AUTO SEARCH
INFO 09:02:46.397 │ Click (1244, 544) @ AUTO_SEARCH_OS_MAP_OPTION_OFF
INFO 09:02:48.708 │ OS auto search finished
INFO 09:02:48.710 │ [HP] 98% 98% 98% 98% 98% 98%
INFO 09:02:48.713 │ [Repair icon] [False, False, False, False, False, False]
───────────────────────────────── CLEAR QUESTION ──────────────────────────────────
INFO 09:02:48.714 │ CLEAR QUESTION
WARNING 09:02:48.757 │ Wrong radar prediction is_question (-2, 2) QU near (-2, 1)
PO
INFO 09:02:48.758 │ -- -- --
INFO 09:02:48.760 │ -- -- -- -- -- -- --
INFO 09:02:48.761 │ -- -- -- -- -- -- -- -- --
INFO 09:02:48.762 │ -- -- -- -- -- -- -- -- --
INFO 09:02:48.763 │ -- -- -- -- -- -- -- -- -- -- --
INFO 09:02:48.764 │ -- -- -- -- -- FL -- -- -- -- --
INFO 09:02:48.765 │ -- -- -- PO -- -- -- -- -- -- --
INFO 09:02:48.765 │ -- -- -- -- -- -- -- -- --
INFO 09:02:48.766 │ -- -- -- -- -- -- -- -- --
INFO 09:02:48.767 │ -- -- -- -- -- -- --
INFO 09:02:48.768 │ -- -- --
INFO 09:02:48.769 │ No question mark above current fleet on this radar
──────────────────────────────── AFTER AUTO SEARCH ────────────────────────────────
INFO 09:02:48.771 │ AFTER AUTO SEARCH
INFO 09:02:48.773 │ No EMP debuff on current fleet
INFO 09:02:48.776 │ [HP] 98% 98% 98% 98% 98% 98%
INFO 09:02:48.779 │ [Repair icon] [False, False, False, False, False, False]
INFO 09:02:48.780 │ No ship found to be below threshold 50%, continue OS
exploration
INFO 09:02:48.781 │ Handle after auto search finished, solved=False
═══════════════════════════════ OS CLEAR STRONGHOLD ═══════════════════════════════
INFO 09:02:48.783 │ OS CLEAR STRONGHOLD
INFO 09:02:48.792 │ Click (1059, 673) @ MAP_GOTO_GLOBE
INFO 09:02:51.883 │ Swipe ( 464, 420) -> ( 517, 372)
WARNING 09:02:52.578 │ Func screenshot() call timeout, retrying: 0
WARNING 09:02:53.627 │ Func screenshot() call timeout, retrying: 0
INFO 09:02:53.950 │ Loading OS globe map
INFO 09:02:54.232 │ [homo_storage] ((4, 3), [(445, 180), (879, 180), (376,
497), (963, 497)])
INFO 09:02:54.353 │ globe_center: (1899.0, 718.0)
INFO 09:02:54.354 │ 0.120s similarity: 0.561
INFO 09:02:54.355 │ [Globe_center] 125
══════════════════════════════ FIND SIREN STRONGHOLD ══════════════════════════════
INFO 09:02:54.357 │ FIND SIREN STRONGHOLD
──────────────────────── FIND SIREN STRONGHOLD IN REGION 2 ────────────────────────
INFO 09:02:54.358 │ FIND SIREN STRONGHOLD IN REGION 2
INFO 09:02:54.359 │ Find siren stronghold around [125|East Continental Shelf E]
INFO 09:02:54.361 │ Zone 111 is not a siren stronghold
INFO 09:02:54.362 │ Zone 112 is not a siren stronghold
INFO 09:02:54.363 │ Zone 113 is not a siren stronghold
INFO 09:02:54.364 │ Zone 114 is not a siren stronghold
INFO 09:02:54.365 │ Zone 122 is not a siren stronghold
INFO 09:02:54.366 │ Zone 125 is not a siren stronghold
INFO 09:02:54.367 │ Zone 132 is not a siren stronghold
INFO 09:02:54.368 │ Zone 133 is not a siren stronghold
INFO 09:02:54.369 │ Zone 135 is not a siren stronghold
INFO 09:02:54.370 │ Find siren stronghold around [123|East Continental Shelf C]
INFO 09:02:54.372 │ Swipe ( 315, 375) -> ( 292, 522)
WARNING 09:02:55.416 │ Func screenshot() call timeout, retrying: 0
INFO 09:02:55.605 │ globe_center: (1921.0, 560.0)
INFO 09:02:55.605 │ 0.118s similarity: 0.566
INFO 09:02:55.606 │ [Globe_center] 123
INFO 09:02:55.608 │ Zone 123 is not a siren stronghold
INFO 09:02:55.609 │ Zone 124 is not a siren stronghold
INFO 09:02:55.610 │ Zone 131 is not a siren stronghold
INFO 09:02:55.611 │ Zone 134 is not a siren stronghold
INFO 09:02:55.612 │ Find siren stronghold around [144|Northeast Passage D]
INFO 09:02:55.613 │ Swipe ( 525, 258) -> ( 521, 410)
INFO 09:02:56.294 │ globe_center: (1947.0, 502.0)
INFO 09:02:56.295 │ 0.118s similarity: 0.606
INFO 09:02:56.297 │ [Globe_center] 123
INFO 09:02:56.298 │ Swipe ( 557, 263) -> ( 569, 385)
INFO 09:02:57.147 │ globe_center: (1935.0, 370.0)
INFO 09:02:57.148 │ 0.120s similarity: 0.541
INFO 09:02:57.150 │ [Globe_center] 123
INFO 09:02:57.151 │ Zone 121 is not a siren stronghold
INFO 09:02:57.152 │ Zone 141 is not a siren stronghold
INFO 09:02:57.153 │ Zone 143 is not a siren stronghold
INFO 09:02:57.154 │ Zone 144 is not a siren stronghold
INFO 09:02:57.155 │ Find siren stronghold around [142|Northeast Passage B]
INFO 09:02:57.156 │ Swipe ( 312, 377) -> ( 392, 466)
WARNING 09:02:58.182 │ Func screenshot() call timeout, retrying: 0
INFO 09:02:58.678 │ globe_center: (1935.0, 370.0)
INFO 09:02:58.680 │ 0.120s similarity: 0.556
INFO 09:02:58.681 │ [Globe_center] 123
INFO 09:02:58.682 │ Swipe ( 216, 377) -> ( 296, 466)
INFO 09:02:59.708 │ globe_center: (1905.0, 378.0)
INFO 09:02:59.709 │ 0.121s similarity: 0.539
INFO 09:02:59.711 │ [Globe_center] 123
INFO 09:02:59.712 │ Swipe ( 368, 415) -> ( 430, 508)
INFO 09:03:00.793 │ globe_center: (1727.0, 426.0)
INFO 09:03:00.795 │ 0.120s similarity: 0.569
INFO 09:03:00.796 │ [Globe_center] 143
INFO 09:03:00.797 │ Swipe ( 625, 384) -> ( 582, 503)
INFO 09:03:01.867 │ globe_center: (1727.0, 426.0)
INFO 09:03:01.869 │ 0.121s similarity: 0.505
INFO 09:03:01.870 │ [Globe_center] 143
INFO 09:03:01.871 │ Swipe ( 439, 276) -> ( 396, 395)
INFO 09:03:02.877 │ globe_center: (1727.0, 426.0)
INFO 09:03:02.878 │ 0.120s similarity: 0.503
INFO 09:03:02.880 │ [Globe_center] 143
INFO 09:03:02.881 │ Swipe ( 589, 321) -> ( 546, 440)
INFO 09:03:03.965 │ globe_center: (1727.0, 426.0)
INFO 09:03:03.966 │ 0.121s similarity: 0.563
INFO 09:03:03.968 │ [Globe_center] 143
INFO 09:03:03.969 │ Swipe ( 499, 350) -> ( 456, 469)
INFO 09:03:04.994 │ globe_center: (1767.0, 298.0)
INFO 09:03:04.995 │ 0.118s similarity: 0.570
INFO 09:03:04.996 │ [Globe_center] 143
INFO 09:03:04.998 │ Zone 142 is not a siren stronghold
INFO 09:03:04.998 │ Find siren stronghold finished
──────────────────────── FIND SIREN STRONGHOLD IN REGION 4 ────────────────────────
INFO 09:03:05.000 │ FIND SIREN STRONGHOLD IN REGION 4
INFO 09:03:05.001 │ Find siren stronghold around [62|NA Ocean SE Sector B]
INFO 09:03:05.002 │ Swipe ( 621, 605) -> ( 695, 220)
INFO 09:03:06.017 │ globe_center: (1795.0, 256.0)
INFO 09:03:06.018 │ 0.122s similarity: 0.508
INFO 09:03:06.020 │ [Globe_center] 142
INFO 09:03:06.021 │ Swipe ( 492, 605) -> ( 583, 220)
INFO 09:03:07.089 │ globe_center: (1939.0, 42.0)
INFO 09:03:07.089 │ 0.123s similarity: 0.263
INFO 09:03:07.090 │ [Globe_center] 142
INFO 09:03:07.091 │ Swipe ( 552, 605) -> ( 728, 220)
INFO 09:03:08.098 │ globe_center: (1939.0, 42.0)
INFO 09:03:08.100 │ 0.120s similarity: 0.262
INFO 09:03:08.101 │ [Globe_center] 142
INFO 09:03:08.102 │ Swipe ( 428, 605) -> ( 604, 220)
INFO 09:03:09.140 │ globe_center: (1939.0, 42.0)
INFO 09:03:09.141 │ 0.121s similarity: 0.261
INFO 09:03:09.142 │ [Globe_center] 142
INFO 09:03:09.143 │ Swipe ( 373, 605) -> ( 549, 220)
INFO 09:03:10.212 │ globe_center: (1939.0, 42.0)
INFO 09:03:10.213 │ 0.119s similarity: 0.263
INFO 09:03:10.215 │ [Globe_center] 142
INFO 09:03:10.215 │ Swipe ( 286, 605) -> ( 462, 220)
INFO 09:03:11.219 │ globe_center: (1939.0, 42.0)
INFO 09:03:11.220 │ 0.119s similarity: 0.262
INFO 09:03:11.221 │ [Globe_center] 142
INFO 09:03:11.223 │ Swipe ( 438, 605) -> ( 614, 220)
INFO 09:03:12.260 │ globe_center: (1939.0, 42.0)
INFO 09:03:12.262 │ 0.120s similarity: 0.263
INFO 09:03:12.264 │ [Globe_center] 142
INFO 09:03:12.265 │ Swipe ( 151, 605) -> ( 327, 220)
INFO 09:03:13.295 │ globe_center: (1775.0, 456.0)
INFO 09:03:13.296 │ 0.122s similarity: 0.613
INFO 09:03:13.298 │ [Globe_center] 1
INFO 09:03:13.299 │ Swipe ( 562, 596) -> ( 641, 241)
INFO 09:03:14.318 │ globe_center: (1773.0, 410.0)
INFO 09:03:14.319 │ 0.124s similarity: 0.592
INFO 09:03:14.319 │ [Globe_center] 123
INFO 09:03:14.321 │ Swipe ( 607, 604) -> ( 685, 225)
INFO 09:03:15.374 │ globe_center: (1939.0, 42.0)
INFO 09:03:15.375 │ 0.120s similarity: 0.272
INFO 09:03:15.377 │ [Globe_center] 142
INFO 09:03:15.378 │ Swipe ( 434, 605) -> ( 610, 220)
INFO 09:03:16.223 │ globe_center: (1939.0, 42.0)
INFO 09:03:16.225 │ 0.124s similarity: 0.263
INFO 09:03:16.226 │ [Globe_center] 142
INFO 09:03:16.228 │ Swipe ( 409, 605) -> ( 585, 220)
INFO 09:03:17.471 │ globe_center: (1829.0, 324.0)
INFO 09:03:17.472 │ 0.122s similarity: 0.555
INFO 09:03:17.474 │ [Globe_center] 144
INFO 09:03:17.475 │ Swipe ( 487, 605) -> ( 598, 220)
INFO 09:03:18.530 │ globe_center: (1939.0, 42.0)
INFO 09:03:18.531 │ 0.123s similarity: 0.290
INFO 09:03:18.532 │ [Globe_center] 142
INFO 09:03:18.534 │ Swipe ( 113, 605) -> ( 289, 220)
WARNING 09:03:19.739 │ Func screenshot() call timeout, retrying: 0
INFO 09:03:20.081 │ globe_center: (1939.0, 42.0)
INFO 09:03:20.082 │ 0.119s similarity: 0.262
INFO 09:03:20.083 │ [Globe_center] 142
INFO 09:03:20.084 │ Swipe ( 293, 605) -> ( 469, 220)
INFO 09:03:21.119 │ globe_center: (1939.0, 42.0)
INFO 09:03:21.120 │ 0.120s similarity: 0.261
INFO 09:03:21.122 │ [Globe_center] 142
INFO 09:03:21.123 │ Swipe ( 425, 605) -> ( 601, 220)
INFO 09:03:22.129 │ globe_center: (1777.0, 454.0)
INFO 09:03:22.130 │ 0.120s similarity: 0.639
INFO 09:03:22.132 │ [Globe_center] 1
INFO 09:03:22.133 │ Swipe ( 336, 599) -> ( 416, 243)
INFO 09:03:23.187 │ globe_center: (1767.0, 222.0)
INFO 09:03:23.188 │ 0.122s similarity: 0.352
INFO 09:03:23.189 │ [Globe_center] 142
INFO 09:03:23.191 │ Swipe ( 661, 605) -> ( 735, 220)
INFO 09:03:24.243 │ globe_center: (1939.0, 42.0)
INFO 09:03:24.244 │ 0.117s similarity: 0.268
INFO 09:03:24.246 │ [Globe_center] 142
INFO 09:03:24.247 │ Swipe ( 437, 605) -> ( 613, 220)
INFO 09:03:25.313 │ globe_center: (1939.0, 42.0)
INFO 09:03:25.314 │ 0.115s similarity: 0.263
INFO 09:03:25.316 │ [Globe_center] 142
INFO 09:03:25.317 │ Swipe ( 475, 605) -> ( 651, 220)
WARNING 09:03:26.521 │ Func screenshot() call timeout, retrying: 0
INFO 09:03:26.904 │ globe_center: (1939.0, 42.0)
INFO 09:03:26.905 │ 0.118s similarity: 0.263
INFO 09:03:26.907 │ [Globe_center] 142
INFO 09:03:26.908 │ Swipe ( 314, 605) -> ( 490, 220)
INFO 09:03:27.912 │ globe_center: (1939.0, 42.0)
INFO 09:03:27.913 │ 0.123s similarity: 0.262
INFO 09:03:27.915 │ [Globe_center] 142
INFO 09:03:27.916 │ Swipe ( 347, 605) -> ( 523, 220)
INFO 09:03:28.994 │ globe_center: (1939.0, 42.0)
INFO 09:03:28.996 │ 0.117s similarity: 0.262
INFO 09:03:28.997 │ [Globe_center] 142
INFO 09:03:28.998 │ Swipe ( 294, 605) -> ( 470, 220)
INFO 09:03:30.027 │ globe_center: (1779.0, 450.0)
INFO 09:03:30.028 │ 0.121s similarity: 0.657
INFO 09:03:30.029 │ [Globe_center] 1
INFO 09:03:30.031 │ Swipe ( 420, 601) -> ( 501, 243)
INFO 09:03:31.044 │ globe_center: (1777.0, 420.0)
INFO 09:03:31.045 │ 0.120s similarity: 0.620
INFO 09:03:31.047 │ [Globe_center] 123
INFO 09:03:31.048 │ Swipe ( 389, 605) -> ( 469, 231)
INFO 09:03:32.094 │ globe_center: (1767.0, 222.0)
INFO 09:03:32.096 │ 0.121s similarity: 0.286
INFO 09:03:32.097 │ [Globe_center] 142
INFO 09:03:32.099 │ Swipe ( 418, 605) -> ( 492, 220)
INFO 09:03:33.144 │ globe_center: (1767.0, 222.0)
INFO 09:03:33.146 │ 0.121s similarity: 0.288
INFO 09:03:33.147 │ [Globe_center] 142
INFO 09:03:33.148 │ Swipe ( 384, 605) -> ( 458, 220)
INFO 09:03:34.177 │ globe_center: (1767.0, 222.0)
INFO 09:03:34.178 │ 0.119s similarity: 0.288
INFO 09:03:34.180 │ [Globe_center] 142
INFO 09:03:34.181 │ Swipe ( 511, 605) -> ( 585, 220)
INFO 09:03:35.235 │ globe_center: (1697.0, 198.0)
INFO 09:03:35.236 │ 0.124s similarity: 0.527
INFO 09:03:35.236 │ [Globe_center] 142
INFO 09:03:35.237 │ Swipe ( 636, 605) -> ( 668, 220)
WARNING 09:03:36.423 │ Func screenshot() call timeout, retrying: 0
INFO 09:03:36.789 │ globe_center: (1581.0, 154.0)
INFO 09:03:36.790 │ 0.123s similarity: 0.336
INFO 09:03:36.791 │ [Globe_center] 143
INFO 09:03:36.793 │ Swipe ( 561, 605) -> ( 524, 220)
INFO 09:03:37.825 │ globe_center: (1581.0, 154.0)
INFO 09:03:37.826 │ 0.122s similarity: 0.334
INFO 09:03:37.827 │ [Globe_center] 143
INFO 09:03:37.829 │ Swipe ( 140, 605) -> ( 103, 220)
INFO 09:03:38.841 │ globe_center: (1615.0, 566.0)
INFO 09:03:38.842 │ 0.123s similarity: 0.565
INFO 09:03:38.844 │ [Globe_center] 132
INFO 09:03:38.845 │ Swipe ( 436, 579) -> ( 420, 282)
INFO 09:03:39.903 │ globe_center: (1539.0, 474.0)
INFO 09:03:39.905 │ 0.123s similarity: 0.632
INFO 09:03:39.906 │ [Globe_center] 132
INFO 09:03:39.907 │ Swipe ( 369, 596) -> ( 307, 250)
WARNING 09:03:41.074 │ Func screenshot() call timeout, retrying: 0
INFO 09:03:41.475 │ globe_center: (1535.0, 472.0)
INFO 09:03:41.476 │ 0.119s similarity: 0.448
INFO 09:03:41.478 │ [Globe_center] 132
INFO 09:03:41.479 │ Swipe ( 563, 587) -> ( 499, 240)
INFO 09:03:42.556 │ globe_center: (1535.0, 472.0)
INFO 09:03:42.557 │ 0.121s similarity: 0.450
INFO 09:03:42.558 │ [Globe_center] 132
INFO 09:03:42.560 │ Swipe ( 571, 591) -> ( 507, 244)
INFO 09:03:43.638 │ globe_center: (1535.0, 472.0)
INFO 09:03:43.639 │ 0.116s similarity: 0.450
INFO 09:03:43.641 │ [Globe_center] 132
INFO 09:03:43.642 │ Swipe ( 512, 594) -> ( 448, 247)
INFO 09:03:44.719 │ globe_center: (1535.0, 472.0)
INFO 09:03:44.720 │ 0.120s similarity: 0.450
INFO 09:03:44.721 │ [Globe_center] 132
INFO 09:03:44.723 │ Swipe ( 266, 590) -> ( 202, 243)
WARNING 09:03:45.887 │ Func screenshot() call timeout, retrying: 0
INFO 09:03:46.276 │ globe_center: (1535.0, 472.0)
INFO 09:03:46.277 │ 0.118s similarity: 0.450
INFO 09:03:46.278 │ [Globe_center] 132
INFO 09:03:46.279 │ Swipe ( 755, 593) -> ( 691, 246)
INFO 09:03:47.081 │ globe_center: (1675.0, 320.0)
INFO 09:03:47.082 │ 0.126s similarity: 0.571
INFO 09:03:47.084 │ [Globe_center] 143
INFO 09:03:47.085 │ Swipe ( 819, 605) -> ( 838, 220)
INFO 09:03:48.300 │ globe_center: (1757.0, 306.0)
INFO 09:03:48.301 │ 0.121s similarity: 0.509
INFO 09:03:48.303 │ [Globe_center] 143
INFO 09:03:48.304 │ Swipe ( 596, 605) -> ( 664, 220)
WARNING 09:03:49.490 │ Func screenshot() call timeout, retrying: 0
INFO 09:03:49.884 │ globe_center: (1939.0, 42.0)
INFO 09:03:49.885 │ 0.121s similarity: 0.348
INFO 09:03:49.887 │ [Globe_center] 142
INFO 09:03:49.888 │ Swipe ( 455, 605) -> ( 631, 220)
INFO 09:03:50.928 │ globe_center: (1939.0, 42.0)
INFO 09:03:50.930 │ 0.117s similarity: 0.261
INFO 09:03:50.931 │ [Globe_center] 142
INFO 09:03:50.932 │ Swipe ( 227, 605) -> ( 403, 220)
INFO 09:03:52.001 │ globe_center: (1939.0, 42.0)
INFO 09:03:52.002 │ 0.119s similarity: 0.262
INFO 09:03:52.004 │ [Globe_center] 142
INFO 09:03:52.005 │ Swipe ( 290, 605) -> ( 466, 220)
INFO 09:03:53.089 │ globe_center: (1939.0, 42.0)
INFO 09:03:53.090 │ 0.118s similarity: 0.263
INFO 09:03:53.091 │ [Globe_center] 142
INFO 09:03:53.092 │ Swipe ( 403, 605) -> ( 579, 220)
WARNING 09:03:54.297 │ Func screenshot() call timeout, retrying: 0
INFO 09:03:54.660 │ globe_center: (1939.0, 42.0)
INFO 09:03:54.661 │ 0.117s similarity: 0.262
INFO 09:03:54.662 │ [Globe_center] 142
INFO 09:03:54.664 │ Swipe ( 403, 605) -> ( 579, 220)
INFO 09:03:55.494 │ globe_center: (1939.0, 42.0)
INFO 09:03:55.495 │ 0.118s similarity: 0.262
INFO 09:03:55.497 │ [Globe_center] 142
INFO 09:03:55.498 │ Swipe ( 383, 605) -> ( 559, 220)
INFO 09:03:56.715 │ globe_center: (1905.0, 132.0)
INFO 09:03:56.716 │ 0.121s similarity: 0.436
INFO 09:03:56.718 │ [Globe_center] 142
INFO 09:03:56.719 │ Swipe ( 236, 605) -> ( 392, 220)
INFO 09:03:57.717 │ globe_center: (1905.0, 132.0)
INFO 09:03:57.717 │ 0.120s similarity: 0.440
INFO 09:03:57.718 │ [Globe_center] 142
INFO 09:03:57.719 │ Swipe ( 672, 605) -> ( 828, 220)
INFO 09:03:58.807 │ globe_center: (1905.0, 132.0)
INFO 09:03:58.808 │ 0.119s similarity: 0.440
INFO 09:03:58.809 │ [Globe_center] 142
INFO 09:03:58.810 │ Swipe ( 538, 605) -> ( 694, 220)
INFO 09:03:59.882 │ globe_center: (1905.0, 132.0)
INFO 09:03:59.883 │ 0.117s similarity: 0.441
INFO 09:03:59.883 │ [Globe_center] 142
INFO 09:03:59.884 │ Swipe ( 423, 605) -> ( 579, 220)
WARNING 09:04:01.081 │ Func screenshot() call timeout, retrying: 0
INFO 09:04:01.382 │ globe_center: (1905.0, 132.0)
INFO 09:04:01.383 │ 0.121s similarity: 0.440
INFO 09:04:01.385 │ [Globe_center] 142
INFO 09:04:01.386 │ Swipe ( 218, 605) -> ( 374, 220)
WARNING 09:04:02.580 │ Func screenshot() call timeout, retrying: 0
INFO 09:04:02.946 │ globe_center: (1905.0, 132.0)
INFO 09:04:02.947 │ 0.119s similarity: 0.441
INFO 09:04:02.949 │ [Globe_center] 142
INFO 09:04:02.951 │ Function calls:
spawn.py L105 spawn_main()
spawn.py L118 main()
process.py L297 bootstrap()
process.py L99 run()
process_manager.py L166 run_process()
alas.py L551 loop()
alas.py L69 run()
alas.py L331 opsi_stronghold()
os_run.py L108 opsi_stronghold()
operation_siren.py L727 os_stronghold()
operation_siren.py L711 clear_stronghold()
globe_camera.py L336 find_siren_stronghold()
globe_camera.py L290 find_siren_stronghold()
globe_camera.py L177 globe_in_sight()
globe_camera.py L107 globe_swipe()
control.py L148 swipe_vector()
control.py L89 swipe()
device.py L259 handle_control_check()
device.py L301 click_record_check()
device.py L43 show_function_call()
WARNING 09:04:02.954 │ Too many click between 2 buttons: GLOBE_SWIPE-155_340,
GLOBE_SWIPE-137_340
WARNING 09:04:02.954 │ History click: ['GLOBE_SWIPE_56_299',
'GLOBE_SWIPE-17_340', 'GLOBE_SWIPE_-60_340', 'GLOBE_SWIPE_-155_340',
'GLOBE_SWIPE_-155_340', 'GLOBE_SWIPE_-155_340', 'GLOBE_SWIPE_-155_340',
'GLOBE_SWIPE_-155_340', 'GLOBE_SWIPE_-155_340', 'GLOBE_SWIPE_-137_340',
'GLOBE_SWIPE_-137_340', 'GLOBE_SWIPE_-137_340', 'GLOBE_SWIPE_-137_340',
'GLOBE_SWIPE_-137_340', 'GLOBE_SWIPE_-137_340']
ERROR 09:04:02.955 │ GameTooManyClickError: Too many click between 2 buttons:
GLOBE_SWIPE_-155_340, GLOBE_SWIPE_-137_340
WARNING 09:04:02.956 │ Saving error: ./log/error/1750295042956
WARNING 09:04:03.281 │ Game stuck, com.bilibili.azurlane will be restarted in 10
seconds
WARNING 09:04:03.282 │ If you are playing by hand, please stop Alas
INFO 09:04:03.283 │ Task call: Restart
INFO 09:04:03.290 │ Bind task ['General', 'Alas', 'OpsiGeneral',
'OpsiStronghold']
INFO 09:04:03.291 │ Save config ./config\alas.json,
Restart.Scheduler.NextRun=datetime.datetime(2025, 6, 19, 9, 4, 3),
Restart.Scheduler.Enable=True
INFO 09:04:13.362 │ Scheduler: End task OpsiStronghold
CRITICAL 09:04:13.364 │ Task OpsiStronghold failed 3 or more times.
CRITICAL 09:04:13.366 │ Possible reason #1: You haven't used it correctly. Please
read the help text of the options.
CRITICAL 09:04:13.368 │ Possible reason #2: There is a problem with this task.
Please contact developers or try to fix it yourself.
CRITICAL 09:04:13.370 │ Request human takeover
INFO 09:04:14.347 │ No provider specified, skip sending
模拟器设置60帧,游戏设置60帧,实际运行在60帧
模拟器设置60帧,游戏设置60帧,实际运行在60帧
我打开帧率显示测了一下,ALAS在大地图移动时,模拟器帧率是稳定在60的。