4.5 KiB
4.5 KiB
更新记录(History)
2026-03-17
剥皮等待时间可配置(接入 GUI)
- 新增 GUI 参数:在
wow_multikey_gui.py的「参数配置」页新增 剥皮等待时间(秒)可调项,保存后用于控制脱战后剥皮等待时长。 - Bot 接入参数:
auto_bot_move.py:AutoBotMove新增skinning_wait_sec参数,execute_disengage_loot()使用该值替代固定等待。auto_bot.py:AutoBot新增skinning_wait_sec参数,execute_disengage_loot()使用该值替代固定等待。
- 配置文件升级与兼容:
wow_multikey_qt.json结构升级为{ "keys": {...}, "bot": {...} },其中bot.skinning_wait_sec存储剥皮等待秒数。- 兼容旧版仅包含按键配置的结构:加载时会自动包裹为
keys,不会丢失旧配置。
使用方式
- 打开 GUI → 参数配置 → 设置 剥皮等待时间 → 点击 保存配置
- 启动 巡逻打怪 或 自动打怪,剥皮等待时间按保存值生效。
2026-03-23
飞行模式接入 GUI
- GUI 更新:在
wow_multikey_gui.py的「状态/巡逻/打怪」模式按钮中新增 飞行模式(放在「任务跟随」后面)。 - 新建飞行类:新增
flight_mode.py,实现飞行模式状态推进逻辑。 - 目的地选择:可在飞行模式配置中选择坐标 JSON,取 JSON 中 最后一个有效坐标点 作为目的地。
- 运动逻辑:飞行过程中每帧调用
coordinate_patrol.py的simple_flight_navigate()完成上马、起飞、飞向坐标与降落。
飞行模式降落按键默认改为 p
- GUI 更新:在
wow_multikey_gui.py的「飞行模式配置」页,「降落按键」默认值与占位提示从x改为p。 - 行为更新:
flight_mode.py中FlightModeBot的默认land_key从x改为p,保证未手动填写/未在配置中存在时仍使用p。
2026-03-25
脱战低血就地吃面包
- 新增逻辑:
auto_bot_move.py在脱战状态下,当hp < 30%时按一次面包键开始恢复。 - 等待规则:进入恢复后,最多等待 30 秒;若血量先到
100%则提前结束。 - 行为约束:恢复期间不巡逻、不主动按
Tab寻找目标。 - 战斗中断:若恢复过程中被动进入战斗(
combat/target变为真),立即中断恢复并进入正常战斗逻辑。
吃面包参数接入 GUI 配置
- 参数配置页新增:
wow_multikey_gui.py的「参数配置」页新增:吃面包按键(food_key,默认f1)吃面包血量阈值(eat_hp_threshold,默认30)吃面包最长等待(eat_max_wait_sec,默认30.0秒)
- 配置持久化:上述参数保存到
wow_multikey_qt.json的bot节点。 - 运行时透传:
start_game_loop→GameLoopWorker→AutoBotMove全链路透传并生效。 - 兼容性:
AutoBotMove保留默认值,旧配置文件可直接运行。
navigate_to_point 对齐 navigate 优化
- 到点处理:
coordinate_patrol.py的navigate_to_point到达判定后不再调用stop_all(),改为仅松开左右修正键并松开w停止前进,避免到点后仍持续向前移动。(用于 death/logistics 等“到点就交互/停止”场景) - 转向触发逻辑:
navigate_to_point转向决策按navigate的三档策略调整(死区直行、阈值外脉冲转向、死区与阈值之间不修正),降低航点附近左右抖动。
navigate_path 对齐 navigate 优化
- 轮询间隔:
coordinate_patrol.py的navigate_path阻塞等待轮询由固定time.sleep(0.05)调整为局部poll_sleep_sec = 0.02,让阻塞模式控制频率更接近navigate,减少航点/转向后的抖动。
键盘按键从 pyautogui 迁移到 pydirectinput
- 将项目中所有键盘按键调用(
pyautogui.keyDown/keyUp/press)替换为对应的pydirectinput.keyDown/keyUp/press - 涉及文件:
coordinate_patrol.py、stuck_handler.py、death_manager.py、player_movement.py、combat_engine.py
攻击前校验有效目标
auto_bot_move.py:在execute_logic的战斗/攻击分支中增加对state['target']的有效性判定,要求target_hp存在且> 0,避免对无效/已死目标误触发攻击按键- 同步调整:战斗调用
execute_combat_logic()以及脱战阶段的Tab寻怪条件,均改为基于有效目标effective_target