本帖最后由 碎碎冰先生 于 2026-3-8 09:36 PM 编辑
交作业了,初步实现了 多目标、移动、单体的状态机,技能循环用 树,谢谢大佬无私分享。 具体怎么优化我再琢磨琢磨,可以非战斗状态加个药剂、食品buff检测,最好能开发个预开怪的法子;再加个起手式;再加个死亡状态后用gm命令复活.gif)
[Lua] 纯文本查看 复制代码 PS C:\Users\Administrator\Desktop\备份\python-1> & "C:/Program Files/Python312/python.exe" c:/Users/Administrator/Desktop/备份/python-1/python-1/main.py
开始导入模块...
tkinter 导入成功
Found 1 WoW window(s):
[0] HWND: 2295094, Title: 魔兽世界
自动选择唯一窗口: HWND=2295094, Title=魔兽世界
[配置] 成功加载: use_cooldowns=True, use_empower=True
[事件系统] 事件监听器已注册
[FSM] 状态机初始化完成
MainWindow 导入成功
PixelMagic Python 启动...
==================================================
创建 MainWindow 实例...
创建MainWindow实例...
初始化日志系统...
创建Tk实例...
Tk实例创建成功
设置窗口标题...
窗口标题设置成功
设置窗口大小...
窗口大小设置成功
设置窗口可调整大小...
窗口可调整大小设置成功
设置窗口为最前面...
窗口设置为最前面
创建日志队列...
日志队列创建完成
开始创建组件...
组件创建完成
[20:06:16] 日志系统已初始化
日志窗口创建完成
日志系统初始化完成
开始显示已选择的窗口信息...
[20:06:16] 已自动选择窗口: 魔兽世界 (HWND: 2295094)
窗口信息显示完成
开始强制窗口显示...
调用 update_idletasks...
✓ update_idletasks 完成
调用 deiconify...
✓ deiconify 完成
窗口已显示
开始初始化热键...
[20:06:16] 配置读取 - 启动: [None] + [4], 停止: [None] + [4]
热键管理器目标窗口设置: HWND=2295094
[20:06:16] 使用热键: [None] + [4] 切换启动/停止
热键注册成功: [None] + [4] 切换机器人 (游戏窗口内生效)
热键监听已启动(只在游戏窗口激活时生效)
[20:06:16] 热键已注册: [None] + [4] 切换启动/停止
热键初始化完成
启动日志队列处理器...
日志队列处理器启动完成
设置窗口关闭处理...
MainWindow初始化完成
MainWindow 实例创建成功
启动 GUI 主循环...
[20:06:19] Starting bot...
[20:06:19] ==================================================
[20:06:19] 死亡骑士脚本启动
[20:06:19] [架构] FSM + BT 混合架构已启用
[20:06:19] [架构] 状态管理: 有限状态机(FSM)
[20:06:19] [架构] 决策系统: 行为树(BT)
[20:06:19] ==================================================
[20:06:19] 冰霜死亡骑士机器人已启动
[20:06:19] [模式切换] AOE模式 | 敌人:4 | 符文:6 | 能量:100
[20:06:19] [FSM] 状态转换: NON_COMBAT -> COMBAT_ENTERING | 战斗开始
[20:06:19] [状态] NON_COMBAT->COMBAT_ENTERING | 敌人:4 | AOE:True
[20:06:19] [状态摘要] COMBAT_ENTERING | AOE | 符文:6 | 能量:100
[20:06:19] [施法] 冷酷严冬 | 符文:6 | 能量:100 | AOE
[20:06:19] [BT] 执行技能 | 状态:COMBAT_ENTERING
[20:06:20] [FSM] 状态转换: COMBAT_ENTERING -> COMBAT_STANDING_AOE | 战斗状态变更
[20:06:20] [状态] COMBAT_ENTERING->COMBAT_STANDING_AOE | 敌人:4 | AOE:True
[20:06:20] [施法] 冰霜之柱 | 符文:5 | 能量:100 | AOE
[20:06:20] [BT] 执行技能 | 状态:COMBAT_STANDING_AOE
[20:06:21] [施法] 湮灭 | 符文:5 | 能量:100 | AOE
[20:06:21] [BT] 执行技能 | 状态:COMBAT_STANDING_AOE
[20:06:22] [FSM] 状态转换: COMBAT_STANDING_AOE -> COMBAT_MOVING | 战斗状态变更
[20:06:22] [状态] COMBAT_STANDING_AOE->COMBAT_MOVING | 敌人:3 | AOE:True
[20:06:22] [移动] 执行技能 | 状态:COMBAT_MOVING
[20:06:23] [模式切换] 单体模式 | 敌人:2 | 符文:3 | 能量:100
[20:06:23] [移动] 执行技能 | 状态:COMBAT_MOVING
[20:06:23] [FSM] 状态转换: COMBAT_MOVING -> COMBAT_STANDING_SINGLE | 战斗状态变更
[20:06:23] [状态] COMBAT_MOVING->COMBAT_STANDING_SINGLE | 敌人:2 | AOE:False
[20:06:23] [施法] 冰链术 | 符文:3 | 能量:100 | 单体
[20:06:23] [BT] 执行技能 | 状态:COMBAT_STANDING_SINGLE
[20:06:24] [模式切换] AOE模式 | 敌人:3 | 符文:2 | 能量:100
[20:06:24] [FSM] 状态转换: COMBAT_STANDING_SINGLE -> COMBAT_MOVING | 战斗状态变更
[20:06:24] [状态] COMBAT_STANDING_SINGLE->COMBAT_MOVING | 敌人:3 | AOE:True
[20:06:24] [移动] 执行技能 | 状态:COMBAT_MOVING
[20:06:24] [FSM] 状态转换: COMBAT_MOVING -> COMBAT_STANDING_AOE | 战斗状态变更
[20:06:24] [状态] COMBAT_MOVING->COMBAT_STANDING_AOE | 敌人:4 | AOE:True
[20:06:24] [BT] 执行技能 | 状态:COMBAT_STANDING_AOE
[20:06:24] [施法] 湮灭 | 符文:2 | 能量:100 | AOE
[20:06:24] [BT] 执行技能 | 状态:COMBAT_STANDING_AOE
[20:06:25] [FSM] 状态转换: COMBAT_STANDING_AOE -> COMBAT_MOVING | 战斗状态变更
[20:06:25] [状态] COMBAT_STANDING_AOE->COMBAT_MOVING | 敌人:4 | AOE:True
[20:06:25] [移动] 执行技能 | 状态:COMBAT_MOVING
[20:06:26] [施法] 冰霜打击 | 符文:0 | 能量:100 | AOE
[20:06:26] [移动] 执行技能 | 状态:COMBAT_MOVING
[20:06:26] [FSM] 状态转换: COMBAT_MOVING -> COMBAT_STANDING_AOE | 战斗状态变更
[20:06:26] [状态] COMBAT_MOVING->COMBAT_STANDING_AOE | 敌人:4 | AOE:True
[20:06:26] [BT] 执行技能 | 状态:COMBAT_STANDING_AOE
[20:06:27] [FSM] 状态转换: COMBAT_STANDING_AOE -> COMBAT_MOVING | 战斗状态变更
[20:06:27] [状态] COMBAT_STANDING_AOE->COMBAT_MOVING | 敌人:4 | AOE:True
[20:06:27] [移动] 执行技能 | 状态:COMBAT_MOVING
[20:06:27] [FSM] 状态转换: COMBAT_MOVING -> COMBAT_STANDING_AOE | 战斗状态变更
[20:06:27] [状态] COMBAT_MOVING->COMBAT_STANDING_AOE | 敌人:4 | AOE:True
[20:06:27] [BT] 执行技能 | 状态:COMBAT_STANDING_AOE
[20:06:27] [施法] 湮灭 | 符文:2 | 能量:76 | AOE
[20:06:27] [BT] 执行技能 | 状态:COMBAT_STANDING_AOE
[20:06:28] [施法] 凛风冲击 | 符文:0 | 能量:98 | AOE
[20:06:28] [BT] 执行技能 | 状态:COMBAT_STANDING_AOE
[20:06:29] [状态摘要] COMBAT_STANDING_AOE | AOE | 符文:1 | 能量:98
[20:06:29] [BT] 执行技能 | 状态:COMBAT_STANDING_AOE
[20:06:29] [施法] 冰霜打击 | 符文:1 | 能量:98 | AOE
[20:06:29] [BT] 执行技能 | 状态:COMBAT_STANDING_AOE
[20:06:30] [FSM] 状态转换: COMBAT_STANDING_AOE -> COMBAT_MOVING | 战斗状态变更
[20:06:30] [状态] COMBAT_STANDING_AOE->COMBAT_MOVING | 敌人:3 | AOE:True
[20:06:30] [移动] 执行技能 | 状态:COMBAT_MOVING
[20:06:31] [模式切换] 单体模式 | 敌人:2 | 符文:1 | 能量:74
[20:06:31] [移动] 执行技能 | 状态:COMBAT_MOVING
[20:06:32] [范围] 离开近战范围
[20:06:32] [移动] 执行技能 | 状态:COMBAT_MOVING
[20:06:32] [移动] 无动作 | 白霜:无 | 能量:79 | 近战:False
[20:06:32] [移动] 执行技能 | 状态:COMBAT_MOVING
[20:06:37] [FSM] 状态转换: COMBAT_MOVING -> COMBAT_STANDING_SINGLE | 战斗状态变更
[20:06:37] [状态] COMBAT_MOVING->COMBAT_STANDING_SINGLE | 敌人:1 | AOE:False
[20:06:37] [施法] 湮灭 | 符文:4 | 能量:84 | 单体
[20:06:37] [BT] 执行技能 | 状态:COMBAT_STANDING_SINGLE
[20:06:38] [范围] 进入近战范围
[20:06:38] [BT] 执行技能 | 状态:COMBAT_STANDING_SINGLE
[20:06:38] [FSM] 状态转换: COMBAT_STANDING_SINGLE -> COMBAT_MOVING | 战斗状态变更
[20:06:38] [状态] COMBAT_STANDING_SINGLE->COMBAT_MOVING | 敌人:1 | AOE:False
[20:06:38] [移动] 执行技能 | 状态:COMBAT_MOVING
[20:06:38] [FSM] 状态转换: COMBAT_MOVING -> COMBAT_STANDING_SINGLE | 战斗状态变更
[20:06:38] [状态] COMBAT_MOVING->COMBAT_STANDING_SINGLE | 敌人:1 | AOE:False
[20:06:38] [施法] 冰霜打击 | 符文:2 | 能量:100 | 单体
[20:06:38] [BT] 执行技能 | 状态:COMBAT_STANDING_SINGLE
[20:06:39] [状态摘要] COMBAT_STANDING_SINGLE | 单体 | 符文:3 | 能量:77
[20:06:39] [BT] 执行技能 | 状态:COMBAT_STANDING_SINGLE
[20:06:39] [FSM] 状态转换: COMBAT_STANDING_SINGLE -> COMBAT_MOVING | 战斗状态变更
[20:06:39] [状态] COMBAT_STANDING_SINGLE->COMBAT_MOVING | 敌人:1 | AOE:False
[20:06:39] [移动] 执行技能 | 状态:COMBAT_MOVING
[20:06:41] [范围] 离开近战范围
[20:06:41] [移动] 执行技能 | 状态:COMBAT_MOVING
[20:06:43] [范围] 进入近战范围
[20:06:43] [移动] 执行技能 | 状态:COMBAT_MOVING
[20:06:43] [FSM] 状态转换: COMBAT_MOVING -> COMBAT_STANDING_SINGLE | 战斗状态变更
[20:06:43] [状态] COMBAT_MOVING->COMBAT_STANDING_SINGLE | 敌人:1 | AOE:False
[20:06:43] [施法] 冷酷严冬 | 符文:4 | 能量:83 | 单体
[20:06:43] [BT] 执行技能 | 状态:COMBAT_STANDING_SINGLE
[20:06:44] [施法] 湮灭 | 符文:3 | 能量:95 | 单体
[20:06:44] [BT] 执行技能 | 状态:COMBAT_STANDING_SINGLE
[20:06:45] [施法] 凛风冲击 | 符文:3 | 能量:100 | 单体
[20:06:46] [BT] 执行技能 | 状态:COMBAT_STANDING_SINGLE
[20:06:47] [施法] 湮灭 | 符文:4 | 能量:100 | 单体
[20:06:47] [BT] 执行技能 | 状态:COMBAT_STANDING_SINGLE
[20:06:48] [施法] 凛风冲击 | 符文:2 | 能量:100 | 单体
[20:06:48] [BT] 执行技能 | 状态:COMBAT_STANDING_SINGLE
[20:06:49] [状态摘要] COMBAT_STANDING_SINGLE | 单体 | 符文:2 | 能量:100
[20:06:49] [施法] 湮灭 | 符文:2 | 能量:100 | 单体
[20:06:49] [BT] 执行技能 | 状态:COMBAT_STANDING_SINGLE
[20:06:50] [施法] 凛风冲击 | 符文:0 | 能量:100 | 单体
[20:06:50] [BT] 执行技能 | 状态:COMBAT_STANDING_SINGLE
[20:06:52] [施法] 冰霜打击 | 符文:0 | 能量:100 | 单体
[20:06:52] [BT] 执行技能 | 状态:COMBAT_STANDING_SINGLE
[20:06:53] [施法] 湮灭 | 符文:3 | 能量:75 | 单体
[20:06:53] [BT] 执行技能 | 状态:COMBAT_STANDING_SINGLE
[20:06:54] [施法] 凛风冲击 | 符文:1 | 能量:96 | 单体
[20:06:54] [BT] 执行技能 | 状态:COMBAT_STANDING_SINGLE
[20:06:55] [施法] 冰霜打击 | 符文:1 | 能量:100 | 单体
[20:06:55] [BT] 执行技能 | 状态:COMBAT_STANDING_SINGLE
[20:06:59] [状态摘要] COMBAT_STANDING_SINGLE | 单体 | 符文:1 | 能量:83
[20:06:59] [BT] 执行技能 | 状态:COMBAT_STANDING_SINGLE
[20:06:59] [施法] 湮灭 | 符文:2 | 能量:83 | 单体
[20:07:00] [BT] 执行技能 | 状态:COMBAT_STANDING_SINGLE
[20:07:01] [施法] 冰霜打击 | 符文:2 | 能量:100 | 单体
[20:07:01] [BT] 执行技能 | 状态:COMBAT_STANDING_SINGLE
[20:07:02] [施法] 湮灭 | 符文:2 | 能量:77 | 单体
[20:07:02] [BT] 执行技能 | 状态:COMBAT_STANDING_SINGLE
[20:07:03] [施法] 冰霜打击 | 符文:1 | 能量:97 | 单体
[20:07:03] [BT] 执行技能 | 状态:COMBAT_STANDING_SINGLE
[20:07:07] [施法] 冷酷严冬 | 符文:3 | 能量:78 | 单体
[20:07:07] [BT] 执行技能 | 状态:COMBAT_STANDING_SINGLE
[20:07:08] [施法] 湮灭 | 符文:3 | 能量:88 | 单体
[20:07:08] [BT] 执行技能 | 状态:COMBAT_STANDING_SINGLE
[20:07:09] [状态摘要] COMBAT_STANDING_SINGLE | 单体 | 符文:1 | 能量:100
[20:07:09] [BT] 执行技能 | 状态:COMBAT_STANDING_SINGLE
[20:07:10] [施法] 凛风冲击 | 符文:1 | 能量:100 | 单体
[20:07:10] [BT] 执行技能 | 状态:COMBAT_STANDING_SINGLE
[20:07:11] [施法] 冰霜打击 | 符文:1 | 能量:100 | 单体
[20:07:11] [BT] 执行技能 | 状态:COMBAT_STANDING_SINGLE
[20:07:12] [施法] 冰霜之柱 | 符文:2 | 能量:75 | 单体
[20:07:12] [BT] 执行技能 | 状态:COMBAT_STANDING_SINGLE
[20:07:12] [施法] 冰链术 | 符文:2 | 能量:77 | 单体
[20:07:12] [BT] 执行技能 | 状态:COMBAT_STANDING_SINGLE
[20:07:14] [施法] 冰霜打击 | 符文:1 | 能量:87 | 单体
[20:07:14] [BT] 执行技能 | 状态:COMBAT_STANDING_SINGLE
[20:07:15] [施法] 湮灭 | 符文:2 | 能量:64 | 单体
[20:07:15] [BT] 执行技能 | 状态:COMBAT_STANDING_SINGLE
[20:07:16] [施法] 冰霜打击 | 符文:1 | 能量:86 | 单体
[20:07:16] [BT] 执行技能 | 状态:COMBAT_STANDING_SINGLE
[20:07:17] [施法] 湮灭 | 符文:2 | 能量:61 | 单体
[20:07:17] [BT] 执行技能 | 状态:COMBAT_STANDING_SINGLE
[20:07:19] [状态摘要] COMBAT_STANDING_SINGLE | 单体 | 符文:2 | 能量:100
[20:07:19] [BT] 执行技能 | 状态:COMBAT_STANDING_SINGLE
[20:07:20] Stopping bot...
[20:07:20] 机器人已停止
[20:07:20] [BT] 执行技能 | 状态:COMBAT_STANDING_SINGLE
热键监听已停止
程序正常退出
GUI 主循环结束
程序退出
PS C:\Users\Administrator\Desktop\备份\python-1>
.gif) .gif) .gif)
|