JS : 自动购买每天&3天&每周刷新食材 改名 商品& 3.1.0 (#2754)
* Delete repo/js/自动购买每天&3天&每周刷新食材 directory * JS : 自动购买每天&3天&每周刷新食材 改名 商品& 3.1.0 改名 增加禁用tag功能 修正部份商品名稱 修改說明 璃月-璃月港-老高,支援買完兩種魚
@@ -1,10 +1,40 @@
|
||||
# 自动购买商品 - 使用说明
|
||||
# 自动购买每天&3天&每周刷新食材 - 使用说明
|
||||
|
||||
## 🚀 快速开始
|
||||
## 📝 功能说明
|
||||
|
||||
### 1. 基本设置
|
||||
这个脚本可以自动购买原神游戏中各个商人的食材,支持三种刷新周期:
|
||||
- **每天刷新食材**:每天凌晨4点刷新
|
||||
- **3天刷新食材**:每3天刷新一次
|
||||
- **每周刷新食材**:每周刷新,可指定购买日
|
||||
- **记录系统**:避免重复购买,只购买刷新后的商品
|
||||
- **标签系统**:支持按标签批量禁用商人
|
||||
|
||||
## ⚡ 快速开始
|
||||
|
||||
### 1. 准备工作 & 注意事项
|
||||
1. **游戏分辨率**:1920×1080 解析度**
|
||||
2. **游戏时间**:脚本会自动调整白天/晚上时间
|
||||
3. **背包空间**:确保有足够空间购买商品
|
||||
4. **摩拉**:确保有足够的摩拉
|
||||
5. **记录系统**:购买记录保存在 `record/账号名/` 目录下
|
||||
6. **多人模式**:脚本只能在单人模式下运行
|
||||
7. **刷新时间**:基于游戏服务器时间(GMT+8),每天4点刷新
|
||||
|
||||
|
||||
### 2. 首次使用
|
||||
1. 打开脚本设置界面
|
||||
2. 输入要购买的食材
|
||||
3. 设置每周食材购买模式
|
||||
4. 设置要禁用的NPC或标签
|
||||
5. 保存设置
|
||||
6. 在主界面运行脚本
|
||||
|
||||
|
||||
|
||||
## ⚙️ 设置说明
|
||||
1. **账号名**:填写账号名,用于区分不同账号的购买记录
|
||||
2. **要购买的商品**:输入商品名称,用空格分隔(支援的商人与商品请查看下方表格)
|
||||
- 建议直接复制商品名称贴上输入栏
|
||||
```
|
||||
示例:盐 胡椒 螃蟹 圣水 松茸 沉玉仙茗 蟹黄
|
||||
```
|
||||
@@ -15,24 +45,27 @@
|
||||
```
|
||||
示例:阿扎莱 皮托
|
||||
```
|
||||
5. **无视购买记录强制购买**:开启后会忽略购买记录,重新购买所有商品
|
||||
6. **调试模式**:开启后显示详细执行日志
|
||||
5. **禁用标签功能**:可以输入要禁用的标签(空格分隔),如:
|
||||
```
|
||||
示例:黑心商人 挪德卡莱
|
||||
```
|
||||
禁用后,脚本会跳过这些NPC或带有指定标签的NPC,不会前往购买。
|
||||
|
||||
可以使用国家/地区(如"蒙德"、"璃月")或其他标签(如商人信息总览中的标签)
|
||||
|
||||
6. **无视购买记录强制购买**:开启后会忽略购买记录,重新购买所有商品
|
||||
7. **调试模式**:开启后显示详细执行日志
|
||||
|
||||
### 2. 智能购买记录系统
|
||||
### 购买记录系统说明
|
||||
脚本会自动记录购买时间,避免重复购买:
|
||||
- **每天商品**:购买后24小时(凌晨4点)刷新
|
||||
- **3天商品**:购买后3天刷新
|
||||
- **每周商品**:购买后7天刷新(可设置购买日)
|
||||
1. **每天刷新食材** - 每天凌晨4点刷新
|
||||
2. **3天刷新食材** - 每3天刷新一次
|
||||
3. **每周刷新食材** - 每周固定週一购买
|
||||
|
||||
购买记录保存在:`record/你填的账号名/records.json`
|
||||
- 下次执行时只购买已刷新商品
|
||||
- 可通过"无视购买记录强制购买"选项重置
|
||||
|
||||
### 3. 运行脚本
|
||||
1. 确保游戏分辨率设置为 **1920×1080**
|
||||
2. 游戏角色需在单人模式
|
||||
3. 确保有足够的摩拉和背包空间
|
||||
4. 运行脚本即可自动购买
|
||||
|
||||
## 📋 商人与商品支持表
|
||||
|
||||
@@ -41,16 +74,16 @@
|
||||
- **查看`assets/data/foods.json`**:所有商品的中文名称
|
||||
|
||||
### 商人信息总览
|
||||
| 所在地 | 商人名 | 每天刷新商品 | 3天刷新商品 | 每周刷新商品 | 备注 |
|
||||
| 所在地 | 商人名 | 每天刷新商品 | 3天刷新商品 | 每周刷新商品 | 标签 |
|
||||
|--------|--------|-------------|------------|-------------|------|
|
||||
| 蒙德-清泉镇 | 神奇的霍普金斯 | 圣水 | - | - | 白天出现 |
|
||||
| 蒙德-蒙德城 | 布兰琪 | 盐、胡椒、洋葱、牛奶、番茄、卷心菜、土豆、小麦 | - | - | 晚上出现 |
|
||||
| 蒙德-清泉镇 | 神奇的霍普金斯 | 圣水 | - | - | |
|
||||
| 蒙德-蒙德城 | 布兰琪 | 盐、胡椒、洋葱、牛奶、番茄、卷心菜、土豆、小麦 | - | - | |
|
||||
| 蒙德-蒙德城 | 莎拉 | - | - | 蟹黄 | - |
|
||||
| 璃月-璃月港 | 东升 | 洋葱、牛奶、卷心菜、土豆、小麦、稻米、虾仁、豆腐、杏仁、盐、胡椒、番茄 | - | - | |
|
||||
| 璃月-璃月港 | 卯师父 | 鱼肉、螃蟹 | 胡萝卜、松茸、绝云椒椒 | - | |
|
||||
| 璃月-璃月港 | 老孙 | 鱼肉、螃蟹、虾仁 | - | - | 白天出现 |
|
||||
| 璃月-璃月港 | 老高 | 鱼肉 | - | - | |
|
||||
| 璃月-璃月港 | 阿桂 | - | 清心、琉璃袋 | - | 晚上出现 |
|
||||
| 璃月-璃月港 | 老孙 | 鱼肉、螃蟹、虾仁 | - | - | |
|
||||
| 璃月-璃月港 | 老高 | 鱼肉、鱼肉2 | - | - | |
|
||||
| 璃月-璃月港 | 阿桂 | - | 清心、琉璃袋 | - | |
|
||||
| 璃月-望舒客栈 | 菲尔戈黛特 | - | 松茸、琉璃袋 | - | |
|
||||
| 璃月-遗珑埠 | 丰泰 | - | 沉玉仙茗、琉璃袋、绝云椒椒 | 蟹黄 | |
|
||||
| 璃月-遗珑埠 | 连芳 | - | 沉玉仙茗 | - | |
|
||||
@@ -64,17 +97,22 @@
|
||||
| 须弥-须弥城 | 哈马维 | 洋葱、牛奶、卷心菜、土豆、小麦、稻米、虾仁、豆腐、盐、胡椒、番茄 | - | - | |
|
||||
| 须弥-须弥城 | 兰巴德 | 鱼肉、螃蟹 | - | - | 独立地图 |
|
||||
| 须弥-须弥城 | 恩忒卡 | 咖啡豆 | - | - | 独立地图 |
|
||||
| 须弥-阿如村 | 阿扎莱 | 鱼肉、兽肉、秃秃豆 | - | - | 晚上出现 |
|
||||
| 须弥-阿如村 | 阿扎莱 | 鱼肉、兽肉、秃秃豆 | - | - | 黑心商人 |
|
||||
| 须弥-奥摩斯港 | 巴巴克 | - | 清心、琉璃袋 | - | |
|
||||
| 枫丹-枫丹廷 | 布希柯 | 枫达、洋葱、牛奶、卷心菜、土豆、小麦、秃秃豆、杏仁、发酵果实汁、盐、胡椒、番茄 | - | - | |
|
||||
| 枫丹-枫丹廷 | 阿鲁埃 | 咖啡豆、枫达 | - | - | |
|
||||
| 枫丹-白淞镇 | 安特曼 | 鱼肉、螃蟹 | 海露花、汐藻 | - | |
|
||||
| 枫丹-锈舵酒馆 | 皮托 | 牛奶 | - | 培根、火腿、香肠、奶酪 | |
|
||||
| 枫丹-锈舵酒馆 | 皮托 | 牛奶 | - | 培根、火腿、香肠、奶酪 | 黑心商人 |
|
||||
| 纳塔-圣火竞技场 | 钦特利 | - | 青蜜莓、苦种 | - | |
|
||||
| 纳塔-圣火竞技场 | 夏安卡 | - | - | 蟹黄 | |
|
||||
| 纳塔-圣火竞技场 | 布纳马 | 盐、胡椒、小麦、洋葱、牛奶、番茄、卷心菜、土豆、秃秃豆 | - | - | |
|
||||
| 挪德卡莱-那夏镇 | 采若 | 黑麦、盐、胡椒、洋葱、牛奶、番茄、卷心菜、土豆、小麦 | - | - | |
|
||||
| 挪德卡莱-皮拉米达城 | 科菲策 | 牛奶、咖啡豆 | 微光角菌、琉鳞石 | - | |
|
||||
| 挪德卡莱-皮拉米达城 | 科菲策 | 牛奶、咖啡豆 | 微光角菌、琉鳞石 | - | 黑心商人 |
|
||||
|
||||
- 独立地图:指需要进入独立空间的特殊地图,这些地图部份路径无法使用地图追踪功能
|
||||
- 黑心商人:指没有折扣的商人,价格较贵的商人
|
||||
|
||||
### **标签系统尚未完全添加,欢迎补充标签**
|
||||
|
||||
## 🔧 添加新商品
|
||||
|
||||
@@ -125,7 +163,8 @@
|
||||
"path": "assets/path/地区-位置-新商人名.json",
|
||||
"_1d_foods": ["商品1", "商品2"], // 每天刷新
|
||||
"_3d_foods": ["商品3"], // 3天刷新
|
||||
"_7d_foods": ["商品4"] // 每周刷新
|
||||
"_7d_foods": ["商品4"], // 每周刷新
|
||||
"tags": ["地区", "黑心商人"] // 商人标签
|
||||
}
|
||||
```
|
||||
|
||||
@@ -133,8 +172,8 @@
|
||||
- `page`: 商店的总页数
|
||||
- `time`: 商人出现时间
|
||||
- `any`: 全天出现
|
||||
- `day`: 白天出现
|
||||
- `night`: 晚上出现
|
||||
- `day`:
|
||||
- `night`:
|
||||
- `path`: 路径文件位置
|
||||
|
||||
### 4. 更新商人与商品支持表
|
||||
@@ -173,15 +212,6 @@ A: 游戏内的刷新时间是**每天凌晨4点**。脚本会考虑这个时间
|
||||
- 如果当前时间在4点前,视为前一天
|
||||
- 购买记录基于4点刷新时间计算
|
||||
|
||||
## 📝 注意事项
|
||||
|
||||
1. **游戏时间**:脚本会自动调整白天/晚上时间
|
||||
2. **背包空间**:确保有足够空间购买商品
|
||||
3. **摩拉**:确保有足够的摩拉
|
||||
4. **记录系统**:购买记录保存在 `record/账号名/` 目录下
|
||||
5. **多人模式**:脚本只能在单人模式下运行
|
||||
6. **刷新时间**:基于游戏服务器时间(GMT+8),每天4点刷新
|
||||
|
||||
## 🤝 贡献指南
|
||||
|
||||
欢迎提交新的商人和商品配置!
|
||||
@@ -189,9 +219,10 @@ A: 游戏内的刷新时间是**每天凌晨4点**。脚本会考虑这个时间
|
||||
1. **提交新的商人**:包含路径文件和商人数据
|
||||
2. **提交新的商品**:包含图片和商品数据
|
||||
3. **更新文档**:记得更新本README中的商人信息表
|
||||
4. **问题反馈**:提供详细的重现步骤和日志
|
||||
4. **标签补充**:欢迎为现有NPC添加合适的标签
|
||||
5. **问题反馈**:提供详细的重现步骤和日志
|
||||
|
||||
---
|
||||
|
||||
> 注意:本脚本仅供学习与研究使用,请遵守游戏使用条款。
|
||||
```
|
||||
``
|
||||
@@ -89,6 +89,11 @@
|
||||
"name": "鱼肉",
|
||||
"file": "assets/images/fish.png"
|
||||
},
|
||||
"fish2": {
|
||||
"id": "fish",
|
||||
"name": "鱼肉2",
|
||||
"file": "assets/images/fish.png"
|
||||
},
|
||||
"huMengbu": {
|
||||
"id": "huMengbu",
|
||||
"name": "胡萝卜",
|
||||
@@ -139,10 +144,10 @@
|
||||
"name": "琉璃袋",
|
||||
"file": "assets/images/琉璃袋.png"
|
||||
},
|
||||
"蟹黃": {
|
||||
"id": "蟹黃",
|
||||
"name": "蟹黃",
|
||||
"file": "assets/images/蟹黃.png"
|
||||
"蟹黄": {
|
||||
"id": "蟹黄",
|
||||
"name": "蟹黄",
|
||||
"file": "assets/images/蟹黄.png"
|
||||
},
|
||||
"crab": {
|
||||
"id": "crab",
|
||||
@@ -5,7 +5,8 @@
|
||||
"page": 2,
|
||||
"time": "day",
|
||||
"path": "assets/path/蒙德-清泉镇-神奇的霍普金斯.json",
|
||||
"_1d_foods": ["圣水"]
|
||||
"_1d_foods": ["圣水"],
|
||||
"tags": ["蒙德"]
|
||||
},
|
||||
"Blanche": {
|
||||
"name": "布兰琪",
|
||||
@@ -13,7 +14,8 @@
|
||||
"page": 2,
|
||||
"time": "night",
|
||||
"path": "assets/path/蒙德-蒙德城-布兰琪.json",
|
||||
"_1d_foods": ["盐", "胡椒", "洋葱", "牛奶", "番茄", "卷心菜", "土豆", "小麦"]
|
||||
"_1d_foods": ["盐", "胡椒", "洋葱", "牛奶", "番茄", "卷心菜", "土豆", "小麦"],
|
||||
"tags": ["蒙德"]
|
||||
},
|
||||
"莎拉": {
|
||||
"name": "莎拉",
|
||||
@@ -21,7 +23,8 @@
|
||||
"page": 4,
|
||||
"time": "night",
|
||||
"path": "assets/path/蒙德-蒙德城-莎拉.json",
|
||||
"_7d_foods": ["蟹黃"]
|
||||
"_7d_foods": ["蟹黄"],
|
||||
"tags": ["蒙德"]
|
||||
},
|
||||
"DongSheng": {
|
||||
"name": "东升",
|
||||
@@ -29,7 +32,8 @@
|
||||
"page": 2,
|
||||
"time": "any",
|
||||
"path": "assets/path/璃月-璃月港-东升.json",
|
||||
"_1d_foods": ["洋葱", "牛奶", "卷心菜", "土豆", "小麦", "稻米", "虾仁", "豆腐", "杏仁", "盐", "胡椒", "番茄"]
|
||||
"_1d_foods": ["洋葱", "牛奶", "卷心菜", "土豆", "小麦", "稻米", "虾仁", "豆腐", "杏仁", "盐", "胡椒", "番茄"],
|
||||
"tags": ["璃月"]
|
||||
},
|
||||
"ChefMao": {
|
||||
"name": "卯师父",
|
||||
@@ -38,7 +42,8 @@
|
||||
"time": "any",
|
||||
"path": "assets/path/璃月-璃月港-卯师父.json",
|
||||
"_1d_foods": ["鱼肉", "螃蟹"],
|
||||
"_3d_foods": ["胡萝卜", "松茸", "绝云椒椒"]
|
||||
"_3d_foods": ["胡萝卜", "松茸", "绝云椒椒"],
|
||||
"tags": ["璃月"]
|
||||
},
|
||||
"UncleSun": {
|
||||
"name": "老孙",
|
||||
@@ -46,7 +51,8 @@
|
||||
"page": 1,
|
||||
"time": "day",
|
||||
"path": "assets/path/璃月-璃月港-老孙.json",
|
||||
"_1d_foods": ["鱼肉", "螃蟹", "虾仁"]
|
||||
"_1d_foods": ["鱼肉", "螃蟹", "虾仁"],
|
||||
"tags": ["璃月"]
|
||||
},
|
||||
"UncleGao": {
|
||||
"name": "老高",
|
||||
@@ -54,7 +60,8 @@
|
||||
"page": 1,
|
||||
"time": "any",
|
||||
"path": "assets/path/璃月-璃月港-老高.json",
|
||||
"_1d_foods": ["鱼肉"]
|
||||
"_1d_foods": ["鱼肉","鱼肉2"],
|
||||
"tags": ["璃月"]
|
||||
},
|
||||
"阿桂": {
|
||||
"name": "阿桂",
|
||||
@@ -62,7 +69,8 @@
|
||||
"page": 2,
|
||||
"time": "night",
|
||||
"path": "assets/path/璃月-璃月港-阿桂.json",
|
||||
"_3d_foods": ["清心", "琉璃袋"]
|
||||
"_3d_foods": ["清心", "琉璃袋"],
|
||||
"tags": ["璃月"]
|
||||
},
|
||||
"菲尔戈黛特": {
|
||||
"name": "菲尔戈黛特",
|
||||
@@ -70,7 +78,8 @@
|
||||
"page": 2,
|
||||
"time": "any",
|
||||
"path": "assets/path/璃月-望舒客栈-菲尔戈黛特.json",
|
||||
"_3d_foods": ["松茸", "琉璃袋"]
|
||||
"_3d_foods": ["松茸", "琉璃袋"],
|
||||
"tags": ["璃月"]
|
||||
},
|
||||
"丰泰": {
|
||||
"name": "丰泰",
|
||||
@@ -79,7 +88,8 @@
|
||||
"time": "any",
|
||||
"path": "assets/path/璃月-遗珑埠-丰泰.json",
|
||||
"_3d_foods": ["沉玉仙茗", "琉璃袋", "绝云椒椒"],
|
||||
"_7d_foods": ["蟹黃"]
|
||||
"_7d_foods": ["蟹黄"],
|
||||
"tags": ["璃月"]
|
||||
},
|
||||
"连芳": {
|
||||
"name": "连芳",
|
||||
@@ -87,7 +97,8 @@
|
||||
"page": 2,
|
||||
"time": "any",
|
||||
"path": "assets/path/璃月-遗珑埠-连芳.json",
|
||||
"_3d_foods": ["沉玉仙茗"]
|
||||
"_3d_foods": ["沉玉仙茗"],
|
||||
"tags": ["璃月"]
|
||||
},
|
||||
"Obata": {
|
||||
"name": "小畑",
|
||||
@@ -95,7 +106,8 @@
|
||||
"page": 1,
|
||||
"time": "any",
|
||||
"path": "assets/path/稻妻-离岛-小畑.json",
|
||||
"_1d_foods": ["螃蟹","鱼肉", "虾仁"]
|
||||
"_1d_foods": ["螃蟹","鱼肉", "虾仁"],
|
||||
"tags": ["稻妻"]
|
||||
},
|
||||
"Aoi": {
|
||||
"name": "葵",
|
||||
@@ -103,7 +115,8 @@
|
||||
"page": 2,
|
||||
"time": "any",
|
||||
"path": "assets/path/稻妻-稻妻城-葵.json",
|
||||
"_1d_foods": ["洋葱", "牛奶", "卷心菜", "土豆", "小麦", "稻米", "虾仁", "豆腐", "盐", "胡椒", "番茄"]
|
||||
"_1d_foods": ["洋葱", "牛奶", "卷心菜", "土豆", "小麦", "稻米", "虾仁", "豆腐", "盐", "胡椒", "番茄"],
|
||||
"tags": ["稻妻"]
|
||||
},
|
||||
"ShimuraKanbei": {
|
||||
"name": "志村勘兵卫",
|
||||
@@ -112,7 +125,8 @@
|
||||
"time": "any",
|
||||
"path": "assets/path/稻妻-稻妻城-志村勘兵卫.json",
|
||||
"_1d_foods": ["鱼肉", "螃蟹"],
|
||||
"_3d_foods": ["堇瓜"]
|
||||
"_3d_foods": ["堇瓜"],
|
||||
"tags": ["稻妻"]
|
||||
},
|
||||
"清子": {
|
||||
"name": "清子",
|
||||
@@ -120,7 +134,8 @@
|
||||
"page": 1,
|
||||
"time": "any",
|
||||
"path": "assets/path/稻妻-海祇岛-清子.json",
|
||||
"_7d_foods": ["牛奶", "番茄", "土豆", "小麦", "豆腐"]
|
||||
"_7d_foods": ["牛奶", "番茄", "土豆", "小麦", "豆腐"],
|
||||
"tags": ["稻妻"]
|
||||
},
|
||||
"Zhute": {
|
||||
"name": "朱特",
|
||||
@@ -128,7 +143,8 @@
|
||||
"page": 1,
|
||||
"time": "any",
|
||||
"path": "assets/path/须弥-须弥城-朱特.json",
|
||||
"_3d_foods": ["帕蒂沙兰"]
|
||||
"_3d_foods": ["帕蒂沙兰"],
|
||||
"tags": ["须弥"]
|
||||
},
|
||||
"Butrus": {
|
||||
"name": "布特罗斯",
|
||||
@@ -136,8 +152,8 @@
|
||||
"page": 1,
|
||||
"time": "any",
|
||||
"path": "assets/path/须弥-奥摩斯港-布特罗斯.json",
|
||||
"_1d_foods": ["鱼肉", "螃蟹", "虾仁"]
|
||||
|
||||
"_1d_foods": ["鱼肉", "螃蟹", "虾仁"],
|
||||
"tags": ["须弥"]
|
||||
},
|
||||
"Pam": {
|
||||
"name": "珀姆",
|
||||
@@ -145,8 +161,8 @@
|
||||
"page": 1,
|
||||
"time": "any",
|
||||
"path": "assets/path/须弥-须弥城-珀姆.json",
|
||||
"_1d_foods": ["鱼肉", "螃蟹", "虾仁"]
|
||||
|
||||
"_1d_foods": ["鱼肉", "螃蟹", "虾仁"],
|
||||
"tags": ["须弥"]
|
||||
},
|
||||
"Hamawi": {
|
||||
"name": "哈马维",
|
||||
@@ -154,7 +170,8 @@
|
||||
"page": 2,
|
||||
"time": "any",
|
||||
"path": "assets/path/须弥-须弥城-哈马维.json",
|
||||
"_1d_foods": ["洋葱", "牛奶", "卷心菜", "土豆", "小麦", "稻米", "虾仁", "豆腐", "盐", "胡椒", "番茄"]
|
||||
"_1d_foods": ["洋葱", "牛奶", "卷心菜", "土豆", "小麦", "稻米", "虾仁", "豆腐", "盐", "胡椒", "番茄"],
|
||||
"tags": ["须弥"]
|
||||
},
|
||||
"Lambad": {
|
||||
"name": "兰巴德",
|
||||
@@ -162,7 +179,8 @@
|
||||
"page": 3,
|
||||
"time": "any",
|
||||
"path": "assets/path/须弥-须弥城-兰巴德酒馆-兰巴德.json",
|
||||
"_1d_foods": ["鱼肉", "螃蟹"]
|
||||
"_1d_foods": ["鱼肉", "螃蟹"],
|
||||
"tags": ["须弥","独立地图"]
|
||||
},
|
||||
"Enteka": {
|
||||
"name": "恩忒卡",
|
||||
@@ -170,16 +188,17 @@
|
||||
"page": 2,
|
||||
"time": "any",
|
||||
"path": "assets/path/须弥-须弥城-普斯帕咖啡馆-恩忒卡.json",
|
||||
"_1d_foods": ["咖啡豆"]
|
||||
}
|
||||
,
|
||||
"_1d_foods": ["咖啡豆"],
|
||||
"tags": ["须弥","独立地图"]
|
||||
},
|
||||
"Azalai": {
|
||||
"name": "阿扎莱",
|
||||
"enable": true,
|
||||
"page": 2,
|
||||
"time": "night",
|
||||
"path": "assets/path/须弥-阿如村-阿扎莱.json",
|
||||
"_1d_foods": ["鱼肉", "兽肉", "秃秃豆"]
|
||||
"_1d_foods": ["鱼肉", "兽肉", "秃秃豆"],
|
||||
"tags": ["须弥", "黑心商人"]
|
||||
},
|
||||
"巴巴克": {
|
||||
"name": "巴巴克",
|
||||
@@ -187,7 +206,8 @@
|
||||
"page": 1,
|
||||
"time": "any",
|
||||
"path": "assets/path/须弥-奥摩斯港-巴巴克.json",
|
||||
"_3d_foods": ["清心", "琉璃袋"]
|
||||
"_3d_foods": ["清心", "琉璃袋"],
|
||||
"tags": ["须弥"]
|
||||
},
|
||||
"Boucicaut": {
|
||||
"name": "布希柯",
|
||||
@@ -195,7 +215,8 @@
|
||||
"page": 2,
|
||||
"time": "any",
|
||||
"path": "assets/path/枫丹-枫丹廷-布希柯.json",
|
||||
"_1d_foods": ["枫达", "洋葱", "牛奶", "卷心菜", "土豆", "小麦", "秃秃豆", "杏仁", "发酵果实汁", "盐", "胡椒", "番茄"]
|
||||
"_1d_foods": ["枫达", "洋葱", "牛奶", "卷心菜", "土豆", "小麦", "秃秃豆", "杏仁", "发酵果实汁", "盐", "胡椒", "番茄"],
|
||||
"tags": ["枫丹"]
|
||||
},
|
||||
"Arouet": {
|
||||
"name": "阿鲁埃",
|
||||
@@ -203,7 +224,8 @@
|
||||
"page": 2,
|
||||
"time": "any",
|
||||
"path": "assets/path/枫丹-枫丹廷-阿鲁埃.json",
|
||||
"_1d_foods": ["咖啡豆", "枫达"]
|
||||
"_1d_foods": ["咖啡豆", "枫达"],
|
||||
"tags": ["枫丹"]
|
||||
},
|
||||
"Antman": {
|
||||
"name": "安特曼",
|
||||
@@ -212,7 +234,8 @@
|
||||
"time": "any",
|
||||
"path": "assets/path/枫丹-白淞镇-安特曼.json",
|
||||
"_1d_foods": ["鱼肉", "螃蟹"],
|
||||
"_3d_foods": ["海露花", "汐藻"]
|
||||
"_3d_foods": ["海露花", "汐藻"],
|
||||
"tags": ["枫丹"]
|
||||
},
|
||||
"皮托": {
|
||||
"name": "皮托",
|
||||
@@ -221,7 +244,8 @@
|
||||
"time": "any",
|
||||
"path": "assets/path/枫丹-锈舵酒馆-皮托.json",
|
||||
"_1d_foods": ["牛奶"],
|
||||
"_7d_foods": ["培根", "火腿", "香肠", "奶酪"]
|
||||
"_7d_foods": ["培根", "火腿", "香肠", "奶酪"],
|
||||
"tags": ["枫丹", "黑心商人"]
|
||||
},
|
||||
"钦特利": {
|
||||
"name": "钦特利",
|
||||
@@ -229,7 +253,8 @@
|
||||
"page": 1,
|
||||
"time": "any",
|
||||
"path": "assets/path/纳塔-圣火竞技场-钦特利.json",
|
||||
"_3d_foods": ["青蜜莓", "苦种"]
|
||||
"_3d_foods": ["青蜜莓", "苦种"],
|
||||
"tags": ["纳塔"]
|
||||
},
|
||||
"夏安卡": {
|
||||
"name": "夏安卡",
|
||||
@@ -237,7 +262,8 @@
|
||||
"page": 3,
|
||||
"time": "any",
|
||||
"path": "assets/path/纳塔-圣火竞技场-夏安卡.json",
|
||||
"_7d_foods": ["蟹黃"]
|
||||
"_7d_foods": ["蟹黄"],
|
||||
"tags": ["纳塔"]
|
||||
},
|
||||
"Bunama": {
|
||||
"name": "布纳马",
|
||||
@@ -245,18 +271,18 @@
|
||||
"page": 2,
|
||||
"time": "any",
|
||||
"path": "assets/path/纳塔-圣火竞技场-布纳马.json",
|
||||
"_1d_foods": ["盐", "胡椒", "小麦", "洋葱", "牛奶", "番茄", "卷心菜", "土豆", "秃秃豆"]
|
||||
}
|
||||
,
|
||||
"_1d_foods": ["盐", "胡椒", "小麦", "洋葱", "牛奶", "番茄", "卷心菜", "土豆", "秃秃豆"],
|
||||
"tags": ["纳塔"]
|
||||
},
|
||||
"采若": {
|
||||
"name": "采若",
|
||||
"enable": true,
|
||||
"page": 3,
|
||||
"time": "any",
|
||||
"path": "assets/path/挪德卡莱-那夏镇-采若.json",
|
||||
"_1d_foods": ["黑麦", "盐", "胡椒", "洋葱", "牛奶", "番茄", "卷心菜", "土豆", "小麦"]
|
||||
}
|
||||
,
|
||||
"_1d_foods": ["黑麦", "盐", "胡椒", "洋葱", "牛奶", "番茄", "卷心菜", "土豆", "小麦"],
|
||||
"tags": ["挪德卡莱"]
|
||||
},
|
||||
"科菲策": {
|
||||
"name": "科菲策",
|
||||
"enable": true,
|
||||
@@ -264,8 +290,7 @@
|
||||
"time": "any",
|
||||
"path": "assets/path/挪德卡莱-皮拉米达城-科菲策.json",
|
||||
"_1d_foods": ["牛奶", "咖啡豆"],
|
||||
"_3d_foods": ["微光角菌", "琉鳞石"]
|
||||
|
||||
"_3d_foods": ["微光角菌", "琉鳞石"],
|
||||
"tags": ["挪德卡莱"]
|
||||
}
|
||||
|
||||
}
|
||||
|
Before Width: | Height: | Size: 9.7 KiB After Width: | Height: | Size: 9.7 KiB |
|
Before Width: | Height: | Size: 6.5 KiB After Width: | Height: | Size: 6.5 KiB |
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 9.5 KiB After Width: | Height: | Size: 9.5 KiB |
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 9.5 KiB After Width: | Height: | Size: 9.5 KiB |
|
Before Width: | Height: | Size: 8.9 KiB After Width: | Height: | Size: 8.9 KiB |
|
Before Width: | Height: | Size: 8.2 KiB After Width: | Height: | Size: 8.2 KiB |
|
Before Width: | Height: | Size: 9.6 KiB After Width: | Height: | Size: 9.6 KiB |
|
Before Width: | Height: | Size: 7.4 KiB After Width: | Height: | Size: 7.4 KiB |
|
Before Width: | Height: | Size: 7.4 KiB After Width: | Height: | Size: 7.4 KiB |
|
Before Width: | Height: | Size: 9.6 KiB After Width: | Height: | Size: 9.6 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 9.6 KiB After Width: | Height: | Size: 9.6 KiB |
|
Before Width: | Height: | Size: 7.4 KiB After Width: | Height: | Size: 7.4 KiB |
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 9.6 KiB After Width: | Height: | Size: 9.6 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 7.8 KiB After Width: | Height: | Size: 7.8 KiB |
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 8.2 KiB After Width: | Height: | Size: 8.2 KiB |
|
Before Width: | Height: | Size: 8.8 KiB After Width: | Height: | Size: 8.8 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 9.2 KiB After Width: | Height: | Size: 9.2 KiB |
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 9.5 KiB After Width: | Height: | Size: 9.5 KiB |
|
Before Width: | Height: | Size: 9.2 KiB After Width: | Height: | Size: 9.2 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 7.8 KiB After Width: | Height: | Size: 7.8 KiB |
|
Before Width: | Height: | Size: 7.2 KiB After Width: | Height: | Size: 7.2 KiB |
|
Before Width: | Height: | Size: 8.5 KiB After Width: | Height: | Size: 8.5 KiB |
|
Before Width: | Height: | Size: 9.9 KiB After Width: | Height: | Size: 9.9 KiB |
|
Before Width: | Height: | Size: 8.5 KiB After Width: | Height: | Size: 8.5 KiB |
@@ -126,10 +126,10 @@ async function loadExternalData() {
|
||||
foodsData = JSON.parse(foodsContent);
|
||||
logConditional(`已加载商品数据: ${Object.keys(foodsData).length} 种商品`);
|
||||
|
||||
// 加载NPC数据
|
||||
// 加载商人数据
|
||||
const npcsContent = await file.readText("assets/data/npcs.json");
|
||||
npcData = JSON.parse(npcsContent);
|
||||
logConditional(`已加载NPC数据: ${Object.keys(npcData).length} 个NPC`);
|
||||
logConditional(`已加载商人数据: ${Object.keys(npcData).length} 个商人`);
|
||||
|
||||
// 解析用户要购买的商品列表
|
||||
const foodsInput = (settings.foodsToBuy || "").trim();
|
||||
@@ -234,10 +234,16 @@ let userName = settings.userName || "默认账户";
|
||||
const ignoreRecords = settings.ignoreRecords || false;
|
||||
const recordDebug = settings.recordDebug || false;
|
||||
|
||||
// 解析禁用的NPC列表
|
||||
// 解析禁用的商人列表
|
||||
const disabledNpcs = (settings.disabledNpcs || "").split(/\s+/).filter(npc => npc.trim() !== "");
|
||||
if (disabledNpcs.length > 0) {
|
||||
log.info(`已禁用NPC: ${disabledNpcs.join(", ")}`);
|
||||
log.info(`已禁用商人: ${disabledNpcs.join(", ")}`);
|
||||
}
|
||||
|
||||
// 解析禁用的标签列表
|
||||
const disabledTags = (settings.disabledTags || "").split(/\s+/).filter(tag => tag.trim() !== "");
|
||||
if (disabledTags.length > 0) {
|
||||
log.info(`已禁用标签: ${disabledTags.join(", ")}`);
|
||||
}
|
||||
|
||||
// 修改AKF设置处理
|
||||
@@ -283,7 +289,7 @@ async function ensureAccountDirectory(accountName) {
|
||||
}
|
||||
}
|
||||
|
||||
// ==================== 新增函数:读取NPC记录文件 ====================
|
||||
// ==================== 新增函数:读取商人记录文件 ====================
|
||||
async function loadNpcRecords() {
|
||||
const recordPath = getRecordPath(userName);
|
||||
try {
|
||||
@@ -297,7 +303,20 @@ async function loadNpcRecords() {
|
||||
return [];
|
||||
}
|
||||
|
||||
// ==================== 保存NPC记录 ====================
|
||||
// ==================== 辅助函数:从路径中提取显示名称 ====================
|
||||
function getDisplayNameFromPath(path) {
|
||||
try {
|
||||
// 从路径中提取文件名(不带.json扩展名)
|
||||
// 例如:assets/path/璃月-璃月港-阿桂.json → 璃月-璃月港-阿桂
|
||||
const fileName = path.split('/').pop(); // 获取最后一部分
|
||||
return fileName.replace('.json', ''); // 移除.json扩展名
|
||||
} catch (error) {
|
||||
// 如果解析失败,返回原始路径或默认值
|
||||
return path || "未知位置";
|
||||
}
|
||||
}
|
||||
|
||||
// ==================== 保存商人记录 ====================
|
||||
async function saveNpcRecords(records) {
|
||||
const recordPath = getRecordPath(userName);
|
||||
try {
|
||||
@@ -309,12 +328,12 @@ async function saveNpcRecords(records) {
|
||||
}
|
||||
}
|
||||
|
||||
// ==================== 获取NPC记录 ====================
|
||||
// ==================== 获取商人记录 ====================
|
||||
function getNpcRecord(records, npcName) {
|
||||
return records.find(record => record.npcname === npcName);
|
||||
}
|
||||
|
||||
// ==================== 更新NPC记录 ====================
|
||||
// ==================== 更新商人记录 ====================
|
||||
function updateNpcRecord(records, npcName, refreshType, purchasedItems) {
|
||||
// 如果没有购买任何商品,不更新记录
|
||||
if (!purchasedItems || purchasedItems.length === 0) {
|
||||
@@ -393,7 +412,7 @@ function updateNpcRecord(records, npcName, refreshType, purchasedItems) {
|
||||
return records;
|
||||
}
|
||||
|
||||
// ==================== 新增函数:计算基准日周期 ====================
|
||||
// ==================== 计算3天刷新商品基准日周期 ====================
|
||||
function getBasePeriod(currentDate) {
|
||||
// 基准时间:2025-08-08 20:00 UTC (对应2025-08-09 04:00 GMT+8)
|
||||
const baseTime = Date.UTC(2025, 7, 8, 20, 0, 0);
|
||||
@@ -797,19 +816,22 @@ async function spikChat(npcName) {
|
||||
}
|
||||
}
|
||||
|
||||
// 修改后的购买逻辑
|
||||
// 主要购买逻辑
|
||||
async function buyFoods(npcName, npcRecords, currentPeriod) {
|
||||
// 设置脚本环境的游戏分辨率和DPI缩放
|
||||
setGameMetrics(3840, 2160, 1.5);
|
||||
|
||||
// 获取NPC数据
|
||||
// 获取商人数据
|
||||
const npc = npcData[npcName];
|
||||
const npcRecord = getNpcRecord(npcRecords, npc.name);
|
||||
|
||||
// 获取显示名称
|
||||
const displayName = getDisplayNameFromPath(npc.path);
|
||||
|
||||
if (recordDebug) {
|
||||
log.info(`[调试] 开始处理NPC: ${npc.name}`);
|
||||
log.info(`[调试] 开始处理: ${displayName}`);
|
||||
if (npcRecord) {
|
||||
log.info(`[调试] NPC当前记录: 1d=${npcRecord["1d_time"] || "无"}, 3d=${npcRecord["3d_time"] || "无"}, 7d=${npcRecord["7d_time"] || "无"}`);
|
||||
log.info(`[调试] 当前记录: 1d=${npcRecord["1d_time"] || "无"}, 3d=${npcRecord["3d_time"] || "无"}, 7d=${npcRecord["7d_time"] || "无"}`);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -817,7 +839,7 @@ async function buyFoods(npcName, npcRecords, currentPeriod) {
|
||||
const foodsToBuy = shouldBuyFoods(npc, npcRecord, currentPeriod, ignoreRecords);
|
||||
|
||||
if (recordDebug) {
|
||||
log.info(`[调试] ${npc.name} 购买判断结果:`);
|
||||
log.info(`[调试] ${displayName} 购买判断结果:`);
|
||||
log.info(`[调试] 1天商品: ${foodsToBuy["1d"].join(", ")}`);
|
||||
log.info(`[调试] 3天商品: ${foodsToBuy["3d"].join(", ")}`);
|
||||
log.info(`[调试] 7天商品: ${foodsToBuy["7d"].join(", ")}`);
|
||||
@@ -830,7 +852,7 @@ async function buyFoods(npcName, npcRecords, currentPeriod) {
|
||||
if (foodsToBuy["7d"]) allFoodsToBuy.push(...foodsToBuy["7d"]);
|
||||
|
||||
if (allFoodsToBuy.length === 0) {
|
||||
logConditional(`${npc.name} 没有需要购买的商品`);
|
||||
logConditional(`${displayName} 没有需要购买的商品`);
|
||||
return {
|
||||
purchased: [],
|
||||
"1d": [],
|
||||
@@ -839,7 +861,7 @@ async function buyFoods(npcName, npcRecords, currentPeriod) {
|
||||
};
|
||||
}
|
||||
|
||||
logConditional(`${npc.name} 购买列表: ${allFoodsToBuy.join(", ")}`);
|
||||
logConditional(`${displayName} 购买列表: ${allFoodsToBuy.join(", ")}`);
|
||||
|
||||
let tempFoods = [...allFoodsToBuy];
|
||||
const purchasedFoods = [];
|
||||
@@ -951,9 +973,9 @@ async function buyFoods(npcName, npcRecords, currentPeriod) {
|
||||
}
|
||||
|
||||
if (purchasedFoods.length > 0) {
|
||||
log.info(`${npc.name} 购买完成,成功购买: ${purchasedFoods.join(", ")}`);
|
||||
log.info(`${displayName} 购买完成,成功购买: ${purchasedFoods.join(", ")}`);
|
||||
} else {
|
||||
logConditional(`${npc.name} 没有成功购买任何商品`);
|
||||
logConditional(`${displayName} 没有成功购买任何商品`);
|
||||
}
|
||||
|
||||
// 返回购买结果
|
||||
@@ -965,16 +987,27 @@ async function buyFoods(npcName, npcRecords, currentPeriod) {
|
||||
};
|
||||
}
|
||||
|
||||
// 修改后的初始化NPC商品
|
||||
// 初始化商人商品
|
||||
async function initNpcData(records) {
|
||||
for (let [key, npc] of Object.entries(npcData)) {
|
||||
// 检查是否在禁用列表中
|
||||
if (disabledNpcs.includes(npc.name)) {
|
||||
npc.enable = false;
|
||||
logConditional(`已禁用NPC: ${npc.name}`);
|
||||
const displayName = getDisplayNameFromPath(npc.path);
|
||||
logConditional(`已禁用: ${displayName}`);
|
||||
continue;
|
||||
}
|
||||
|
||||
// 检查是否通过标签禁用
|
||||
if (npc.tags && Array.isArray(npc.tags)) {
|
||||
const hasDisabledTag = npc.tags.some(tag => disabledTags.includes(tag));
|
||||
if (hasDisabledTag) {
|
||||
npc.enable = false;
|
||||
logConditional(`按标签禁用NPC: ${npc.name} (标签: ${npc.tags.join(", ")})`);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
const npcRecord = getNpcRecord(records, npc.name);
|
||||
|
||||
// 判断是否需要强制刷新
|
||||
@@ -993,7 +1026,8 @@ async function initNpcData(records) {
|
||||
npc.enable = npc.enable && hasFoodsToBuy;
|
||||
|
||||
if (recordDebug && !npc.enable && hasFoodsToBuy) {
|
||||
log.info(`${npc.name} 有商品需要购买但NPC被禁用`);
|
||||
const displayName = getDisplayNameFromPath(npc.path);
|
||||
log.info(`${displayName} 有商品需要购买但商人被禁用`);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1033,7 +1067,7 @@ async function initRo() {
|
||||
|
||||
// ==================== 加载外部数据 ====================
|
||||
if (!await loadExternalData()) {
|
||||
log.error("商品或NPC数据加载失败,脚本终止");
|
||||
log.error("商品或商人数据加载失败,脚本终止");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1042,13 +1076,13 @@ async function initRo() {
|
||||
|
||||
logConditional("识别对象初始化完成");
|
||||
|
||||
// ==================== 加载NPC购买记录 ====================
|
||||
// ==================== 加载商人购买记录 ====================
|
||||
let npcRecords = await loadNpcRecords();
|
||||
|
||||
logConditional(`已加载 ${npcRecords.length} 个NPC的购买记录`);
|
||||
logConditional(`已加载 ${npcRecords.length} 个商人的购买记录`);
|
||||
|
||||
if (recordDebug && npcRecords.length > 0) {
|
||||
log.info("[调试] 当前NPC记录:");
|
||||
log.info("[调试] 当前商人记录:");
|
||||
npcRecords.forEach(record => {
|
||||
log.info(`[调试] ${record.npcname}:`);
|
||||
if (record["1d_time"]) log.info(`[调试] 1天刷新: ${record["1d_time"]}`);
|
||||
@@ -1057,14 +1091,14 @@ async function initRo() {
|
||||
});
|
||||
}
|
||||
|
||||
// ==================== 初始化NPC数据 ====================
|
||||
// ==================== 初始化商人数据 ====================
|
||||
await initNpcData(npcRecords);
|
||||
|
||||
logConditional("NPC数据初始化完成");
|
||||
logConditional("商人数据初始化完成");
|
||||
|
||||
// 统计启用的NPC数量
|
||||
// 统计启用的商人数量
|
||||
const enabledNpcs = Object.values(npcData).filter(npc => npc.enable);
|
||||
log.info(`本次执行将处理 ${enabledNpcs.length} 个NPC`);
|
||||
log.info(`本次执行将处理 ${enabledNpcs.length} 个商人`);
|
||||
|
||||
// ==================== 自动购买 ====================
|
||||
// 获取当前时间和周期
|
||||
@@ -1080,13 +1114,15 @@ async function initRo() {
|
||||
for (let [key, npc] of Object.entries(npcData)) {
|
||||
if (npc.enable) {
|
||||
npcIndex++;
|
||||
// 获取显示名称(从路径中提取)
|
||||
const displayName = getDisplayNameFromPath(npc.path);
|
||||
log.info(`当前进度:${npcIndex}/${enabledNpcs.length}`);
|
||||
log.info(`开始前往NPC ${npc.name} 购买`);
|
||||
log.info(`开始前往: ${displayName}`); // 修改这里
|
||||
|
||||
await genshin.returnMainUi();
|
||||
|
||||
// 地图追踪开始
|
||||
await fakeLog(npc.name, false, true, 0);
|
||||
await fakeLog(displayName, false, true, 0);
|
||||
|
||||
// 设置游戏时间
|
||||
if (npc.time === "night") {
|
||||
@@ -1104,20 +1140,20 @@ async function initRo() {
|
||||
|
||||
// 返回主界面
|
||||
await genshin.returnMainUi();
|
||||
log.info(`完成购买NPC: ${npc.name}`);
|
||||
log.info(`完成: ${displayName}`);
|
||||
|
||||
// 伪造日志任务结束
|
||||
await fakeLog(npc.name, false, false, 0);
|
||||
await fakeLog(displayName, false, false, 0);
|
||||
|
||||
// NPC之间等待
|
||||
// 商人之间等待
|
||||
if (npcIndex < enabledNpcs.length) {
|
||||
logConditional("等待2秒后处理下一个NPC");
|
||||
await sleep(2000);
|
||||
logConditional("等待1.5秒后处理下一个商人");
|
||||
await sleep(1500);
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (recordDebug) {
|
||||
log.info(`[调试] 跳过未启用的NPC: ${npc.name}`);
|
||||
log.info(`[调试] 跳过未启用的商人: ${npc.name}`);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"manifest_version": 1,
|
||||
"name": "自动购买每天&3天&每周刷新商品",
|
||||
"version": "3.0.0",
|
||||
"version": "3.1.0",
|
||||
"description": "自动购买每天&3天&每周刷新商品\n每天刷新商品:自动购买商品\n3天刷新商品:未到刷新日不购买该商品\n每周刷新商品:可指定每周购买商品",
|
||||
"authors": [
|
||||
{
|
||||
@@ -8,7 +8,7 @@
|
||||
{
|
||||
"name": "foodsToBuy",
|
||||
"type": "input-text",
|
||||
"label": "要购买的商品(多个商品用空格分隔)\n示例:\"小麦 黑麦\"\n支援的 商人与商品详细 请前往 README.md 查看",
|
||||
"label": "要购买的商品(多个商品用空格分隔)\n示例:\"小麦 黑麦\"\n\n支援的 商人与商品详细 请前往 README.md 查看\n建议直接复制商品名称贴上输入栏",
|
||||
"default": "小麦 黑麦"
|
||||
},
|
||||
{
|
||||
@@ -33,6 +33,12 @@
|
||||
"label": "要禁用的NPC\n(多个NPC用空格分隔)\n示例:阿扎莱 皮托",
|
||||
"default": "阿扎莱 皮托"
|
||||
},
|
||||
{
|
||||
"name": "disabledTags",
|
||||
"type": "input-text",
|
||||
"label": "禁用标签\n(多个标签以空格分隔,如:黑心商人 挪德卡莱)",
|
||||
"default": ""
|
||||
},
|
||||
{
|
||||
"name": "ignoreRecords",
|
||||
"type": "checkbox",
|
||||
@@ -5,16 +5,16 @@
|
||||
- **查看`assets/data/foods.json`**:所有商品的中文名称
|
||||
|
||||
### 商人信息总览
|
||||
| 所在地 | 商人名 | 每天刷新商品 | 3天刷新商品 | 每周刷新商品 | 备注 |
|
||||
| 所在地 | 商人名 | 每天刷新商品 | 3天刷新商品 | 每周刷新商品 | 标签 |
|
||||
|--------|--------|-------------|------------|-------------|------|
|
||||
| 蒙德-清泉镇 | 神奇的霍普金斯 | 圣水 | - | - | 白天出现 |
|
||||
| 蒙德-蒙德城 | 布兰琪 | 盐、胡椒、洋葱、牛奶、番茄、卷心菜、土豆、小麦 | - | - | 晚上出现 |
|
||||
| 蒙德-清泉镇 | 神奇的霍普金斯 | 圣水 | - | - | |
|
||||
| 蒙德-蒙德城 | 布兰琪 | 盐、胡椒、洋葱、牛奶、番茄、卷心菜、土豆、小麦 | - | - | |
|
||||
| 蒙德-蒙德城 | 莎拉 | - | - | 蟹黄 | - |
|
||||
| 璃月-璃月港 | 东升 | 洋葱、牛奶、卷心菜、土豆、小麦、稻米、虾仁、豆腐、杏仁、盐、胡椒、番茄 | - | - | |
|
||||
| 璃月-璃月港 | 卯师父 | 鱼肉、螃蟹 | 胡萝卜、松茸、绝云椒椒 | - | |
|
||||
| 璃月-璃月港 | 老孙 | 鱼肉、螃蟹、虾仁 | - | - | 白天出现 |
|
||||
| 璃月-璃月港 | 老高 | 鱼肉 | - | - | |
|
||||
| 璃月-璃月港 | 阿桂 | - | 清心、琉璃袋 | - | 晚上出现 |
|
||||
| 璃月-璃月港 | 老孙 | 鱼肉、螃蟹、虾仁 | - | - | |
|
||||
| 璃月-璃月港 | 老高 | 鱼肉、鱼肉2 | - | - | |
|
||||
| 璃月-璃月港 | 阿桂 | - | 清心、琉璃袋 | - | |
|
||||
| 璃月-望舒客栈 | 菲尔戈黛特 | - | 松茸、琉璃袋 | - | |
|
||||
| 璃月-遗珑埠 | 丰泰 | - | 沉玉仙茗、琉璃袋、绝云椒椒 | 蟹黄 | |
|
||||
| 璃月-遗珑埠 | 连芳 | - | 沉玉仙茗 | - | |
|
||||
@@ -28,14 +28,19 @@
|
||||
| 须弥-须弥城 | 哈马维 | 洋葱、牛奶、卷心菜、土豆、小麦、稻米、虾仁、豆腐、盐、胡椒、番茄 | - | - | |
|
||||
| 须弥-须弥城 | 兰巴德 | 鱼肉、螃蟹 | - | - | 独立地图 |
|
||||
| 须弥-须弥城 | 恩忒卡 | 咖啡豆 | - | - | 独立地图 |
|
||||
| 须弥-阿如村 | 阿扎莱 | 鱼肉、兽肉、秃秃豆 | - | - | 晚上出现 |
|
||||
| 须弥-阿如村 | 阿扎莱 | 鱼肉、兽肉、秃秃豆 | - | - | 黑心商人 |
|
||||
| 须弥-奥摩斯港 | 巴巴克 | - | 清心、琉璃袋 | - | |
|
||||
| 枫丹-枫丹廷 | 布希柯 | 枫达、洋葱、牛奶、卷心菜、土豆、小麦、秃秃豆、杏仁、发酵果实汁、盐、胡椒、番茄 | - | - | |
|
||||
| 枫丹-枫丹廷 | 阿鲁埃 | 咖啡豆、枫达 | - | - | |
|
||||
| 枫丹-白淞镇 | 安特曼 | 鱼肉、螃蟹 | 海露花、汐藻 | - | |
|
||||
| 枫丹-锈舵酒馆 | 皮托 | 牛奶 | - | 培根、火腿、香肠、奶酪 | |
|
||||
| 枫丹-锈舵酒馆 | 皮托 | 牛奶 | - | 培根、火腿、香肠、奶酪 | 黑心商人 |
|
||||
| 纳塔-圣火竞技场 | 钦特利 | - | 青蜜莓、苦种 | - | |
|
||||
| 纳塔-圣火竞技场 | 夏安卡 | - | - | 蟹黄 | |
|
||||
| 纳塔-圣火竞技场 | 布纳马 | 盐、胡椒、小麦、洋葱、牛奶、番茄、卷心菜、土豆、秃秃豆 | - | - | |
|
||||
| 挪德卡莱-那夏镇 | 采若 | 黑麦、盐、胡椒、洋葱、牛奶、番茄、卷心菜、土豆、小麦 | - | - | |
|
||||
| 挪德卡莱-皮拉米达城 | 科菲策 | 牛奶、咖啡豆 | 微光角菌、琉鳞石 | - | |
|
||||
| 挪德卡莱-皮拉米达城 | 科菲策 | 牛奶、咖啡豆 | 微光角菌、琉鳞石 | - | 黑心商人 |
|
||||
|
||||
- 独立地图:指需要进入独立空间的特殊地图,这些地图部份路径无法使用地图追踪功能
|
||||
- 黑心商人:指没有折扣的商人,价格较贵的商人
|
||||
|
||||
### **标签系统尚未完全添加,欢迎补充标签**
|
||||
@@ -1,36 +0,0 @@
|
||||
商人信息表
|
||||
|
||||
| 所在地 | 商人名 | 每天刷新商品 | 3天刷新商品 | 每周刷新商品 | 备注 |
|
||||
|--------|--------|-------------|------------|-------------|------|
|
||||
| 蒙德-清泉镇 | 神奇的霍普金斯 | 圣水 | - | - | 白天出现 |
|
||||
| 蒙德-蒙德城 | 布兰琪 | 盐、胡椒、洋葱、牛奶、番茄、卷心菜、土豆、小麦 | - | - | 晚上出现 |
|
||||
| 蒙德-蒙德城 | 莎拉 | - | - | 蟹黄 | - |
|
||||
| 璃月-璃月港 | 东升 | 洋葱、牛奶、卷心菜、土豆、小麦、稻米、虾仁、豆腐、杏仁、盐、胡椒、番茄 | - | - | |
|
||||
| 璃月-璃月港 | 卯师父 | 鱼肉、螃蟹 | 胡萝卜、松茸、绝云椒椒 | - | |
|
||||
| 璃月-璃月港 | 老孙 | 鱼肉、螃蟹、虾仁 | - | - | 白天出现 |
|
||||
| 璃月-璃月港 | 老高 | 鱼肉 | - | - | |
|
||||
| 璃月-璃月港 | 阿桂 | - | 清心、琉璃袋 | - | 晚上出现 |
|
||||
| 璃月-望舒客栈 | 菲尔戈黛特 | - | 松茸、琉璃袋 | - | |
|
||||
| 璃月-遗珑埠 | 丰泰 | - | 沉玉仙茗、琉璃袋、绝云椒椒 | 蟹黄 | |
|
||||
| 璃月-遗珑埠 | 连芳 | - | 沉玉仙茗 | - | |
|
||||
| 稻妻-离岛 | 小畑 | 螃蟹、鱼肉、虾仁 | - | - | |
|
||||
| 稻妻-稻妻城 | 葵 | 洋葱、牛奶、卷心菜、土豆、小麦、稻米、虾仁、豆腐、盐、胡椒、番茄 | - | - | |
|
||||
| 稻妻-稻妻城 | 志村勘兵卫 | 鱼肉、螃蟹 | 堇瓜 | - | |
|
||||
| 稻妻-海祇岛 | 清子 | - | - | 牛奶、番茄、土豆、小麦、豆腐 | |
|
||||
| 须弥-须弥城 | 朱特 | - | 帕蒂沙兰 | - | |
|
||||
| 须弥-奥摩斯港 | 布特罗斯 | 鱼肉、螃蟹、虾仁 | - | - | |
|
||||
| 须弥-须弥城 | 珀姆 | 鱼肉、螃蟹、虾仁 | - | - | |
|
||||
| 须弥-须弥城 | 哈马维 | 洋葱、牛奶、卷心菜、土豆、小麦、稻米、虾仁、豆腐、盐、胡椒、番茄 | - | - | |
|
||||
| 须弥-须弥城 | 兰巴德 | 鱼肉、螃蟹 | - | - | 独立地图 |
|
||||
| 须弥-须弥城 | 恩忒卡 | 咖啡豆 | - | - | 独立地图 |
|
||||
| 须弥-阿如村 | 阿扎莱 | 鱼肉、兽肉、秃秃豆 | - | - | 晚上出现 |
|
||||
| 须弥-奥摩斯港 | 巴巴克 | - | 清心、琉璃袋 | - | |
|
||||
| 枫丹-枫丹廷 | 布希柯 | 枫达、洋葱、牛奶、卷心菜、土豆、小麦、秃秃豆、杏仁、发酵果实汁、盐、胡椒、番茄 | - | - | |
|
||||
| 枫丹-枫丹廷 | 阿鲁埃 | 咖啡豆、枫达 | - | - | |
|
||||
| 枫丹-白淞镇 | 安特曼 | 鱼肉、螃蟹 | 海露花、汐藻 | - | |
|
||||
| 枫丹-锈舵酒馆 | 皮托 | 牛奶 | - | 培根、火腿、香肠、奶酪 | |
|
||||
| 纳塔-圣火竞技场 | 钦特利 | - | 青蜜莓、苦种 | - | |
|
||||
| 纳塔-圣火竞技场 | 夏安卡 | - | - | 蟹黄 | |
|
||||
| 纳塔-圣火竞技场 | 布纳马 | 盐、胡椒、小麦、洋葱、牛奶、番茄、卷心菜、土豆、秃秃豆 | - | - | |
|
||||
| 挪德卡莱-那夏镇 | 采若 | 黑麦、盐、胡椒、洋葱、牛奶、番茄、卷心菜、土豆、小麦 | - | - | |
|
||||
| 挪德卡莱-皮拉米达城 | 科菲策 | 牛奶、咖啡豆 | 微光角菌、琉鳞石 | - | |
|
||||