# Party-Animals-Fishing-Script **Repository Path**: xiaomxiao/Party-Animals-Fishing-Script ## Basic Information - **Project Name**: Party-Animals-Fishing-Script - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: better-fisher - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-15 - **Last Updated**: 2025-10-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 猛兽派对 - 自动钓鱼脚本 (Better Fisher-改进版) 这是一个用于"猛兽派对"秋季小屋钓鱼玩法的自动化挂机脚本,基于 [liufeng-ya/Party-Animals-Fishing-Script](https://github.com/liufeng-ya/Party-Animals-Fishing-Script) 的原版脚本进行了大量功能增强和体验优化。 --- ## 巨献:GUI版本 (`better_fisher(GUI)`) 强烈推荐您使用 **GUI版本** (`better_fisher(GUI).py`),它提供了以下显著优势: 1. **直观的图形界面**: - 现代化的用户界面设计,使用深色主题和彩色编码 - 你无需再盯着那个黑乎乎的命令行界面,绝对能让你心情变好 2. **实时监控与统计**: - 左侧面板实时显示钓鱼统计数据,包括当前运行和历史总和 - 右侧面板提供详细的运行日志,便于追踪脚本状态 - 支持按稀有度分类显示钓鱼结果和百分比 3. **便捷的控制功能**: - 一键开始/暂停钓鱼 - 内置统计功能开关和数据归档功能,且直观显示 - 状态指示器清晰显示脚本运行状态 4. **增强的用户体验**: - 同样支持快捷键操作 (Ctrl+L 暂停/恢复, Ctrl+K 切换统计等) - 保留所有彩色日志输出 **推荐理由**: GUI版本不仅拥有普通版的所有功能,还提供了更好的用户体验和监控能力。建议所有用户优先选择GUI版本进行钓鱼自动化。 --- ## 新增:纯记录版本 (`better_fisher_logger.py` 与 `better_fisher_logger(GUI).py`) 为了满足纯粹的数据记录和分析需求,我们提供了一个特殊的"阉割版"脚本:`better_fisher_logger.py` 和它的GUI版本。 ### `better_fisher_logger(GUI).py` - 纯记录GUI版本(推荐) 这是一个专为数据记录设计的图形界面版本,提供了与主GUI版本相同的现代化界面,但只专注于统计功能: - **无任何游戏操作**:此脚本不会执行任何鼠标点击或键盘输入,绝对不会对您的游戏产生任何干扰。它是一个纯粹的观察者。 - **现代化图形界面**:提供与主GUI版本相同的深色主题界面,包括实时统计显示、日志面板和控制按钮。 - **专注数据记录**:它的唯一任务是观察屏幕、检测钓鱼事件(咬钩、收杆完成),并记录鱼的稀有度或空军情况。 - **完整统计功能**:保留所有数据统计、历史归档功能,支持统计功能开关和数据归档。 - **打包为 `.exe`**:使用 `logger-fisher(GUI).spec` 文件可以打包为可执行文件,您可以在任何 Windows 电脑上直接运行,无需安装 Python 环境。 ### `better_fisher_logger.py` - 纯记录命令行版本 这是纯记录功能的命令行版本,适合喜欢命令行界面的用户: - **无任何游戏操作**:同样不会执行任何游戏操作,纯粹用于数据记录。 - **保留核心功能**:完整保留了原有的日志记录、数据统计、历史归档和彩色控制台输出功能。 - **轻量级运行**:相比GUI版本,资源占用更少。 ### 适用场景 - 您想在手动玩游戏的同时,自动记录下每一次的钓鱼成果。 - 您对钓鱼数据感兴趣,希望收集大量样本进行概率分析。 - 您担心使用自动化脚本的风险,但仍希望有一个工具来帮助统计。 ### 使用方法 #### GUI版本 1. 运行 `better_fisher_logger(GUI).py` 文件或打包后的可执行文件。 2. 点击界面上的 **"开始记录"** 按钮。 3. 将游戏窗口置于前台。 4. 脚本会自动检测并记录您的每一次钓鱼结果,并在界面上实时显示统计数据。 #### 命令行版本 1. 运行 `better_fisher_logger.py` 文件。 2. 将游戏窗口置于前台。 3. 脚本会自动检测并记录您的每一次钓鱼结果。 --- ## `better_fisher` 版本主要改进 *不同于原版专注于低分辨率窗口,better_fisher专为2560\*1440窗口设计,亦完美适配3840\*2160窗口,在1920\*1080、2560\*1080窗口中也可使用* 这个版本在原脚本的基础上,增加了以下核心功能和优化: 1. **逻辑修改**: * **更智能的收杆逻辑**: 增加了多重判断来确认钓鱼是否完成(张力表盘消失),包括在"松手调张力"之前和之后都进行检测,有效避免了因单次检测失败而陷入无限循环的问题。 * **对咬钩后处理的微调**:在咬钩后增加一个短暂的等待,能够在一定程度上减小空军几率。 * **窗口动态检测**: 脚本现在可以检测游戏窗口位置或大小的变化,并在检测到变化时动态更新像素坐标,确保在部分时机移动窗口后仍能正常工作。 * **咬钩检测优化**: 引入OpenCV模板匹配和HSV颜色检测的混合识别机制。先通过黄色像素快速定位疑似叹号区域,再用OpenCV精确验证exclamation_mark.png模板,提高检测准确性和速度。 2. **增强的用户交互与控制**: * **暂停/恢复功能**: 在脚本运行时,可以随时按下 `Ctrl+L` 来暂停所有动作。再次按下 `Ctrl+L` 后,脚本将从抛竿步骤重新开始新一轮钓鱼,方便您随时中断和重启。 * **统计功能控制**: 按下 `Ctrl+K` 可以创建或切换统计功能状态。如果统计文件不存在,会自动创建;如果已存在,则会切换启用/禁用状态。 * **紧急终止**: 保留了原有的 `q` 键紧急终止脚本的功能。 3. **优化的控制台输出**: * **更多的输出内容**:方便调试和装逼,但我极不推荐你把它发到网上。 * **清晰的输出格式**:输出内容被按颜色分类。 * **清晰的流程分隔**: 每轮钓鱼的开始和结束都有明显的分隔符,便于追踪。 * **稀有度彩色显示**: 钓鱼结果和统计使用对应稀有度的颜色标签(传奇黄色、史诗品红等),空军率以白色显示。 4. **更真实的模拟操作**: * **随机化延时**: 脚本中的大部分延时都从固定值改为了一个小的随机范围,以更好地模拟人类操作。 5. **空军判定与处理**: * **空军检测**: 通过对稀有度标签位置等像素采样判断是否空军。 * **空军处理**: 如果判定为空军,则跳过收鱼步骤,直接结束本轮并开始下一轮抛竿,避免无效操作,提高效率。 6. **稀有度检测与统计**: * **稀有度识别**: 检查是否空军的同时检测五种鱼稀有度(传奇、史诗、稀有、非凡、标准),基于游戏 UI 颜色基准。 * **实时统计**: 每轮结束时打印本次结果和累计统计,包括每种鱼数量、空军次数及空军率。 * **本地数据库**: 脚本会自动将钓鱼记录保存到本地的 `statistics-content.json` 文件中,包括时间戳、稀有度和是否空军等信息。 * **统计功能控制**: 可以通过 `Ctrl+K` 随时启用或禁用统计功能,无需重启脚本。 * **未知稀有度处理**: 如果稀有度检测失败但检测到鱼指示颜色(浅棕色/明黄色),则标记为"未知"并进入收鱼流程。 --- ## 基础使用说明 ### 准备工作 0. **Windows 系统** + **Python 3.8 及以上版本** 1. **鱼饵**: 确保背包里有充足的鱼饵。 2. **钓竿**: 手持任意钓竿。 3. **钓鱼位置**: 站在水边任何可抛竿到水里的位置即可(确保窗口的下半部分是黄色以外的颜色可以减少误判) * 推荐站在 **巨石缝隙**,以减少角色不必要的移动,也减少背景内容的变化。 * 如果你准备讹沃特一笔钱,也就是鱼桶快满时,可以站在**码头**。确保不要有人来烦你,也不要有人在你前面跳舞。 4. **窗口要求**: * 游戏窗口标题必须为 `"猛兽派对"`。 * 运行脚本后,尽量避免移动游戏窗口或改变其分辨率(脚本支持部分动态调整,但为确保稳定性,请保持窗口固定)。 ### 依赖库 脚本依赖以下 Python 库: | 库 | 作用 | | -------------- | ------------------------------------ | | `pyautogui` | 获取屏幕像素颜色、截图功能 | | `pygetwindow` | 获取窗口位置和大小 | | `keyboard` | 监听键盘事件 (Ctrl+L, q) | | `pywin32` | 获取窗口客户区大小,设置控制台颜色 | | `ctypes` | 注入底层鼠标事件(内置库) | | `opencv-python`| OpenCV图像处理和模板匹配 | | `numpy` | 数值计算和数组操作 | ### 安装依赖 **方法一:一键安装(推荐)** 复制以下命令到命令行 (CMD) 或 PowerShell 中执行,将自动安装所有必需的依赖库: ```bash pip install pyautogui keyboard pygetwindow pywin32 opencv-python numpy ``` **方法二:使用requirements.txt文件** 在命令行中执行: ```bash pip install -r requirements.txt ``` ### 使用方法 我们提供两种版本:**GUI版本(推荐)** 和命令行版本。 #### GUI版本 (`better_fisher(GUI).py`) - 推荐 1. **直接运行**: * 双击 `better_fisher(GUI).py` 文件启动图形界面。 * 程序启动后,会自动查找“猛兽派对”游戏窗口。 * 点击界面上的 **“开始钓鱼”** 按钮即可。 * 所有操作均在图形界面中完成,无需切换窗口或使用命令行。 2. **管理员身份运行 (如果脚本无反应)**: * 如果点击按钮后脚本没有反应,请尝试以管理员身份运行。 * 右键点击 `better_fisher(GUI).py`,选择“以管理员身份运行”。 #### 命令行版本 (`better_fisher.py`) 1. **直接运行**: * 双击 `better_fisher.py` 文件。 * 在倒计时结束前,迅速切换回"猛兽派对"游戏窗口。 2. **管理员身份运行 (如果脚本无反应)**: * **方法一**: 右键点击 `better_fisher.py`,选择"以管理员身份运行"。 * **方法二 (通过命令行)**: 1. 在 Windows 搜索框中输入 `cmd`,右键点击"命令提示符",选择"以管理员身份运行"。 2. 在弹出的黑色窗口中,输入 `cd <你存放脚本的文件夹路径>`,然后按回车。 (例如: `cd C:\Users\YourName\Downloads`) 3. 接着输入 `python better_fisher.py`,然后按回车。 ### 统计功能说明 脚本支持本地统计功能,可以记录您的钓鱼历史数据: #### 统计文件 - 统计数据保存在脚本同目录下的 `statistics-content.json` 文件中 - 文件采用JSON格式,包含每次钓鱼的时间戳、稀有度和是否空军等信息 - 如果统计文件不存在,脚本会自动创建并初始化 #### 统计功能控制 - **启用/禁用统计**: 按下 `Ctrl+K` 可以切换统计功能的启用/禁用状态 - **创建统计文件**: 如果统计文件不存在,按 `Ctrl+K` 会自动创建新的统计文件 - **状态提示**: 脚本会在控制台显示当前统计功能的状态和操作提示 #### 统计显示 - 每轮钓鱼结束后会显示本次运行的历史统计数据 - 按稀有度分类显示钓鱼数量和百分比 - 显示空军次数和空军率 - 未知稀有度和空军数据以灰色显示,便于区分 #### 归档 - 按下`Ctrl+K+Enter`即可将统计文件归档,程序会创建一个“archived-data”文件夹并存入带时间戳的统计文件,然后创建一个新的空文件 - 每次显示历史数据时会显示本次记录的数据和历史数据总和 --- ## 常见问题解答 (FAQ) ### 程序运行问题 **Q: 一打开程序就疯狂提示"无法截屏"怎么办?/ 屏幕中出现叹号之后抛出报错程序就不工作了怎么办?/ 其他程序无法操作或者无法识别屏幕的疑难杂症** A: 请尝试**以管理员身份运行程序**,这通常能够解决大部分权限相关的问题。 - GUI版本:右键点击 `better_fisher(GUI).py` 或可执行文件,选择"以管理员身份运行" - 命令行版本:以管理员身份打开CMD,然后运行脚本 --- ### 分辨率与窗口问题 **Q: 1920×1080以下的窗口能用吗?** A: 暂且没有适配且**并不打算适配**低于1920×1080的分辨率。如果有能人适配了并提交拉取请求,我会立刻审阅,可以的话会马上合并。**迫切希望有能人对程序进行各方面的优化!** **Q: 在1920×1080、2560×1440分辨率下,识别不到稀有度,空军率异常高,经常压力是绿色的时候就停止,无法正常收杆** A: 请**开启窗口化模式**来运行游戏即可解决问题。窗口化之后记得**重启程序**以重新检测窗口位置。 **Q: 支持哪些分辨率?** A: 目前程序仅支持以下三种分辨率: - **1920×1080 窗口模式** - **2560×1440 窗口模式** - **3840×2160 无边框窗口(全屏模式)** 在这些分辨率下,统计功能才能正常工作。其他分辨率程序可能无法识别鱼的品质或者你是否钓到了鱼。 --- ### 角色位置与操作问题 **Q: 角色的偏移不能很好修正怎么办?** A: 这个问题**无法通过程序自动修正**。建议: - 手动关闭偏移修正功能 - 自己手动调整角色位置到合适的钓鱼点 - 推荐站在**巨石缝隙**位置,可以减少角色不必要的移动 **Q: 程序运行中,角色突然移动或转向了怎么办?** A: 这通常是由于: - 其他玩家在你附近活动 - 背景环境发生变化 - 建议选择人少的时段或位置进行挂机 --- ### 统计功能问题 **Q: 统计的数据全是"未知鱼"或一直误判空军怎么办?** A: 这通常是**分辨率或窗口模式不正确**导致的。统计功能只有在以下情况下才能正常工作: - **1920×1080 窗口模式** - **2560×1440 窗口模式** - **3840×2160 无边框窗口(全屏模式)** 请确保使用上述三种分辨率之一,并使用正确的窗口模式。 **Q: 统计文件保存在哪里?** A: 统计文件位置说明: - **当前统计文件**: `statistics-content.json`(位于脚本/exe程序同一目录下) - **归档文件**: `archived-data/sc-时间戳.json`(归档后自动保存) **Q: 我从好兄弟那里毛来了他的统计数据,如何合并到我的统计文件?** A: 合并步骤: 1. 获取其他人的统计文件 2. 如果该文件未归档,请手动重命名为 `sc-时间戳.json` 格式(例如:`sc-20251010_143052.json`) 3. 将文件放入 `archived-data` 文件夹 4. 程序会自动读取并合并该文件夹中的所有历史数据 **Q: 如何归档当前的统计数据?** A: 按下 `Ctrl+K+Enter` 组合键即可归档: - 程序会自动创建 `archived-data` 文件夹(如果不存在) - 当前统计文件会被重命名为 `sc-时间戳.json` 并移动到归档文件夹 - 自动创建一个新的空统计文件用于后续记录 --- ### 其他问题 **Q: 程序突然停止工作,没有任何提示** A: 可能的原因和解决方案: - 游戏窗口被最小化或失去焦点 → 确保游戏窗口保持在前台 - 游戏崩溃或断线 → 重启游戏和脚本 - 系统进入睡眠/锁屏 → 调整电源设置,防止自动睡眠 **Q: GUI版本无法打开或闪退** A: 尝试以下方法: 1. 确认已安装所有依赖库(特别是 tkinter) 2. 以管理员身份运行 3. 检查Python版本是否为3.8及以上 4. 查看错误日志文件(如有) **Q: 如何停止脚本运行?** A: 多种停止方式: - **GUI版本**: 点击界面上的"暂停/停止"按钮 - **命令行版本**: 按 `q` 键紧急终止 - **通用方式**: 按 `Ctrl+L` 暂停,再按 `q` 退出 - **强制终止**: 直接关闭程序窗口或任务管理器结束进程 **Q: 想要贡献代码或报告bug,该怎么做?** A: 非常欢迎各种形式的贡献! - **提交问题**: 在GitHub Issues中详细描述问题和复现步骤 - **贡献代码**: Fork项目,进行修改后提交Pull Request - **分辨率适配**: 特别欢迎其他分辨率的适配代码 - **优化建议**: 性能优化、功能改进等建议都欢迎 --- **如果以上解答未能解决您的问题,欢迎在GitHub Issues中提出,我会尽快回复。** --- ## **本人并不打算再对该项目进行大量的修改或重构,因而强烈号召想要对项目做出贡献的朋友积极提交代码,我会很快审阅。** * 该项目原则上允许任何非营利形式的传播但**严禁商用**,如果你在任何电商平台看到了该项目,请**立刻举报**,附上该项目的GitHub仓库地址和license。 *此致,祝使用愉快! ——Samm*