LoL 自动接受对局脚本(Python + PIL + PyAutoGUI)
概述
- 循环截屏,在屏幕中定位“接受对局”按钮模板图,命中后自动点击。
- 基于 Pillow(PIL) 做模板匹配,PyAutoGUI 控制鼠标。可选安装 OpenCV 启用
--confidence模糊匹配。
准备
-
安装依赖(建议 Python 3.9+):
- pip install pillow pyautogui
- 可选:pip install opencv-python (用于 --confidence 置信度匹配)
-
模板图
- 将 LoL 客户端中的“接受对局”按钮以原尺寸截图,保存为: lol_auto_accept/images/accept_button.png
- Windows 显示缩放建议 100%,模板与运行时分辨率/主题保持一致。
运行
-
默认运行(包含多比例匹配 0.9/1.0/1.1): python main.py
-
常用参数:
- --region x,y,w,h 限定搜索区域,可显著提速
- --centered / --no-centered 默认开启:在屏幕中间 70% 区域搜索
- --scales 0.95,1.0,1.05 同时尝试多种缩放比例(默认 0.9,1.0,1.1)
- --confidence 0.8 默认 0.8,需 OpenCV 才生效
- --no-grayscale 关闭灰度匹配(默认灰度)
- --pause-after-accept / --no-pause-after-accept 默认开启:接受后暂停检测
- --resume-after 2400 接受后自动恢复检测的秒数,0 表示仅手动恢复
示例
- 仅在客户端区域搜索并尝试多比例: python main.py --region 400,200,1120,700 --scales 0.95,1.0,1.05
- 无法确定区域时,聚焦屏幕中间: python main.py --centered
安全与中止
- PyAutoGUI Fail-Safe 默认启用:将鼠标移动到屏幕左上角可立即终止脚本。
注意事项
- 如未放置模板图,程序会在日志中提示并继续轮询。
- 若未安装 OpenCV,
--confidence将被忽略,转为精确匹配。
目录结构
- main.py 命令行入口
- lol_auto_accept/
- config.py 配置对象
- detector.py 模板匹配与定位
- clicker.py 鼠标移动与点击
- runner.py 主循环
- images/accept_button.png 按钮模板图(请自行添加)
图形界面(Tkinter)
- 启动 GUI: python gui.py
- GUI 中可设置模板路径、搜索区域或“屏幕中间 70%”、多比例、confidence、灰度匹配、时间与点击参数,并可启动/停止。
- 便捷功能:
- “使用默认” 按钮:一键填充模板路径为项目自带的
lol_auto_accept/images/accept_button.png。 - “选取区域” 按钮:弹出全屏十字准星覆盖层,拖拽框选区域,按回车确认(右键或 Esc 取消)。
- “快速测试” 按钮:在屏幕中部短暂展示当前模板图 3 秒;若工具正在运行,预期会被识别并自动点击(用于验证流程)。
- “使用默认” 按钮:一键填充模板路径为项目自带的
- 调试高亮:勾选“显示匹配框”,命中时在屏幕上以绿色边框高亮目标,持续时长可调(毫秒)。
- 窗口置前与回车:
- “命中时置前”+“置前窗口标题”(默认 League of Legends)可在点击前尝试把 LoL 窗口拉到前台。
- “点击后回车”会在点击后补发一次 Enter 键(部分环境更可靠)。
- 游戏中暂停:勾选“接受后暂停检测”(默认开启),可设置“自动恢复秒”(默认 2400 秒,约 40 分钟)。命中后可用“恢复检测”按钮手动提前恢复。
系统托盘(可选)
- 需要:
pip install pystray pillow - 启动托盘: python tray.py
- 托盘菜单:打开 GUI、关闭 GUI、退出。