Skip to content

Commit dd85499

Browse files
committed
优化防干扰,自动战斗增加选择
1 parent 542b2cf commit dd85499

2 files changed

Lines changed: 33 additions & 15 deletions

File tree

src/tasks/Auto70jjbTask.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -141,11 +141,14 @@ def reset_and_transport(self):
141141
self.wait_until(lambda: self.find_next_hint(0.06, 0.29, 0.12, 0.33, r'重置位置'),
142142
post_action=self.click(0.35, 0.03, after_sleep=0.5),
143143
time_out=2)
144-
self.move_mouse_to_safe_position()
145144
self.wait_until(lambda: self.find_next_hint(0.57, 0.54, 0.62, 0.58, r'确定'),
146-
post_action=self.click(0.60, 0.32, after_sleep=0.5),
147-
time_out=2)
148-
self.move_back_from_safe_position()
145+
post_action=lambda: (
146+
self.move_mouse_to_safe_position(),
147+
self.click(0.60, 0.32),
148+
self.move_back_from_safe_position(),
149+
self.sleep(1)
150+
),
151+
time_out=4)
149152
self.wait_until(self.in_team,
150153
post_action=self.click(0.59, 0.56, after_sleep=0.5),
151154
time_out=2)

src/tasks/AutoCombatTask.py

Lines changed: 26 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,49 +2,64 @@
22
from src.tasks.BaseCombatTask import BaseCombatTask, NotInCombatException, CharDeadException
33

44
from pynput import mouse
5+
56
logger = Logger.get_logger(__name__)
67

8+
79
class AutoCombatTask(BaseCombatTask, TriggerTask):
810

911
def __init__(self, *args, **kwargs):
1012
super().__init__(*args, **kwargs)
1113
self.name = "自动战斗"
1214
self.description = "需使用鼠标侧键主动激活"
1315
self.default_config.update({
14-
'激活键': 'x2',
16+
"激活键": "x2",
17+
"技能": "普攻",
18+
"释放间隔": 0.1,
1519
})
16-
self.config_type['激活键'] = {'type': 'drop_down', 'options': ['x1', 'x2']}
20+
self.config_type["激活键"] = {"type": "drop_down", "options": ["x1", "x2"]}
21+
self.config_type["技能"] = {"type": "drop_down", "options": ["普攻", "战技", "终结技"]}
1722
self.config_description.update({
18-
'激活键': '鼠标侧键',
23+
"激活键": "鼠标侧键",
1924
})
2025
self.connected = False
21-
26+
2227
def run(self):
2328
if not self.connected:
2429
self.connected = True
2530
og.my_app.clicked.connect(self.on_global_click)
2631

2732
ret = False
28-
2933
while self.in_combat():
34+
if not ret:
35+
n = self.config.get("释放间隔", 0.1)
36+
interval = 0.1 if n < 0.1 else n
37+
char = self.get_current_char()
3038
ret = True
3139
try:
32-
self.get_current_char().perform()
40+
skill = self.config.get("技能", "普攻")
41+
if skill == "战技":
42+
char.send_combat_key()
43+
elif skill == "终结技":
44+
char.send_ultimate_key()
45+
else:
46+
char.click()
47+
self.sleep(interval)
3348
except CharDeadException:
34-
self.log_error(f'Characters dead', notify=True)
49+
self.log_error(f"Characters dead", notify=True)
3550
break
3651
except NotInCombatException as e:
37-
logger.info(f'auto_combat_task_out_of_combat {e}')
52+
logger.info(f"auto_combat_task_out_of_combat {e}")
3853
break
39-
54+
4055
if ret:
4156
self.combat_end()
4257
return ret
43-
58+
4459
def on_global_click(self, x, y, button, pressed):
4560
if self._executor.paused:
4661
return
47-
if self.config.get('激活键', 'x2') == 'x1':
62+
if self.config.get("激活键", "x2") == "x1":
4863
btn = mouse.Button.x1
4964
else:
5065
btn = mouse.Button.x2

0 commit comments

Comments
 (0)