@@ -223,15 +223,18 @@ def load_png_files(self, folder_path):
223223
224224 def walk_to_aim (self , former_index = None , delay = 0 ):
225225 try :
226+ self .shared_frame = None
226227 self .fidget_params .update ({"skip_jitter" : True })
227- self .sleep (1 )
228+ self .sleep (1.5 )
228229 self .fidget_params .update ({"hold_lalt" : True })
229- self .sleep (0.5 )
230+ self .sleep (0.1 )
230231 self .fidget_params .update ({"skip_jitter" : False })
231- self .sleep (delay - 1.5 )
232+ self .sleep (delay - 1.6 )
233+ self .sleep_check_interval = 0.1
232234 ret = self ._walk_to_aim (former_index )
233235 finally :
234236 self .fidget_params .update ({"hold_lalt" : False })
237+ self .sleep_check_interval = - 1
235238 return ret
236239
237240 def _walk_to_aim (self , former_index = None ):
@@ -334,7 +337,6 @@ def match_map(self, index, max_conf=0.0, pattern=None): # 建议给 max_conf
334337
335338 # 只裁剪和转换一次屏幕
336339 frame = self .frame
337- self .shared_frame = frame
338340 cropped_screen = box .crop_frame (frame )
339341 screen_gray = cv2 .cvtColor (cropped_screen , cv2 .COLOR_BGR2GRAY )
340342
@@ -438,17 +440,16 @@ def play_macro_actions(self, map_index):
438440 if self .check_for_monthly_card ()[0 ]:
439441 raise MacroFailedException
440442
441- self .next_frame ()
442- self .shared_frame = self .frame
443-
444443 current_offset = time .perf_counter () - start_time
445444 delay = target_time - current_offset
446445 target = time .perf_counter () + delay
447446 if delay > 0.02 :
448447 self .sleep (delay - 0.02 )
449448
450- while time .perf_counter () < target :
451- pass
449+ while True :
450+ now = time .perf_counter ()
451+ if target - now <= 0 or target - now > 1 :
452+ break
452453
453454 if action ['type' ] == "delay" :
454455 self .delay_index = map_index
@@ -566,6 +567,8 @@ def execute_mouse_rotation(self, action):
566567 self .move_mouse_relative (dx , dy , self .original_Xsensitivity , self .original_Ysensitivity )
567568 logger .debug (f"鼠标视角旋转: { direction } , 角度: { angle } , 像素: { pixels } " )
568569
570+ def sleep_check (self ):
571+ self .shared_frame = self .frame
569572
570573def normalize_key (key : str ) -> str :
571574 """
0 commit comments