═══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════ SHOPFREQUENT ═══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════ 2025-12-12 18:07:49.513 | INFO | UI get current page 2025-12-12 18:07:49.530 | INFO | [UI] page_main 2025-12-12 18:07:49.533 | INFO | <<< UI ENSURE >>> 2025-12-12 18:07:49.537 | INFO | UI get current page 2025-12-12 18:07:49.541 | INFO | [UI] page_main 2025-12-12 18:07:49.545 | INFO | Goto page_academy 2025-12-12 18:07:49.552 | INFO | <<< UI GOTO PAGE_ACADEMY >>> 2025-12-12 18:07:49.570 | INFO | Page switch: page_main_white -> page_dormmenu 2025-12-12 18:07:49.574 | INFO | Click ( 518, 682) @ MAIN_GOTO_DORMMENU_WHITE 2025-12-12 18:07:50.165 | INFO | Page switch: page_dormmenu -> page_academy 2025-12-12 18:07:50.169 | INFO | Click ( 302, 529) @ DORMMENU_GOTO_ACADEMY 2025-12-12 18:07:50.713 | INFO | Page arrive: page_academy 2025-12-12 18:07:50.750 | INFO | Click (1075, 197) @ ACADEMY_GOTO_MUNITIONS 2025-12-12 18:07:55.849 | INFO | Click (1095, 197) @ ACADEMY_GOTO_MUNITIONS 2025-12-12 18:08:00.972 | INFO | Click (1098, 205) @ ACADEMY_GOTO_MUNITIONS 2025-12-12 18:08:06.075 | INFO | Click (1076, 200) @ ACADEMY_GOTO_MUNITIONS 2025-12-12 18:08:11.182 | INFO | Click (1100, 193) @ ACADEMY_GOTO_MUNITIONS 2025-12-12 18:08:16.287 | INFO | Click (1069, 197) @ ACADEMY_GOTO_MUNITIONS 2025-12-12 18:08:21.392 | INFO | Click (1111, 206) @ ACADEMY_GOTO_MUNITIONS 2025-12-12 18:08:26.499 | INFO | Click (1079, 200) @ ACADEMY_GOTO_MUNITIONS 2025-12-12 18:08:31.617 | INFO | Click (1085, 205) @ ACADEMY_GOTO_MUNITIONS 2025-12-12 18:08:36.712 | INFO | Click (1103, 203) @ ACADEMY_GOTO_MUNITIONS 2025-12-12 18:08:41.813 | INFO | Click (1111, 206) @ ACADEMY_GOTO_MUNITIONS 2025-12-12 18:08:46.922 | 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:08:46.942 | WARNING | Too many click for a button: ACADEMY_GOTO_MUNITIONS 2025-12-12 18:08:46.945 | 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:08:46.949 | ERROR | GameTooManyClickError: Too many click for a button: ACADEMY_GOTO_MUNITIONS 2025-12-12 18:08:46.954 | WARNING | Saving error: ./log/error/1765534126954