═══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════ SHOPFREQUENT ═══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════ 2025-12-12 18:09:35.043 | INFO | UI get current page 2025-12-12 18:09:35.057 | INFO | [UI] page_main 2025-12-12 18:09:35.061 | INFO | <<< UI ENSURE >>> 2025-12-12 18:09:35.065 | INFO | UI get current page 2025-12-12 18:09:35.069 | INFO | [UI] page_main 2025-12-12 18:09:35.073 | INFO | Goto page_academy 2025-12-12 18:09:35.077 | INFO | <<< UI GOTO PAGE_ACADEMY >>> 2025-12-12 18:09:35.096 | INFO | Page switch: page_main_white -> page_dormmenu 2025-12-12 18:09:35.099 | INFO | Click ( 562, 670) @ MAIN_GOTO_DORMMENU_WHITE 2025-12-12 18:09:35.693 | INFO | Page switch: page_dormmenu -> page_academy 2025-12-12 18:09:35.697 | INFO | Click ( 293, 528) @ DORMMENU_GOTO_ACADEMY 2025-12-12 18:09:36.247 | INFO | Page arrive: page_academy 2025-12-12 18:09:36.282 | INFO | Click (1084, 197) @ ACADEMY_GOTO_MUNITIONS 2025-12-12 18:09:41.381 | INFO | Click (1089, 196) @ ACADEMY_GOTO_MUNITIONS 2025-12-12 18:09:46.502 | INFO | Click (1108, 206) @ ACADEMY_GOTO_MUNITIONS 2025-12-12 18:09:51.602 | INFO | Click (1094, 209) @ ACADEMY_GOTO_MUNITIONS 2025-12-12 18:09:56.706 | INFO | Click (1057, 207) @ ACADEMY_GOTO_MUNITIONS 2025-12-12 18:10:01.817 | INFO | Click (1104, 203) @ ACADEMY_GOTO_MUNITIONS 2025-12-12 18:10:06.922 | INFO | Click (1107, 206) @ ACADEMY_GOTO_MUNITIONS 2025-12-12 18:10:12.032 | INFO | Click (1075, 197) @ ACADEMY_GOTO_MUNITIONS 2025-12-12 18:10:17.136 | INFO | Click (1107, 192) @ ACADEMY_GOTO_MUNITIONS 2025-12-12 18:10:22.250 | INFO | Click (1079, 202) @ ACADEMY_GOTO_MUNITIONS 2025-12-12 18:10:27.352 | INFO | Click (1090, 198) @ ACADEMY_GOTO_MUNITIONS 2025-12-12 18:10:32.456 | 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:10:32.477 | WARNING | Too many click for a button: ACADEMY_GOTO_MUNITIONS 2025-12-12 18:10:32.481 | 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:10:32.485 | ERROR | GameTooManyClickError: Too many click for a button: ACADEMY_GOTO_MUNITIONS 2025-12-12 18:10:32.489 | WARNING | Saving error: ./log/error/1765534232489