Files
bettergi-scripts-list/repo/js/AutoCommission/对话委托制作方法.md
2025-07-22 22:54:12 +08:00

237 lines
6.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# AutoCommission 标准对话委托制作指南
> 欢迎加入开发!难度:★★★☆☆
> 感谢云闲vsv & 换苏伟u & 小鹰划船不用桨 & 塔台 & 未知_ 的共同开发
---
## 1 制作前检查
- 打开 [AutoCommission 开发进度表格](https://docs.qq.com/sheet/DWGRCTGtDUGVPa1h0?tab=BB08J2)
---
## 2 了解委托信息
- 名称:在任务界面看到的完整委托标题
- 地点:地图右上角名称
---
## 3 创建流程文件
路径规则 AutoEntrust\assets\process\{委托名称}\{委托地点}\process.json
- 使用 UTF-8 无 BOM 编码保存。
- 所有子流程(如 `取餐.json`)放在同一目录,方便相对路径引用。
---
## 4 流程文件格式总览
### 4.1 基本结构
```json
[
{
"type": "<步骤类型>",
"data": <任意类型>,
"note": "控制台日志,可选",
"run": "<子流程文件名,可选,仅分支步骤>"
}
]
```
### 4.2 支持的步骤类型
| type | 作用 | data 示例 | 备注 |
|---|---|---|---|
| 委托描述检测 | 按 J 打开任务界面并匹配委托详情 | `"取得制作好的餐品"` | 支持 `run` 跳转子流程 |
| 地址检测 | 检测玩家坐标与给定坐标差距 ≤15 | `[-667, 2285]` | 支持 `run` 跳转子流程 |
| 地图追踪 | 执行地图寻路脚本 | `"tracking1.json"` | 相对路径 |
| 键鼠脚本 | 执行键鼠脚本 | `"script1.json"` | 相对路径 |
| 对话 | 自动对话并优先选择指定选项 | 见下方详解 | |
| 按键 | 按一次键盘按键 | `"F"``{"action":"press","key":"E"}` | 复杂按键操作对象,包含 action (动作,如"down"、"up"、"press")和 key (按键值)|
| tp | 强制传送到坐标 | `[100,200,true]` | 已不常用 |
| 等待 | 自定义等待 | `3000`(毫秒) | 默认 5000 ms |
| 自动任务 | 开启/关闭 AutoSkip、AutoPick | 见下方详解 | |
| 等待返回主界面 | 判断返回主界面 | — | 无 data |
| 追踪委托 | 追踪NPC头顶图标 | data可以直接写npc的名字字符串类型也可以写成一个列表name是npc的名字iconType追踪的标,Bigmap大地图的委托图标Question问号图标Task任务图标默认 | 好用 |
---
## 5 对话步骤详解
```json
{
"type": "对话",
"data": {
"skipCount": 5,
"priorityOptions": ["同意", "接受委托", "我来帮忙"],
"npcWhiteList": ["派蒙", "凯亚", "安柏"]
},
"note": "优先选“同意”等选项,且只与白名单 NPC 交互"
}
"skipCount"跳过的前置无选项的对话次数,"priorityOptions"对话中可选的内容npcWhiteList可以对话的npc
```
---
## 6 自动任务步骤详解
#### 功能特点
- 动态启用/禁用自动任务
- 支持任务配置参数
- 统一的任务管理接口
#### 使用方法
**1. 启用自动拾取(默认配置)**
```json
{
"type": "自动任务",
"data": {
"action": "enable",
"taskType": "AutoPick"
},
"note": "启用自动拾取"
}
```
**2. 启用自动拾取(自定义配置)**
```json
{
"type": "自动任务",
"data": {
"action": "enable",
"taskType": "AutoPick",
"config": {
"forceInteraction": false
}
},
"note": "启用自动拾取,禁用急速拾取模式"
}
```
**3. 启用自动剧情**
```json
{
"type": "自动任务",
"data": {
"action": "enable",
"taskType": "AutoSkip"
},
"note": "开启自动剧情"
}
```
**4. 取消所有自动任务**
```json
{
"type": "自动任务",
"data": {
"action": "disable"
},
"note": "取消所有自动任务"
}
```
#### 参数详细说明
**action** (必需)
- 类型: string
- 可选值: "enable" | "disable"
- "enable": 启用自动任务
- "disable": 取消所有自动任务
**taskType** (启用时必需)
- 类型: string
- 可选值: "AutoSkip" | "AutoPick"
- "AutoSkip": 自动剧情
- "AutoPick": 自动拾取
**config** (可选)
- 类型: object
- 用于配置任务的具体参数
- 对于 AutoPick 任务:
- `forceInteraction`: boolean - 是否启用急速拾取模式
#### 支持的任务类型
| 任务类型 | 说明 | 支持的配置 |
|---------|------|----------|
| AutoSkip | 自动剧情 | 无特殊配置 |
| AutoPick | 自动拾取 | forceInteraction: 急速拾取模式开关 |
---
## 7 分支(条件跳转)机制
`委托描述检测``地址检测` 支持 `run` 字段:
- 条件匹配 → 执行 `run` 指向的子流程,子流程使用process.json同样的写法
- 条件不匹配 → 跳过本步骤继续往下执行
示例:
```json
[
{
"type": "委托描述检测",
"data": "取得制作好的餐品",
"note": "分支名字正确的情况",
"run": "取餐.json"
},
{
"type": "地址检测",
"data": [-667, 2285],
"note": "距离目标 ≤15",
"run": "让纳西妲进尘歌壶.json"
}
]
```
---
## 8 完整示例
下面是一份可直接使用的 `process.json` 模板,含新功能:
```json
[
{
"type": "自动任务",
"data": { "action": "enable", "taskType": "AutoPick", "config": { "forceInteraction": false } },
"note": "启用自动拾取(非急速)"
},
{
"type": "地图追踪",
"data": "tracking1.json",
"note": "前往目标 NPC"
},
{
"type": "等待",
"data": 2000,
"note": "等待传送动画"
},
{
"type": "对话",
"data": {
"skipCount": 3,
"priorityOptions": ["确定", "好的"],
"npcWhiteList": ["鲁道夫"]
},
"note": "与鲁道夫对话"
},
{
"type": "自动任务",
"data": { "action": "disable" },
"note": "清理自动任务"
}
]
```
---
## 9 常见问题 FAQ
1. **坐标如何获取?**
进入游戏按 `M` → 调试 → 记录 X、Y 即可。
2. **地图追踪.json 如何生成?**
使用「地图追踪录制器」或手工编写。
3. **对话选项匹配不到怎么办?**
将选项写成最短可识别关键词,如「我来帮忙」→「帮忙」;确保与游戏文本完全一致。
4. **网络延迟高脚本失败?**
增加「等待」步骤时间,或开启「等待」默认值 5000 ms。
---
> 完成后把 `process.json` 及所有子流程文件打包发给审核即可。祝制作顺利!