═══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════ SHOPFREQUENT ═══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════ 2025-12-12 18:06:02.978 | INFO | UI get current page 2025-12-12 18:06:02.992 | INFO | [UI] page_main 2025-12-12 18:06:02.997 | INFO | <<< UI ENSURE >>> 2025-12-12 18:06:03.002 | INFO | UI get current page 2025-12-12 18:06:03.007 | INFO | [UI] page_main 2025-12-12 18:06:03.010 | INFO | Goto page_academy 2025-12-12 18:06:03.014 | INFO | <<< UI GOTO PAGE_ACADEMY >>> 2025-12-12 18:06:03.035 | INFO | Page switch: page_main_white -> page_dormmenu 2025-12-12 18:06:03.041 | INFO | Click ( 572, 678) @ MAIN_GOTO_DORMMENU_WHITE 2025-12-12 18:06:03.631 | INFO | Page switch: page_dormmenu -> page_academy 2025-12-12 18:06:03.634 | INFO | Click ( 304, 548) @ DORMMENU_GOTO_ACADEMY 2025-12-12 18:06:04.193 | INFO | Page arrive: page_academy 2025-12-12 18:06:04.239 | INFO | Click (1084, 196) @ ACADEMY_GOTO_MUNITIONS 2025-12-12 18:06:09.336 | INFO | Click (1100, 199) @ ACADEMY_GOTO_MUNITIONS 2025-12-12 18:06:14.435 | INFO | Click (1077, 202) @ ACADEMY_GOTO_MUNITIONS 2025-12-12 18:06:19.550 | INFO | Click (1120, 195) @ ACADEMY_GOTO_MUNITIONS 2025-12-12 18:06:24.639 | INFO | Click (1117, 198) @ ACADEMY_GOTO_MUNITIONS 2025-12-12 18:06:29.745 | INFO | Click (1091, 191) @ ACADEMY_GOTO_MUNITIONS 2025-12-12 18:06:34.850 | INFO | Click (1085, 206) @ ACADEMY_GOTO_MUNITIONS 2025-12-12 18:06:39.962 | INFO | Click (1088, 205) @ ACADEMY_GOTO_MUNITIONS 2025-12-12 18:06:45.079 | INFO | Click (1090, 198) @ ACADEMY_GOTO_MUNITIONS 2025-12-12 18:06:50.169 | INFO | Click (1093, 201) @ ACADEMY_GOTO_MUNITIONS 2025-12-12 18:06:55.269 | INFO | Click (1112, 195) @ ACADEMY_GOTO_MUNITIONS 2025-12-12 18:07:00.377 | INFO | Function calls: gui.py L94 process.py L112 start() context.py L223 _Popen() context.py L277 _Popen() popen_fork.py L20 __init__() popen_fork.py L74 _launch() process.py L297 _bootstrap() process.py L99 run() gui.py L85 func() main.py L463 run() server.py L60 run() runners.py L43 run() on.py L84 main() proxy_headers.py L75 __call__() applications.py L112 __call__() errors.py L146 __call__() base.py L21 __call__() exceptions.py L58 __call__() routing.py L569 __call__() routing.py L540 lifespan() routing.py L481 default_lifespan() routing.py L518 startup() app.py L1521 process_manager.py L227 restart_processes() process_manager.py L51 start() process.py L112 start() context.py L223 _Popen() context.py L277 _Popen() popen_fork.py L20 __init__() popen_fork.py L74 _launch() process.py L297 _bootstrap() process.py L99 run() process_manager.py L166 run_process() alas.py L555 loop() alas.py L69 run() alas.py L218 shop_frequent() shop_reward.py L12 run_frequent() ui.py L144 ui_goto_shop() base.py L305 appear_then_click() control.py L37 click() device.py L263 handle_control_check() device.py L299 click_record_check() device.py L43 show_function_call() 2025-12-12 18:07:00.398 | WARNING | Too many click for a button: ACADEMY_GOTO_MUNITIONS 2025-12-12 18:07:00.402 | WARNING | History click: ['MAIN_GOTO_DORMMENU_WHITE', 'DORMMENU_GOTO_ACADEMY', 'ACADEMY_GOTO_MUNITIONS', 'ACADEMY_GOTO_MUNITIONS', 'ACADEMY_GOTO_MUNITIONS', 'ACADEMY_GOTO_MUNITIONS', 'ACADEMY_GOTO_MUNITIONS', 'ACADEMY_GOTO_MUNITIONS', 'ACADEMY_GOTO_MUNITIONS', 'ACADEMY_GOTO_MUNITIONS', 'ACADEMY_GOTO_MUNITIONS', 'ACADEMY_GOTO_MUNITIONS', 'ACADEMY_GOTO_MUNITIONS', 'ACADEMY_GOTO_MUNITIONS'] 2025-12-12 18:07:00.406 | ERROR | GameTooManyClickError: Too many click for a button: ACADEMY_GOTO_MUNITIONS 2025-12-12 18:07:00.409 | WARNING | Saving error: ./log/error/1765534020409