js:自动狗粮重置版1.1正式更新 (#1012)
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
# 自动好感与全富6A1B狗粮脚本
|
||||
# 自动好感与狗粮脚本
|
||||
|
||||
**重要免责声明:**
|
||||
|
||||
@@ -20,96 +20,30 @@
|
||||
|
||||
---
|
||||
|
||||
## 简介
|
||||
|
||||
## 一、调查点类型收益
|
||||
1. 本脚本可自动完成好感任务并执行狗粮路线,通过识图和路径追踪实现自动化操作。
|
||||
|
||||
| 类型 | 等效1星圣遗物 | 平均经验值 | 平均摩拉 | 计算公式 |
|
||||
|------|--------------|------------|----------|----------|
|
||||
| 穷点 | 1.35个 | 567 EXP | 0 | 65%出1星(420EXP)+35%出2星(840EXP) |
|
||||
| 富点 | 1.5个 | 630 EXP | 200 | 50%出1个1星(420EXP)+50%出2个1星(840EXP) |
|
||||
|
||||
## 二、路线配置与收益
|
||||
|
||||
### 1. 主要路线参数
|
||||
|
||||
| 路线名称 | 总点数 | 富点数量 | 穷点数量 | 总经验值 | 总摩拉 | 运行时间 |
|
||||
|----------|--------|----------|----------|----------|--------|----------|
|
||||
| 富A路线 | 162 | 104 | 58 | 98,406 | 20,800 | 68分钟 |
|
||||
| 富B路线 | 127 | 69 | 58 | 76,356 | 13,800 | 60分钟 |
|
||||
| ABE A线 | 137 | 33 | 104 | 77,742 | 6,600 | 53分钟 |
|
||||
| ABE B线 | 138 | 34 | 104 | 77,868 | 6,800 | 53分钟 |
|
||||
|
||||
### 2. 经验值计算公式
|
||||
|
||||
`总经验 = (富点数×1.5 + 穷点数×1.35) × 420`
|
||||
|
||||
## 三、周循环方案对比
|
||||
|
||||
### 1. 富6A1B方案
|
||||
|
||||
- **执行方式**:
|
||||
- 连续6天跑富A路线(富A与富A间隔≥24H+5min)
|
||||
- 第7天跑富B路线(与富A间隔≥12H+5min)
|
||||
- **周总收益**:
|
||||
- 经验:6×98,406 + 76,356 = 666,792 EXP
|
||||
- 摩拉:6×20,800 + 13,800 = 138,600
|
||||
|
||||
### 2. 1A1B方案(ABE基准)
|
||||
|
||||
- **执行方式**:
|
||||
- 每天交替跑ABE A线和B线(点位不重叠,无要求)
|
||||
- **周总收益**:
|
||||
- 经验:3.5×(77,742+77,868) = 544,677 EXP
|
||||
- 摩拉:3.5×(6,600+6,800) = 46,900
|
||||
|
||||
### 3. 收益对比表
|
||||
|
||||
| 指标 | 6A1B方案 | 1A1B方案 | 差值 | 增幅 |
|
||||
|----------|----------|----------|----------|---------|
|
||||
| 周经验 | 666,792 | 544,677 | +122,115 | +22.4% |
|
||||
| 周摩拉 | 138,600 | 46,900 | +91,700 | +195.5% |
|
||||
| 周耗时 | 7.8小时 | 6.2小时 | +1.6小时 | - |
|
||||
|
||||
## 四、路径结构
|
||||
|
||||
1. 00激活(少数点位需要提前转变为发光点)
|
||||
2. 00清怪(部分优质富点有小怪镇守)
|
||||
3. 01普通(98个调查点路径)
|
||||
4. 02收尾(超出100以外的调查点)
|
||||
5. 03额外(不受上限影响消失)
|
||||
|
||||
## 五、队伍配置
|
||||
|
||||
- **双风阵容**:早柚+枫原万叶/砂糖(提升移动效率)
|
||||
- **迪希雅**:白天时段提供移速加成
|
||||
|
||||
## 六、选择建议
|
||||
|
||||
1. **追求极限收益**:采用6A1B方案,每周可多获得12.2万经验
|
||||
2. **时间有限玩家**:使用1A1B方案,保持基础收益
|
||||
3. **摩拉需求优先**:富路线摩拉收益是ABE的3倍
|
||||
|
||||
|
||||
## 七、文件结构
|
||||
## 文件结构
|
||||
|
||||
1. **main.js**:负责核心业务逻辑,包括好感任务和狗粮路线的执行。
|
||||
2. **manifest.json**:脚本配置文件,记录基本信息和设置。
|
||||
3. **settings.json**:用户配置文件,用于设置好感队和狗粮队的名称、任务间隔等参数。
|
||||
4. **record.txt**:运行记录文件,用于存储运行信息。
|
||||
|
||||
## 八、使用方法
|
||||
## 使用方法
|
||||
|
||||
1. 将脚本添加至调度器。
|
||||
2. 右键点击脚本以修改 JS 自定义配置。
|
||||
3. 在配置文件中设置好感队和狗粮队的名称、任务间隔等参数。
|
||||
|
||||
## 九、功能特点
|
||||
## 功能特点
|
||||
|
||||
1. 完成好感任务。
|
||||
2. 执行狗粮路线,自动计算时间并进行路线选择。
|
||||
3. 可选择在狗粮路线结束后继续完成剩余的好感任务。
|
||||
|
||||
## 十、使用说明
|
||||
## 使用说明
|
||||
|
||||
1. 确保在配置文件中正确设置好感队和狗粮队的名称。
|
||||
2. 根据需要调整任务间隔时间和超时设置。
|
||||
@@ -117,7 +51,7 @@
|
||||
|
||||
## 更新日志
|
||||
|
||||
### 1.1(2025.06.05)
|
||||
### 1.0(2025.05.27)
|
||||
1. 初始版本发布,支持自动好感任务和狗粮路线执行。
|
||||
|
||||
## 注意事项
|
||||
|
||||
@@ -1,72 +0,0 @@
|
||||
{
|
||||
"info": {
|
||||
"name": "璃月-地中之盐3",
|
||||
"type": "collect",
|
||||
"author": "汐",
|
||||
"version": "",
|
||||
"description": "",
|
||||
"bgiVersion": "0.42.3"
|
||||
},
|
||||
"positions": [
|
||||
{
|
||||
"id": 1,
|
||||
"x": -164.5927734375,
|
||||
"y": 1182.50537109375,
|
||||
"action": "",
|
||||
"move_mode": "walk",
|
||||
"type": "teleport"
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"x": -156.55859375,
|
||||
"y": 1191.83740234375,
|
||||
"action": "combat_script",
|
||||
"move_mode": "dash",
|
||||
"action_params": "wait(0.3),keypress(e)",
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"x": -101.333984375,
|
||||
"y": 1236.02978515625,
|
||||
"action": "",
|
||||
"move_mode": "run",
|
||||
"action_params": "",
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"x": -95.0634765625,
|
||||
"y": 1238.294921875,
|
||||
"action": "combat_script",
|
||||
"move_mode": "dash",
|
||||
"action_params": "keypress(f),wait(0.2),keypress(f),wait(0.2),keypress(f),",
|
||||
"type": "target"
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"x": -94.11328125,
|
||||
"y": 1235.544921875,
|
||||
"action": "",
|
||||
"move_mode": "walk",
|
||||
"type": "target"
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"x": -90.9267578125,
|
||||
"y": 1235.23193359375,
|
||||
"action": "",
|
||||
"move_mode": "walk",
|
||||
"type": "target"
|
||||
},
|
||||
{
|
||||
"id": 7,
|
||||
"x": -93.0693359375,
|
||||
"y": 1238.69384765625,
|
||||
"action": "combat_script",
|
||||
"move_mode": "walk",
|
||||
"action_params": "keypress(f)",
|
||||
"type": "path"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -40,28 +40,19 @@
|
||||
"id": 4,
|
||||
"x": 3239.5126953125,
|
||||
"y": -671.578125,
|
||||
"action": "combat_script",
|
||||
"type": "path",
|
||||
"move_mode": "walk",
|
||||
"action_params": "attack(0.2)",
|
||||
"type": "path"
|
||||
"action": "combat_script",
|
||||
"action_params": "attack(0.2)"
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"x": 3243.59375,
|
||||
"y": -669.6561946673019,
|
||||
"x": 3243.728515625,
|
||||
"y": -669.79833984375,
|
||||
"type": "target",
|
||||
"move_mode": "walk",
|
||||
"action": "combat_script",
|
||||
"move_mode": "walk",
|
||||
"action_params": "keypress(f),wait(0.2),keypress(f),wait(0.2),keypress(f),wait(0.5)",
|
||||
"type": "target"
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"x": 3243.083984375,
|
||||
"y": -667.75537109375,
|
||||
"type": "path",
|
||||
"move_mode": "walk",
|
||||
"action": "",
|
||||
"action_params": ""
|
||||
"action_params": "keypress(f),wait(0.2),keypress(f),wait(0.2),keypress(f),wait(0.5)"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -85,17 +85,17 @@
|
||||
},
|
||||
{
|
||||
"id": 10,
|
||||
"x": 9053.2548828125,
|
||||
"y": -2795.486328125,
|
||||
"type": "path",
|
||||
"x": 9053.48828125,
|
||||
"y": -2797.310546875,
|
||||
"action": "combat_script",
|
||||
"move_mode": "walk",
|
||||
"action": "",
|
||||
"action_params": ""
|
||||
"action_params": "keypress(f),w(0.2)",
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 11,
|
||||
"x": 9053.812519750414,
|
||||
"y": -2797.187530315927,
|
||||
"x": 9054.71875,
|
||||
"y": -2797.2811172015245,
|
||||
"action": "combat_script",
|
||||
"move_mode": "walk",
|
||||
"action_params": "keypress(f),wait(0.2),keypress(f),wait(0.2),keypress(f),",
|
||||
@@ -103,15 +103,6 @@
|
||||
},
|
||||
{
|
||||
"id": 12,
|
||||
"x": 9055.494140625,
|
||||
"y": -2799.2548828125,
|
||||
"type": "path",
|
||||
"move_mode": "walk",
|
||||
"action": "",
|
||||
"action_params": ""
|
||||
},
|
||||
{
|
||||
"id": 13,
|
||||
"x": 9060.9853515625,
|
||||
"y": -2791.96484375,
|
||||
"action": "combat_script",
|
||||
@@ -120,7 +111,7 @@
|
||||
"type": "target"
|
||||
},
|
||||
{
|
||||
"id": 14,
|
||||
"id": 13,
|
||||
"x": 9068.6044921875,
|
||||
"y": -2798.8125,
|
||||
"action": "combat_script",
|
||||
@@ -40,28 +40,19 @@
|
||||
"id": 4,
|
||||
"x": 3239.5126953125,
|
||||
"y": -671.578125,
|
||||
"action": "combat_script",
|
||||
"type": "path",
|
||||
"move_mode": "walk",
|
||||
"action_params": "attack(0.2)",
|
||||
"type": "path"
|
||||
"action": "combat_script",
|
||||
"action_params": "attack(0.2)"
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"x": 3243.59375,
|
||||
"y": -669.6561946673019,
|
||||
"x": 3243.728515625,
|
||||
"y": -669.79833984375,
|
||||
"type": "target",
|
||||
"move_mode": "walk",
|
||||
"action": "combat_script",
|
||||
"move_mode": "walk",
|
||||
"action_params": "keypress(f),wait(0.2),keypress(f),wait(0.2),keypress(f),wait(0.5)",
|
||||
"type": "target"
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"x": 3243.083984375,
|
||||
"y": -667.75537109375,
|
||||
"type": "path",
|
||||
"move_mode": "walk",
|
||||
"action": "",
|
||||
"action_params": ""
|
||||
"action_params": "keypress(f),wait(0.2),keypress(f),wait(0.2),keypress(f),wait(0.5)"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,24 +1,22 @@
|
||||
{
|
||||
"info": {
|
||||
"name": "愚人众-触发点",
|
||||
"type": "collect",
|
||||
"author": "秋云",
|
||||
"version": "1.0",
|
||||
"description": "",
|
||||
"map_name": "Teyvat",
|
||||
"bgi_version": "0.45.0",
|
||||
"tags": [],
|
||||
"last_modified_time": 1748154261518
|
||||
},
|
||||
"positions": [
|
||||
{
|
||||
"id": 1,
|
||||
"x": 4783.79,
|
||||
"y": -3065.62,
|
||||
"action": "",
|
||||
"move_mode": "dash",
|
||||
"action_params": "",
|
||||
"type": "path"
|
||||
}
|
||||
]
|
||||
{
|
||||
"info": {
|
||||
"name": "愚人众-触发点",
|
||||
"type": "collect",
|
||||
"author": "秋云",
|
||||
"version": "1.0",
|
||||
"description": "",
|
||||
"map_name": "Teyvat",
|
||||
"bgi_version": "0.45.0"
|
||||
},
|
||||
"positions": [
|
||||
{
|
||||
"id": 1,
|
||||
"x": 4783.79,
|
||||
"y": -3065.62,
|
||||
"action": "exit_and_relogin",
|
||||
"move_mode": "dash",
|
||||
"action_params": "",
|
||||
"type": "path"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,32 +1,31 @@
|
||||
{
|
||||
"info": {
|
||||
"name": "盗宝团-触发点",
|
||||
"type": "collect",
|
||||
"author": "HZYgrandma",
|
||||
"version": "1.0",
|
||||
"description": "",
|
||||
"map_name": "Teyvat",
|
||||
"bgi_version": "0.45.0"
|
||||
},
|
||||
"positions": [
|
||||
{
|
||||
"id": 1,
|
||||
"x": -2738.38,
|
||||
"y": -3414.45,
|
||||
"action": "",
|
||||
"move_mode": "walk",
|
||||
"action_params": "",
|
||||
"type": "teleport"
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"x": -2736.60,
|
||||
"y": -3415.44,
|
||||
"type": "path",
|
||||
"move_mode": "walk",
|
||||
"action": "combat_script",
|
||||
"action_params": "wait(0.5)",
|
||||
"locked": false
|
||||
}
|
||||
]
|
||||
{
|
||||
"info": {
|
||||
"name": "盗宝团-触发点",
|
||||
"type": "collect",
|
||||
"author": "HZYgrandma",
|
||||
"version": "1.0",
|
||||
"description": "",
|
||||
"map_name": "Teyvat",
|
||||
"bgi_version": "0.45.0"
|
||||
},
|
||||
"positions": [
|
||||
{
|
||||
"id": 1,
|
||||
"x": -2738.38,
|
||||
"y": -3414.45,
|
||||
"action": "",
|
||||
"move_mode": "walk",
|
||||
"action_params": "",
|
||||
"type": "teleport"
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"x": -2736.6,
|
||||
"y": -3415.44,
|
||||
"action": "exit_and_relogin",
|
||||
"move_mode": "walk",
|
||||
"action_params": "",
|
||||
"type": "path"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,30 +1,31 @@
|
||||
{
|
||||
"info": {
|
||||
"name": "鳄鱼-触发点",
|
||||
"type": "collect",
|
||||
"author": "秋云",
|
||||
"version": "1.0",
|
||||
"description": "",
|
||||
"bgi_version": "0.45.1"
|
||||
},
|
||||
"positions": [
|
||||
{
|
||||
"id": 1,
|
||||
"x": 3605.18,
|
||||
"y": -513.31,
|
||||
"type": "path",
|
||||
"move_mode": "dash",
|
||||
"action": "",
|
||||
"action_params": ""
|
||||
},
|
||||
{
|
||||
"id": 1,
|
||||
"x": 3614.63,
|
||||
"y": -521.6,
|
||||
"action": "",
|
||||
"move_mode": "dash",
|
||||
"action_params": "",
|
||||
"type": "path"
|
||||
}
|
||||
]
|
||||
{
|
||||
"info": {
|
||||
"name": "鳄鱼-触发点",
|
||||
"type": "collect",
|
||||
"author": "秋云",
|
||||
"version": "1.0",
|
||||
"description": "",
|
||||
"map_name": "Teyvat",
|
||||
"bgi_version": "0.45.0"
|
||||
},
|
||||
"positions": [
|
||||
{
|
||||
"id": 1,
|
||||
"x": 3605.18,
|
||||
"y": -513.31,
|
||||
"action": "",
|
||||
"move_mode": "dash",
|
||||
"action_params": "",
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"x": 3614.63,
|
||||
"y": -521.6,
|
||||
"action": "exit_and_relogin",
|
||||
"move_mode": "dash",
|
||||
"action_params": "",
|
||||
"type": "path"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -146,8 +146,12 @@ const DEFAULT_FIGHT_TIMEOUT_SECONDS = 120;
|
||||
runRouteA = true;
|
||||
}
|
||||
|
||||
if (operationType === "不卡时间,ab交替运行" && lastRunRoute === "A") {
|
||||
runRouteA = false;
|
||||
if (operationType === "不卡时间,ab交替运行") {
|
||||
// 定义 1970-01-01T20:00:00.000Z 的时间对象
|
||||
const epochTime = new Date('1970-01-01T20:00:00.000Z');
|
||||
|
||||
// 根据当前时间与 1970-01-01T20:00:00.000Z 的天数差的奇偶性给布尔变量 runRouteA 赋值
|
||||
runRouteA = Math.floor((now - epochTime) / (24 * 60 * 60 * 1000)) % 2 === 0;
|
||||
}
|
||||
|
||||
// 根据 runRouteA 的值给 runningRoute 赋值
|
||||
@@ -292,7 +296,7 @@ const DEFAULT_FIGHT_TIMEOUT_SECONDS = 120;
|
||||
await AutoPath('愚人众-准备');
|
||||
}
|
||||
if (enemyType === "鳄鱼") {
|
||||
log.info(`导航到盗宝团触发点...`);
|
||||
log.info(`导航到鳄鱼触发点...`);
|
||||
await AutoPath('鳄鱼-准备');
|
||||
}
|
||||
// 好感循环开始
|
||||
@@ -671,21 +675,29 @@ function isPositiveInteger(value) {
|
||||
// 根据敌人类型获取OCR关键词
|
||||
function getOcrKeywords(enemyType) {
|
||||
if (enemyType === "愚人众") {
|
||||
return ["买卖", "不成", "正义存", "愚人众", "禁止", "危险", "运输", "打倒", "盗宝团"];
|
||||
return ["买卖", "不成", "正义存", "愚人众", "禁止", "危险", "运输", "打倒", "盗宝团", "丘丘人", "今晚", "伙食", "所有人"];
|
||||
}
|
||||
else if (enemyType === "盗宝团") {
|
||||
return ["岛上", "无贼", "消灭", "鬼鬼祟祟", "盗宝团"];
|
||||
}
|
||||
else if (enemyType === "鳄鱼") {
|
||||
return ["张牙", "舞爪", "恶党", "鳄鱼", "打倒", "所有", "鳄鱼"];
|
||||
}
|
||||
else {
|
||||
return ["突发", "任务", "打倒", "消灭", "敌人", "所有"]; // 兜底关键词
|
||||
}
|
||||
}
|
||||
|
||||
// 根据敌人类型获取目标战斗点坐标
|
||||
function getTargetCoordinates(enemyType) {
|
||||
if (enemyType === "愚人众") {
|
||||
// 愚人众战斗点坐标(需要根据实际位置调整)
|
||||
return { x: 4840.55, y: -3078.01 }; // 这里需要替换为实际的愚人众战斗点坐标
|
||||
} else {
|
||||
return { x: 4840.55, y: -3078.01 };
|
||||
} else if (enemyType === "盗宝团") {
|
||||
// 盗宝团战斗点坐标
|
||||
return { x: -2757.281, y: -3468.437 };
|
||||
return { x: -2757.28, y: -3468.43 };
|
||||
} else if (enemyType === "鳄鱼") {
|
||||
// 鳄鱼战斗点坐标
|
||||
return { x: 3578.08, y: -500.75 };
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
{
|
||||
"manifest_version": 1,
|
||||
"name": "自动狗粮重制版",
|
||||
"version": "1.0",
|
||||
"tags": ["好感", "盗宝团", "狗粮"],
|
||||
"description": "通过突发事件【岛上无贼】卡时间后运行狗粮任务以提高狗粮总收益,需要正确配置好感队伍的战斗策略,并在自定义配置中指定好感和狗粮队伍名称",
|
||||
"version": "1.1",
|
||||
"tags": ["好感", "盗宝团", "愚人众", "鳄鱼", "兽肉", "狗粮"],
|
||||
"description": "通过不同好感任务卡时间后运行狗粮任务以提高狗粮总收益,需要正确配置好感队伍的战斗策略,并在自定义配置中指定好感和狗粮队伍名称",
|
||||
"authors": [
|
||||
{
|
||||
"name": "mno"
|
||||
|
||||
@@ -31,8 +31,8 @@
|
||||
{
|
||||
"name": "waitTimePeriod",
|
||||
"type": "input-text",
|
||||
"label": "卡时间时间段\n【格式参考:4:00-4:40,默认为4:00-4:40】",
|
||||
"default": "4:00-4:40"
|
||||
"label": "卡时间时间段\n【格式参考:4:05-4:45,默认为4:05-4:45】",
|
||||
"default": "4:05-4:45"
|
||||
},
|
||||
{
|
||||
"name": "ocrTimeout",
|
||||
|
||||
@@ -27,7 +27,7 @@ const DEFAULT_FIGHT_TIMEOUT_SECONDS = 120;
|
||||
await AutoPath('愚人众-准备');
|
||||
}
|
||||
if (enemyType === "鳄鱼") {
|
||||
log.info(`导航到盗宝团触发点...`);
|
||||
log.info(`导航到鳄鱼触发点...`);
|
||||
await AutoPath('鳄鱼-准备');
|
||||
}
|
||||
// 验证超时设置
|
||||
|
||||
Reference in New Issue
Block a user