Skip to content

Commit 64c7260

Browse files
committed
♻️ refactor(afk): 更新ImportTask按下[LAlt]逻辑
1 parent 6de5ee9 commit 64c7260

2 files changed

Lines changed: 12 additions & 7 deletions

File tree

src/tasks/BaseDNATask.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ def __init__(self, *args, **kwargs):
7878
self.next_monthly_card_start = 0
7979
self._logged_in = False
8080
self.enable_fidget_action = True
81-
self.hold_lalt = False
81+
self.fidget_params = {"hold_lalt": False, "skip_jitter": False}
8282
self.sensitivity_config = self.get_global_config('Game Sensitivity Config') # 游戏灵敏度配置
8383
self.onetime_seen = set()
8484
self.onetime_queue = deque()
@@ -648,7 +648,8 @@ def send_key_raw(key, is_down):
648648
interaction = self.executor.interaction
649649
vk_code = interaction.get_key_by_str(key)
650650
event = win32con.WM_KEYDOWN if is_down else win32con.WM_KEYUP
651-
interaction.post(event, vk_code, interaction.lparam)
651+
lparam = interaction.make_lparam(vk_code)
652+
interaction.post(event, vk_code, lparam)
652653

653654
def get_magic_sleep_time():
654655
"""
@@ -678,7 +679,7 @@ def check_alt_logic():
678679
if not self.afk_config.get("鼠标抖动", True):
679680
return
680681

681-
if self.hold_lalt:
682+
if self.fidget_params.get("hold_lalt", False):
682683
if not lalt_pressed:
683684
self.log_info("[LAlt保持] 激活: 按下 LAlt")
684685
send_key_raw("lalt", True)
@@ -704,7 +705,7 @@ def check_alt_logic():
704705

705706
def perform_mouse_jitter(current_drift):
706707
"""执行鼠标微小抖动,返回更新后的漂移量"""
707-
if not self.afk_config.get("鼠标抖动", True):
708+
if not self.afk_config.get("鼠标抖动", True) or self.fidget_params.get("skip_jitter", False):
708709
return current_drift
709710

710711
if self.afk_config.get("鼠标抖动锁定在窗口范围", True):

src/tasks/fullauto/ImportTask.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -223,11 +223,15 @@ def load_png_files(self, folder_path):
223223

224224
def walk_to_aim(self, former_index=None, delay=0):
225225
try:
226-
self.hold_lalt = True
227-
self.sleep(delay)
226+
self.fidget_params.update({"skip_jitter": True})
227+
self.sleep(1)
228+
self.fidget_params.update({"hold_lalt": True})
229+
self.sleep(0.5)
230+
self.fidget_params.update({"skip_jitter": False})
231+
self.sleep(delay-1.5)
228232
ret = self._walk_to_aim(former_index)
229233
finally:
230-
self.hold_lalt = False
234+
self.fidget_params.update({"hold_lalt": False})
231235
return ret
232236

233237
def _walk_to_aim(self, former_index=None):

0 commit comments

Comments
 (0)