mirror of
https://github.com/babalae/bettergi-scripts-list.git
synced 2026-03-18 03:53:24 +08:00
* js:带状态机的账号切换 使用状态机管理账号切换过程中的各种页面 提高流程稳定性并方便管理和新增异常处理 支持自动截图保存,双模式切换账号 * Update main.js 将状态切换需要用到的函数挂载到globalThis,以适配AutoJs作为其中的账号切换工具 * 修复提到的问题 * Update main.js 修复提到的问题 * Update main.js * Update main.js * Update main.js
225 lines
7.5 KiB
Markdown
225 lines
7.5 KiB
Markdown
# 账号切换工具使用说明
|
||
|
||
## 快速开始
|
||
|
||
### 方式一:账号图片识别(推荐)
|
||
|
||
1. **准备账号图片**
|
||
- **推荐方式**:使用脚本的"截图模式"自动获取并保存截图(详见截图模式部分)
|
||
- **手动方式**:在 `accounts/` 目录下放置账号截图
|
||
- 图片命名为 `{UID}.png`,如 `284073800.png`
|
||
- 截图应包含账号选择界面中该账号的明显标识
|
||
|
||
2. **配置脚本**
|
||
- 打开BetterGI配置面板
|
||
- 填写目标账号UID
|
||
- 确保"跳过搜索直接输入账号密码"未勾选
|
||
|
||
3. **运行脚本**
|
||
- 脚本会自动定位到账号选择界面
|
||
- 识别并点击对应账号图片
|
||
- 自动进入游戏并返回主界面
|
||
|
||
### 方式二:账号密码输入
|
||
|
||
1. **配置脚本**
|
||
- 打开BetterGI配置面板
|
||
- 填写目标账号UID(用于通知显示)
|
||
- 填写账号和密码
|
||
- 勾选"跳过搜索直接输入账号密码"
|
||
|
||
2. **运行脚本**
|
||
- 脚本会自动进入账号密码输入界面
|
||
- 自动点击同意按钮、输入账号密码
|
||
- 自动进入游戏并返回主界面
|
||
|
||
### 说明
|
||
- **两种方式可同时使用**:方式二作为方式一的补充,当图片识别失败时会自动回退到账号密码方式
|
||
- **推荐配置**:同时填写账号密码作为备用,提高切换成功率
|
||
|
||
## 截图模式
|
||
|
||
截图模式是一个辅助功能,用于自动获取并保存账号图片,方便后续使用账号图片识别方式进行切换。
|
||
|
||
**使用步骤**:
|
||
1. **配置脚本**
|
||
- 打开BetterGI配置面板
|
||
- 填写目标账号UID(优先使用,用于命名图片)
|
||
- 勾选"截图模式"
|
||
|
||
2. **运行脚本**
|
||
- 脚本会优先使用配置中的"要切换到的账号UID"命名图片
|
||
- 如果未填写该项,会尝试自动识别当前账号的UID
|
||
- 导航到账号选择界面
|
||
- 自动截图并保存账号图片
|
||
- 返回主界面并发送成功通知
|
||
|
||
**保存位置**:
|
||
- 图片保存在 `accounts/` 目录下
|
||
- 文件名格式为 `{UID}.png`
|
||
|
||
## 配置说明
|
||
|
||
在BetterGI的配置面板中进行以下设置:
|
||
|
||
### 1. 目标账号UID
|
||
- 输入要切换到的账号UID
|
||
- 用于识别账号图片文件名、通知显示和截图模式命名
|
||
|
||
### 2. 账号(可选)
|
||
- 当无法通过图片识别找到账号时备用
|
||
- 建议填写,以防图片识别失败
|
||
|
||
### 3. 密码(可选)
|
||
- 当无法通过图片识别找到账号时备用
|
||
- 建议填写,以防图片识别失败
|
||
|
||
### 4. 跳过搜索直接输入账号密码
|
||
- **勾选**:不尝试查找账号图片,直接使用账号密码登录
|
||
- **不勾选**:优先尝试通过账号图片识别切换,失败时回退到账号密码方式
|
||
|
||
### 5. UID校验
|
||
- **勾选**:在切换前后检查当前账号UID,辅助判断切换是否成功
|
||
- **不勾选**:不进行UID校验
|
||
|
||
### 6. 截图模式
|
||
- **勾选**:进入截图模式,自动截图保存对应UID的账号图片
|
||
- **不勾选**:正常执行账号切换流程
|
||
|
||
## 常见问题
|
||
|
||
### Q: 账号图片识别失败怎么办?
|
||
A: 确保:
|
||
1. 图片存放在 `accounts/` 目录下
|
||
2. 图片命名为正确的UID格式
|
||
3. 截图清晰,包含账号的明显标识
|
||
4. 同时填写账号密码作为备用方案
|
||
|
||
### Q: 切换失败后会怎样?
|
||
A: 脚本会尝试返回主界面,并发送失败通知。如果配置了账号密码,建议手动检查账号状态。
|
||
|
||
### Q: 为什么需要填写UID?
|
||
A: UID用于:
|
||
1. 确定账号图片文件名
|
||
2. 在通知中显示切换的账号信息
|
||
3. 截图模式下命名保存的图片文件
|
||
|
||
## 注意事项
|
||
|
||
1. 首次使用前建议先手动测试一遍切换流程
|
||
2. 确保游戏分辨率为1920x1080
|
||
3. 账号图片建议截取账号选择界面中该账号的清晰截图
|
||
4. 密码输入时不会显示,属于正常现象
|
||
5. 截图模式下,默认使用设置的目标UID,未设置时会尝试自动识别
|
||
|
||
## 问题反馈
|
||
|
||
如果在使用过程中遇到预料之外的弹窗或其他问题,脚本可能无法处理,请按照以下方式反馈:
|
||
|
||
1. **截图保存**:截取全屏原图,确保包含完整的游戏界面和弹窗
|
||
2. **联系作者**:QQ号 718135749
|
||
3. **提供信息**:简要描述遇到的问题和操作步骤
|
||
|
||
感谢您的支持!
|
||
|
||
<details>
|
||
<summary>项目介绍(点击展开)</summary>
|
||
|
||
## 项目介绍
|
||
|
||
基于状态机实现的自动账号切换脚本,支持通过账号图片识别或手动输入账号密码两种方式切换原神账号。
|
||
|
||
### 功能特性
|
||
|
||
- **双模式切换**:支持账号图片自动识别和账号密码手动输入两种方式
|
||
- **状态机管理**:使用有限状态机管理切换流程,稳定可靠
|
||
- **自动返回**:切换失败时自动尝试返回原账号
|
||
- **通知提醒**:切换成功或失败时发送系统通知
|
||
- **循环防护**:防止状态循环卡死
|
||
- **UID校验**:支持切换前后检查当前账号UID,提高切换准确性
|
||
- **截图模式**:自动截图保存账号图片,方便后续切换
|
||
|
||
### 目录结构
|
||
|
||
```
|
||
AccountSwitchStateMachine/
|
||
├── main.js # 主脚本文件
|
||
├── manifest.json # 脚本清单
|
||
├── settings.json # 配置定义
|
||
├── assets/
|
||
│ ├── states.json # 状态机配置
|
||
│ └── RecognitionObjects/ # 状态识别图片
|
||
│ ├── Paimon.png
|
||
│ ├── Menu.png
|
||
│ ├── PrepareToLogOut.png
|
||
│ ├── SwitchAccount.png
|
||
│ ├── Exit.png
|
||
│ ├── EnterGame.png
|
||
│ ├── LoginOther.png
|
||
│ ├── SelectAccount.png
|
||
│ ├── EnterAccountAndPassword.png
|
||
│ ├── Agree.png
|
||
│ ├── EnterAccount.png
|
||
│ ├── EnterPassword.png
|
||
│ ├── EnterGame2.png
|
||
│ ├── Login.png
|
||
│ └── Confirm.png
|
||
└── accounts/ # 账号图片存放目录
|
||
└── {uid}.png # 以UID命名的账号截图
|
||
```
|
||
|
||
### 工作流程
|
||
|
||
```
|
||
开始
|
||
│
|
||
├─► 截图模式(勾选时)
|
||
│ ├─► 使用设置的UID或识别当前UID
|
||
│ ├─► 导航到账号选择界面
|
||
│ ├─► 截图保存账号图片
|
||
│ └─► 返回主界面
|
||
│ ├─► 成功 → 发送成功通知
|
||
│ └─► 失败 → 发送失败通知
|
||
│
|
||
├─► 尝试账号图片方式(未勾选跳过时)
|
||
│ ├─► 预加载账号图片
|
||
│ ├─► 切换到选择账号界面
|
||
│ ├─► 查找并点击账号图片
|
||
│ └─► 切换到主界面
|
||
│ ├─► 成功 → 发送成功通知
|
||
│ └─► 失败 → 回退到账号密码方式
|
||
│
|
||
└─► 账号密码方式
|
||
├─► 检查账号密码
|
||
├─► 切换到输入账号密码界面
|
||
├─► 点击同意按钮
|
||
├─► 输入账号密码
|
||
├─► 点击进入游戏
|
||
└─► 切换到主界面
|
||
├─► 成功 → 发送成功通知
|
||
└─► 失败 → 尝试返回原账号 → 发送失败通知
|
||
```
|
||
|
||
### 状态说明
|
||
|
||
| 状态名 | 说明 |
|
||
|--------|------|
|
||
| mainUI | 主界面(派蒙图标) |
|
||
| menuUI | 菜单界面(ESC菜单) |
|
||
| prepareToLogOut | 预备退出登录界面 |
|
||
| loginScreen | 登录界面(切换账号按钮) |
|
||
| exitAccount | 退出账号界面 |
|
||
| enterGame | 进入游戏或登录其他账号界面 |
|
||
| selectAccount | 选择账号界面 |
|
||
| enterAccountAndPassword | 输入账号密码界面 |
|
||
| noAccount | 无账号登录界面 |
|
||
|
||
### 更新日志
|
||
|
||
#### v1.0
|
||
- 初始版本
|
||
- 实现状态机管理
|
||
- 支持账号图片和账号密码两种切换方式
|
||
- 添加自动返回和通知功能
|
||
|
||
</details> |