Compare commits

...

14 Commits

Author SHA1 Message Date
MisakaAldrich
54a964427c update repo.json
Some checks failed
Build repo.json / build (18.x) (push) Has been cancelled
Build repo.json / upload (push) Has been cancelled
2025-07-04 16:53:28 +00:00
起个名字好难
0fc0901766 feat: 处理脚本独立作者信息 2025-07-05 00:52:46 +08:00
起个名字好难
ac72daa9e3 fix: manifest.json 2025-07-05 00:52:01 +08:00
MisakaAldrich
c4f6b438c2 update repo.json 2025-07-04 16:27:44 +00:00
kaedelcb
2478e5c122 v.3.2版本 全自动枫丹地脉花 20250705 (#1275)
### v.3.2版本:20250705

- **新功能**:
1. 新增默认使用开冒险之证寻找地脉花,比之前更稳定。
2. 新增识别同一线路上的两种地脉花,绕过执行非目标地脉花。
3. 新增死亡检测,死亡后自动恢复后继续执行。

- **优化**:
4. 优化JS配置显示。
5. 优化线路2第五朵花的特殊处理,解决开花和战斗区域太远的问题。
6. 优化设定默认使用异步战斗。
7. 优化领奖速度。
2025-07-05 00:27:26 +08:00
MisakaAldrich
387dc4b34e update repo.json 2025-07-04 16:25:30 +00:00
起个名字好难
6ca25eaaa2 fix: 补充manifest.json作者信息 2025-07-05 00:25:10 +08:00
MisakaAldrich
b12263e209 update repo.json 2025-07-04 15:19:50 +00:00
起个名字好难
0e5f57c534 fix typos 2025-07-04 23:19:11 +08:00
this-Fish
50363333e4 地圖追蹤 : 魚肉 路徑優化 (#1271)
* Delete repo/pathing/食材与炼金/鱼肉 directory

* 地圖追蹤 : 魚肉 路徑優化

魚06 優化芙芙有機會開不出E問題
魚08 優化進入稻妻主城地下方式
魚10優化下落方式

* 自动修复 JSON 格式和版本号 [ci skip]

* Update 06-鱼肉-璃月-沉玉谷翘英庄-5.json

補充作者信息

* Update 10-鱼肉-稻妻-九条阵屋右-3.json

補充作者信息

---------

Co-authored-by: GitHub Actions Bot <actions@github.com>
2025-07-04 23:15:30 +08:00
MisakaAldrich
a88bbcd43e update repo.json 2025-07-04 15:15:02 +00:00
起个名字好难的喵
07ac05ecc1 fix: 补充manifest.json作者信息 (#1274) 2025-07-04 23:14:44 +08:00
MisakaAldrich
e2e6da476a update repo.json 2025-07-04 14:49:56 +00:00
起个名字好难的喵
87cde0596f fix: manifest.json格式 (#1273) 2025-07-04 22:49:39 +08:00
132 changed files with 1687 additions and 1042 deletions

37
build/author_config.json Normal file
View File

@@ -0,0 +1,37 @@
{
"rename": {
"起个名字好难": "起个名字好难的喵"
},
"links": {
"秋云": "https://github.com/physligl",
"起个名字好难的喵": "https://github.com/MisakaAldrich",
"火山": "https://github.com/RRRR623",
"mno": "https://github.com/Bedrockx",
"汐": "https://github.com/jiegedabaobei",
"Tool_tingsu": "https://github.com/Tooltingsu",
"吉吉喵": "https://github.com/JJMdzh",
"曦": "https://github.com/cx05121",
"ddaodan": "https://github.com/ddaodan",
"LCB-茶包": "https://github.com/kaedelcb",
"蜜柑魚": "https://github.com/this-Fish",
"彩虹QQ人": "https://github.com/KRdingsan",
"mfkvfhpdx": "https://github.com/mfkvfhpdx",
"提瓦特钓鱼玳师": "https://github.com/Hijiwos",
"柒叶子": "https://github.com/5117600049",
"不瘦五十斤不改名": "https://github.com/PanZic",
"½": "https://github.com/Traveler07",
"Patrick-Ze (AyakaMain)": "https://github.com/Patrick-Ze",
"风埠": "https://github.com/jhkif",
"jbcaaa": "https://github.com/jbcaaa",
"johsang": "https://github.com/johsang",
"寒烟": "https://github.com/214-hanyan",
"灰林鸮": "https://github.com/Strix-nivicolum",
"Tim": "https://github.com/Limint",
"花见木易": "https://github.com/Flower-MUYi",
"无限不循环": "https://github.com/non-repeating001",
"wjdsg": "https://gitee.com/wangjian0327/auto-bgi",
"HZYgrandma": "https://github.com/HZYgrandma",
"huiyadanli": "https://github.com/huiyadanli",
"呱呱z": "https://github.com/jidingcai"
}
}

View File

@@ -1,132 +0,0 @@
import os
import sys
import json
# 指定要处理的文件夹路径
# folder_path = r"C:\Users\ThinkPadE16\Documents\GitHub\bettergi-scripts-list\repo\pathing" # 修改为你的路径,如 r"C:\Users\..." 或 "./jsons"
# 作者重命名映射:旧名 -> 新名
author_rename = {
"起个名字好难": "起个名字好难的喵",
}
# 作者映射表:用于自动填入 links
author_links = {
"秋云": "https://github.com/physligl",
"起个名字好难的喵": "https://github.com/MisakaAldrich",
"火山": "https://github.com/RRRR623",
"mno": "https://github.com/Bedrockx",
"": "https://github.com/jiegedabaobei",
"Tool_tingsu": "https://github.com/Tooltingsu",
"吉吉喵": "https://github.com/JJMdzh",
"": "https://github.com/cx05121",
"ddaodan": "https://github.com/ddaodan",
"LCB-茶包": "https://github.com/kaedelcb",
"蜜柑魚": "https://github.com/this-Fish",
"彩虹QQ人":"https://github.com/KRdingsan",
"mfkvfhpdx": "https://github.com/mfkvfhpdx",
"提瓦特钓鱼玳师": "https://github.com/Hijiwos",
"柒叶子": "https://github.com/5117600049",
"不瘦五十斤不改名": "https://github.com/PanZic",
"½": "https://github.com/Traveler07",
"Patrick-Ze (AyakaMain)": "https://github.com/Patrick-Ze",
"风埠": "https://github.com/jhkif",
"jbcaaa":"https://github.com/jbcaaa",
"johsang":"https://github.com/johsang",
"寒烟": "https://github.com/214-hanyan",
"灰林鸮": "https://github.com/Strix-nivicolum",
"Tim": "https://github.com/Limint",
"花见木易": "https://github.com/Flower-MUYi",
"无限不循环": "https://github.com/non-repeating001"
}
# 获取命令行参数
if len(sys.argv) < 2:
print("❌ 请提供要处理的目录路径,例如:")
print(" python authors.py D:\GitHub\bettergi-scripts-list\repo\pathing")
sys.exit(1)
folder_path = sys.argv[1]
if not os.path.exists(folder_path):
print(f"❌ 路径不存在:{folder_path}")
sys.exit(1)
print(f"🚀 启动,递归处理文件夹:{folder_path}")
count_total = 0
count_modified = 0
for root, dirs, files in os.walk(folder_path):
for filename in files:
if filename.endswith(".json"):
count_total += 1
file_path = os.path.join(root, filename)
print(f"\n🔍 正在处理:{file_path}")
try:
with open(file_path, "r", encoding="utf-8") as f:
data = json.load(f)
except Exception as e:
print(f"❌ JSON 解析失败:{e}")
continue
info = data.get("info")
if not isinstance(info, dict):
print("⚠️ 缺少 info 字段或格式错误")
continue
author_field = info.get("author")
if author_field is None:
print("⚠️ 缺少 author 字段")
continue
modified = False
# 字符串情况(含单人或 & 多人)
if isinstance(author_field, str):
names = [name.strip() for name in author_field.split("&")]
new_authors = []
for name in names:
# 重命名处理
new_name = author_rename.get(name, name)
author_obj = {"name": new_name}
if new_name in author_links:
author_obj["links"] = author_links[new_name]
new_authors.append(author_obj)
data["info"]["authors"] = new_authors
modified = True
print("✅ 替换字符串为结构化 authors")
# 已是结构化数组
elif isinstance(author_field, list):
for author_obj in author_field:
if not isinstance(author_obj, dict):
continue
name = author_obj.get("name")
if not name:
continue
# 重命名处理
new_name = author_rename.get(name, name)
if name != new_name:
author_obj["name"] = new_name
modified = True
print(f"📝 重命名作者:{name}{new_name}")
# 更新链接
if new_name in author_links:
new_link = author_links[new_name]
if author_obj.get("links") != new_link:
author_obj["links"] = new_link
modified = True
print(f"🔧 更新链接:{new_name}{new_link}")
if modified:
with open(file_path, "w", encoding="utf-8") as f:
json.dump(data, f, ensure_ascii=False, indent=2)
count_modified += 1
print("✅ 文件已保存")
else:
print("⏭️ 无需修改")
print(f"\n🎉 全部完成:共检查 {count_total} 个文件,修改了 {count_modified} 个文件")

112
build/js_authors.py Normal file
View File

@@ -0,0 +1,112 @@
import os
import sys
import json
# 获取配置文件路径(和脚本在同一目录)
script_dir = os.path.dirname(os.path.abspath(__file__))
config_path = os.path.join(script_dir, "author_config.json")
# 获取要处理的文件夹路径
if len(sys.argv) < 2:
print("❌ 用法python js_authors.py <JSON目录路径>")
sys.exit(1)
folder_path = sys.argv[1]
if not os.path.exists(folder_path):
print(f"❌ JSON目录不存在{folder_path}")
sys.exit(1)
if not os.path.exists(config_path):
print(f"❌ 配置文件不存在:{config_path}")
sys.exit(1)
# 加载配置
try:
with open(config_path, "r", encoding="utf-8") as f:
config = json.load(f)
except Exception as e:
print(f"❌ 配置文件加载失败:{e}")
sys.exit(1)
author_rename = config.get("rename", {})
author_links = config.get("links", {})
print(f"🚀 启动,处理目录:{folder_path}")
count_total = 0
count_modified = 0
for root, dirs, files in os.walk(folder_path):
for filename in files:
if filename.endswith("manifest.json"):
count_total += 1
file_path = os.path.join(root, filename)
print(f"\n🔍 处理文件:{file_path}")
try:
with open(file_path, "r", encoding="utf-8") as f:
data = json.load(f)
except Exception as e:
print(f"❌ 解析失败:{e}")
continue
# info = data.get("info")
# if not isinstance(info, dict):
# print("⚠️ 缺少 info 字段")
# continue
author_field = data.get("authors")
if author_field is None:
print("⚠️ 缺少 authors 字段")
continue
modified = False
# 字符串格式处理
if isinstance(author_field, str):
names = [name.strip() for name in author_field.split("&")]
new_authors = []
for name in names:
new_name = author_rename.get(name, name)
author_obj = {"name": new_name}
if new_name in author_links:
author_obj["links"] = author_links[new_name]
new_authors.append(author_obj)
data["authors"] = new_authors
modified = True
print("✅ 替换为结构化 author")
# 列表格式处理
elif isinstance(author_field, list):
for author_obj in author_field:
if not isinstance(author_obj, dict):
continue
name = author_obj.get("name")
if not name:
continue
new_name = author_rename.get(name, name)
if name != new_name:
author_obj["name"] = new_name
modified = True
print(f"📝 重命名:{name}{new_name}")
# 统一链接字段名
existing_link = author_obj.pop("link", None) or author_obj.pop("url", None) or author_obj.get("links")
if new_name in author_links:
if author_obj.get("links") != author_links[new_name]:
author_obj["links"] = author_links[new_name]
modified = True
print(f"🔧 更新链接:{new_name}{author_links[new_name]}")
elif "links" not in author_obj and existing_link:
author_obj["links"] = existing_link
modified = True
print(f"🔄 标准化已有链接字段为 links → {existing_link}")
if modified:
with open(file_path, "w", encoding="utf-8") as f:
json.dump(data, f, ensure_ascii=False, indent=2)
count_modified += 1
print("✅ 写入完成")
else:
print("⏭️ 无需修改")
print(f"\n🎉 处理完成:共 {count_total} 个 JSON 文件,修改了 {count_modified}")

112
build/pathing_authors.py Normal file
View File

@@ -0,0 +1,112 @@
import os
import sys
import json
# 获取配置文件路径(和脚本在同一目录)
script_dir = os.path.dirname(os.path.abspath(__file__))
config_path = os.path.join(script_dir, "author_config.json")
# 获取要处理的文件夹路径
if len(sys.argv) < 2:
print("❌ 用法python pathing_authors.py <JSON目录路径>")
sys.exit(1)
folder_path = sys.argv[1]
if not os.path.exists(folder_path):
print(f"❌ JSON目录不存在{folder_path}")
sys.exit(1)
if not os.path.exists(config_path):
print(f"❌ 配置文件不存在:{config_path}")
sys.exit(1)
# 加载配置
try:
with open(config_path, "r", encoding="utf-8") as f:
config = json.load(f)
except Exception as e:
print(f"❌ 配置文件加载失败:{e}")
sys.exit(1)
author_rename = config.get("rename", {})
author_links = config.get("links", {})
print(f"🚀 启动,处理目录:{folder_path}")
count_total = 0
count_modified = 0
for root, dirs, files in os.walk(folder_path):
for filename in files:
if filename.endswith(".json"):
count_total += 1
file_path = os.path.join(root, filename)
print(f"\n🔍 处理文件:{file_path}")
try:
with open(file_path, "r", encoding="utf-8") as f:
data = json.load(f)
except Exception as e:
print(f"❌ 解析失败:{e}")
continue
info = data.get("info")
if not isinstance(info, dict):
print("⚠️ 缺少 info 字段")
continue
author_field = info.get("author")
if author_field is None:
print("⚠️ 缺少 author 字段")
continue
modified = False
# 字符串格式处理
if isinstance(author_field, str):
names = [name.strip() for name in author_field.split("&")]
new_authors = []
for name in names:
new_name = author_rename.get(name, name)
author_obj = {"name": new_name}
if new_name in author_links:
author_obj["links"] = author_links[new_name]
new_authors.append(author_obj)
data["info"]["authors"] = new_authors
modified = True
print("✅ 替换为结构化 author")
# 列表格式处理
elif isinstance(author_field, list):
for author_obj in author_field:
if not isinstance(author_obj, dict):
continue
name = author_obj.get("name")
if not name:
continue
new_name = author_rename.get(name, name)
if name != new_name:
author_obj["name"] = new_name
modified = True
print(f"📝 重命名:{name}{new_name}")
# 统一链接字段名
existing_link = author_obj.pop("link", None) or author_obj.pop("url", None) or author_obj.get("links")
if new_name in author_links:
if author_obj.get("links") != author_links[new_name]:
author_obj["links"] = author_links[new_name]
modified = True
print(f"🔧 更新链接:{new_name}{author_links[new_name]}")
elif "links" not in author_obj and existing_link:
author_obj["links"] = existing_link
modified = True
print(f"🔄 标准化已有链接字段为 links → {existing_link}")
if modified:
with open(file_path, "w", encoding="utf-8") as f:
json.dump(data, f, ensure_ascii=False, indent=2)
count_modified += 1
print("✅ 写入完成")
else:
print("⏭️ 无需修改")
print(f"\n🎉 处理完成:共 {count_total} 个 JSON 文件,修改了 {count_modified}")

756
repo.json

File diff suppressed because it is too large Load Diff

View File

@@ -7,7 +7,7 @@
"authors": [
{
"name": "提瓦特钓鱼玳师",
"url": "https://github.com/Hijiwos"
"links": "https://github.com/Hijiwos"
}
],
"settings_ui": "settings.json",

View File

@@ -12,7 +12,7 @@
{
"name": "HZYgrandma",
"links":"https://github.com/HZYgrandma"
},
}
],
"main": "main.js",
"settings_ui": "settings.json"

View File

@@ -6,7 +6,8 @@
"description": "脚本名称:禽肉全收集(提瓦特)\n功能描述多种形式的提瓦特禽肉采集(下落攻击、战斗)\n核心功能------------------------------>\n1.刷取禽肉上限(目前路线不足)\n2.支持自行启用(禁用)下落(战斗)路线\n3.支持选择刷取鸟类(1禽肉、2禽肉、3禽肉)\n4.内置了4点的空月祝福检测(默认启用)\n注意事项------------------------------>\n1.包含下落路线时行走位建议角色为绮良良或埃洛伊(天赋不易惊动小动物)\n2.内置的空月祝福领取逻辑与JS脚本提瓦特自动钓鱼(全流程+自选)一致\n---------------------------------------->\n作者提瓦特钓鱼玳师\n脚本反馈邮箱hijiwos@hotmail.com",
"authors": [
{
"name": "提瓦特钓鱼玳师"
"name": "提瓦特钓鱼玳师",
"links": "https://github.com/Hijiwos"
}
],
"settings_ui": "settings.json",

View File

@@ -2,20 +2,29 @@
"manifest_version": 1,
"name": "自动狗粮重制版",
"version": "1.5.1",
"tags": ["好感", "盗宝团", "愚人众", "鳄鱼", "兽肉", "狗粮"],
"tags": [
"好感",
"盗宝团",
"愚人众",
"鳄鱼",
"兽肉",
"狗粮"
],
"description": "通过不同好感任务卡时间后运行狗粮任务以提高狗粮总收益,需要正确配置好感队伍的战斗策略,并在自定义配置中指定好感和狗粮队伍名称",
"authors": [
{
"name": "mno"
"name": "mno",
"links": "https://github.com/Bedrockx"
},
{
"name": "秋云",
"links": "https://github.com/physligl"
"name": "秋云",
"links": "https://github.com/physligl"
},
{
"name": "汐"
"name": "汐",
"links": "https://github.com/jiegedabaobei"
}
],
"settings_ui": "settings.json",
"main": "main.js"
}
}

View File

@@ -7,7 +7,7 @@
"authors": [
{
"name": "24qiaoyue",
"link": "https://github.com/24qiaoyue"
"links": "https://github.com/24qiaoyue"
}
],
"settings_ui": "settings.json",

View File

@@ -7,7 +7,7 @@
"authors": [
{
"name": "Yang-z",
"link": "https://github.com/Yang-z"
"links": "https://github.com/Yang-z"
}
],
"settings_ui": "settings.json",

View File

@@ -7,8 +7,8 @@
"authors": [
{
"name": "Tool_tingsu",
"link": ""
"links": "https://github.com/Tooltingsu"
}
],
"main": "main.js"
}
}

View File

@@ -2,12 +2,18 @@
"manifest_version": 1,
"name": "(对话+成就)全自动蒙德地区每日委托",
"version": "0.97.2",
"tags": ["委托","对话","战斗","成就","历练点"],
"tags": [
"委托",
"对话",
"战斗",
"成就",
"历练点"
],
"description": "自动完成每日委托、自动识别委托内容、自动追踪战斗委托、自动完成对话委托、自动获得到隐藏成就。使用前请阅读README.md可用记事本打开获取详细说明和常见问题解答。目前项目正处于开发阶段急需人手,有意者可加群1053392753会启动js发送文件即可。每天只需花 5 ~ 10 分钟做一个蒙德城对话委托记下坐标就当是顺路补下成就。感谢云闲vsv & 换苏伟u & 小鹰划船不用桨 & 塔台的共同开发",
"authors": [
{
"name": "星野",
"link": "https://github.com/LX666-666"
"links": "https://github.com/LX666-666"
}
],
"settings_ui": "settings.json",

View File

@@ -5,8 +5,8 @@
"description": "BetterGI自带脚本自动采集离传送点较近的晶蝶。请在队伍中务必携带早柚/瑶瑶,使用成男/成女角色。并保证所有传送点都已经激活!",
"authors": [
{
"name": "huiyadanli",
"link": "https://github.com/huiyadanli"
"name": "huiyadanli",
"links": "https://github.com/huiyadanli"
}
],
"main": "main.js"

View File

@@ -5,10 +5,13 @@
"description": "BetterGI自带脚本用于传送后并执行自动秘境。秘境中角色死亡复活后继续回去战斗。",
"authors": [
{
"name": "huiyadanli&iris",
"link": "https://github.com/huiyadanli"
"name": "huiyadanli",
"links": "https://github.com/huiyadanli"
},
{
"name": "iris"
}
],
"settings_ui": "settings.json",
"main": "main.js"
}
}

View File

@@ -2,13 +2,15 @@
"manifest_version": 1,
"name": "AutoFightAsync",
"version": "1.0",
"bgi_version" : "0.34.6",
"bgi_version": "0.34.6",
"description": "异步调用独立战斗任务根据OCR结果判断战斗是否结束不建议直接使用仅供其他脚本作者参考",
"tags" : [ "示例" ],
"tags": [
"示例"
],
"authors": [
{
"name": "秋云",
"link": "https://github.com/phydligl"
"links": "https://github.com/physligl"
}
],
"settings_ui": "settings.json",

View File

@@ -6,9 +6,10 @@
"description": "脚本名称:提瓦特自动钓鱼(全流程+自选)\n功能描述支持自动追踪并垂钓bgi支持的全提瓦特垂钓点\n核心功能------------------------------>\n1.可自选地区、鱼类、鱼饵\n2.可直接钓取特定物品的兑换材料(例如渔获)\n3.脚本会根据需要的鱼类自动调节时间,不需要的时段会跳过\n4.支持部分地图追踪无法到达的钓鱼点(例如炽岩斗士急流鱼钓鱼点,枫丹廷东北钓鱼点、雷鸣仙垂钓点)\n5.支持从特定的垂钓点继续任务(仅启用所有垂钓点时可用)\n6.默认禁用需要战斗的路线如有需要请在JS脚本配置内启用\n7.支持自定义钓鱼超时时间\n8.支持设置定时关闭最多24小时\n9.4点自动领取月卡(可选)\n10.启用自动拾取(可选)\n注意事项------------------------------>\n1.部分点位涉及战斗,且队伍内不能有双风和跑步(不是冲刺)时加移速的角色\n2.跑图位必须是少男体型(防止键鼠路线[GCM]出错)\n3.同时选择鱼类和鱼饵的情况下按照以下逻辑选择路线: 所有被选的鱼类会被加入任务列表,如果选择的鱼饵中某个鱼饵不是已选的任何一个鱼类的对应的鱼饵,那么这个鱼饵对应的所有鱼类将被添加到任务列表\n4.JS脚本的设置内各设置项含有优先级如果存在高优先级且选项不为默认则只有最高优先级的设置项生效\n5.部分钓鱼点为路径追踪+键鼠脚本(GCM)的混合模式可能会出现因键鼠脚本误差卡死的情况如果出现这种情况请在JS脚本设置禁用键鼠路线来禁用所有包含键鼠脚本的钓鱼点\n---------------------------------------->\n作者提瓦特钓鱼玳师\n脚本反馈邮箱hijiwos@hotmail.com",
"authors": [
{
"name": "提瓦特钓鱼玳师"
"name": "提瓦特钓鱼玳师",
"links": "https://github.com/Hijiwos"
}
],
"settings_ui": "settings.json",
"main": "main.js"
}
}

View File

@@ -111,3 +111,16 @@
1. 优化树脂识别OCR区域。
2. log显示优化。
3. 修复图像识别构造函数错误。
### v.3.2版本20250705
- **新功能**
1. 新增默认使用开冒险之证寻找地脉花,比之前更稳定。
2. 新增识别同一线路上的两种地脉花,绕过执行非目标地脉花。
3. 新增死亡检测,死亡后自动恢复后继续执行。
- **优化**
4. 优化JS配置显示。
5. 优化线路2第五朵花的特殊处理解决开花和战斗区域太远的问题。
6. 优化设定默认使用异步战斗。
7. 优化领奖速度。

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

@@ -0,0 +1,19 @@
{
"info": {
"name": "枫丹地脉花-路线2 秋分山西侧锚点左下-5秋分山左左下下_特殊处理",
"type": "collect",
"author": "平面镜&LCB茶包",
"version": "1.0",
"description": "",
"bgi_version": "0.44.3"
},
"positions": [
{
"id": 1,
"x": 4393.71826171875,
"y": 2265.736083984375,
"move_mode": "walk",
"type": "path"
}
]
}

View File

@@ -17,7 +17,7 @@
} else {
if (afterBehavior===1){if (xa===0 & ya===0){log.info("点击模式:开");}await sleep(1000);click(res.x+xa, res.y+ya);}else{if (debugmodel===1 & xa===0 & ya===0){log.info("点击模式:关")}}
if (afterBehavior===2){if (xa===0 & ya===0){log.info("F模式:开");}await sleep(1000);keyPress("F");}else{if (debugmodel===1 & xa===0 & ya===0){log.info("F模式:关")}}
if (debugmodel===1 & xa===0 & ya===0){log.info("全图代码位置:({x},{y},{h},{w})", res.x-10, res.y-10, res.width+10, res.Height+10);}else{ log.info("识别到图片");}
if (debugmodel===1 & xa===0 & ya===0){log.info("全图代码位置:({x},{y},{h},{w})", res.x-10, res.y-10, res.width+10, res.Height+10);}else{if(ii<=1) log.info("识别到元素");}
return result = { x: res.x+xa, y: res.y+ya, w:res.width,h:res.Height,found: true }
}
const NowTime = new Date();
@@ -27,34 +27,55 @@
await sleep(1200);
}
//ocr封装函数
async function Textocr(wenzi="空参数",chaotime=10,clickocr=0,debugcode=0,x=0,y=0,w=1920,h=1080) {
const startTime = new Date();
for (let ii = 0; ii < 10; ii++)
{
// 获取一张截图
let captureRegion = captureGameRegion();
let res1
// 对整个区域进行 OCR
let resList = captureRegion.findMulti(RecognitionObject.ocr(x,y,w,h));
//log.info("OCR 全区域识别结果数量 {len}", resList.count);
for (let i = 0; i < resList.count; i++)
{ // 遍历的是 C# 的 List 对象,所以要用 count而不是 length
let res = resList[i];
res1=res.text
if (res.text===wenzi) {
log.info(`·${res1}·识别到`);
if (debugcode===1){if (x===0 & y===0){log.info("全图代码位置:({x},{y},{h},{w})", res.x-10, res.y-10, res.width+10, res.Height+10);return result = { text: res.text, x: res.x, y: res.y, found: true }}}else{if (x===0 & y===0){log.info("文本OCR完成'{text}'", res.text);}}
for (let i = 0; i < resList.count; i++) {
let res = resList[i];
res1=res.text
if (res.text === wenzi) {
if(ii<=1)log.info(`·${res1}·识别到`)
if (debugcode === 1){
if (x === 0 & y === 0){
log.info("全图代码位置:({x},{y},{h},{w})", res.x-10, res.y-10, res.width+10, res.Height+10);
return result = { text: res.text, x: res.x, y: res.y, found: true }}
}
else{if (x === 0 & y === 0){log.info("文本OCR完成'{text}'", res.text);}
}
if (clickocr===1){await sleep(1000);click(res.x, res.y);}
if (clickocr===2){await sleep(100);keyPress("F");}
return result = { text: res.text, x: res.x, y: res.y, found: true }
}
if (debugcode===2 && !res.isEmpty()){
// log.info("({x},{y},{h},{w})", res.x-10, res.y-10, res.width+10, res.Height+10);
if (debugcode===3){
break;
}
return result = { text: res.text, x: res.x, y: res.y, found: true }
}
if (debugcode===2 && !res.isEmpty()){
return result = { text: res.text, x: res.x, y: res.y, found: true }
}
}
if (debugcode===3 && (resList.count <=0 || res1!=wenzi) ){
return result = { found: true }
}
const NowTime = new Date();
if (Math.abs(NowTime - startTime)>chaotime*1000){if (x===0 & y===0){log.info(`${chaotime}秒超时退出,·${wenzi}·未找到`);}return result = {found: false };}else{ii=8;log.info(`·${wenzi}·识别中……`); if(x !== 840 && x !== 1188){keyPress("w")}; }
if (Math.abs(NowTime - startTime)>chaotime*1000){
if (x===0 & y===0){
log.info(`${chaotime}秒超时退出,·${wenzi}·未找到`);
}
return result = {found: false};
}
else{
ii=8;
if(x !== 840 && x !== 1188){
keyPress("w")
};
}
await sleep(100);
}
}
@@ -63,18 +84,22 @@
var SMODEL = settings.SMODEL ? settings.SMODEL : false; // false 公版BETTERGItrue 自编译版本LCB
var SHUOVER=0 //0初始状态1队伍配置标志2结束线路3线路出错
var haoganq=0 //0初始状态1好感队伍配置标志
var SHUV = settings.shuv ? settings.shuv : 1; // 1 单线路2 树脂耗尽
var Rewards = settings.Rewards ? settings.Rewards : false; // ture 领取冒险点奖励false 不领取冒险点奖励
var Fligtin = false; //领取冒险点奖励标志。
var tolerance = 30;
var position ={};
var position_another ={};
var repeatRoute = false;//线路重复标志
var Lastexecution = false;//线路执行标志,用于判断上一线路是否执行。
var Fightquick = settings.Fightquick ? settings.Fightquick : false;
var Fighttimeout = settings.timeout * 1000 ? settings.timeout * 1000 : 240000;//战斗超时时间默认为240秒
var Fightquick = settings.Fightquick ? settings.Fightquick : true;
var Fighttimeout = settings.timeout * 1000 ? settings.timeout * 1000 : 180000;//战斗超时时间默认为240秒
const ocrRegion2 = { x: 0, y: 200, width: 300, height: 300 }; // 追踪任务区域
const ocrRo2 = RecognitionObject.ocr(ocrRegion2.x, ocrRegion2.y, ocrRegion2.width, ocrRegion2.height);
const ocrRegion1 = { x: 800, y: 200, width: 300, height: 100 }; // 中心区域
const ocrRo1 = RecognitionObject.ocr(ocrRegion1.x, ocrRegion1.y, ocrRegion1.width, ocrRegion1.height);
const ocrRegion3 = { x: 906, y: 928, width: 161, height: 100 }; // 下方区域
const ocrRo3 = RecognitionObject.ocr(ocrRegion3.x, ocrRegion3.y, ocrRegion3.width, ocrRegion3.height);
var method= settings.method ? settings.method : "冒险之证";
var Rewardsuse = settings.Rewardsuse ? settings.Rewardsuse : "1/2";
var resinTypes = Rewardsuse.split("/");
var rewards = [];
@@ -86,49 +111,61 @@
}
rewards.push(resinType);
}
const resinTypeMap = ["","使用1个浓缩树脂获取2倍产出", "使用20个原粹树脂", "使用1个脆弱树脂获取3倍产出", "使用1个须臾树脂获取3倍产出"];
const golbalRewards = ["","浓缩树脂","原粹树脂","脆弱树脂","须臾树脂"]; // 对应四种树脂
// 根据 rewards 数组长度,依次赋值给对应的变量
if (rewards.length > 0) onerewards = resinTypeMap[rewards[0]];
if (rewards.length > 1) secendrewards = resinTypeMap[rewards[1]];
if (rewards.length > 2) threendrewards = resinTypeMap[rewards[2]];
if (rewards.length > 3) fourdrewards = resinTypeMap[rewards[3]];
log.info(`使用树脂类型数量:${rewards.length}`);
log.info(`优先使用的树脂类型:${onerewards} --> ${secendrewards} --> ${threendrewards} --> ${fourdrewards}`);
// return
if (rewards.length > 0) onerewards = golbalRewards[rewards[0]];
if (rewards.length > 1) secendrewards = golbalRewards[rewards[1]];
if (rewards.length > 2) threendrewards = golbalRewards[rewards[2]];
if (rewards.length > 3) fourdrewards = golbalRewards[rewards[3]];
const golbalRewardText = [onerewards, secendrewards, threendrewards, fourdrewards].filter(Boolean);//过滤树脂使用类型
var doneCount = 0;
filePath = ""
// 读取原始次数配置
var rawTimes = settings.times*2 ? settings.times : "6";
var color = settings.color ? settings.color : 1;
var BIAOZZ = "assets/model/BIAOZ.bmp"
const colorMap = {
"1-蓝花(经验花)": 1,
"2-黄花(摩拉花)": 2
};
var color = colorMap[settings.color] || 1;
const modelMap = {
"1-次数刷取": 1,
"2-树脂耗尽": 2
};
var SHUV = modelMap[settings.shuv] || 1;
var BIAOZZ = "assets/model/BIAOZ.bmp"
var timesValue = 12; // 设置默认值
var num = parseFloat(rawTimes) * 2; // 直接计算乘以2后的值并尝试转换为浮点数
// 如果输入是有效的数字并且在合理范围内则更新timesValue
if (/^-?\d+\.?\d*$/.test(rawTimes) && num >= 1 && num <= 198) {
timesValue = Math.max(1, Math.min(198, Math.floor(num))); // 确保timesValue为整数并且不超过上限
}
var timesConfig = { value: timesValue };
if (color == 2){ var DIMAIHUA = "assets/model/DIMAIHUA-huank.bmp";}
else if (color == 1){var DIMAIHUA = "assets/model/DIMAIHUA-lank.bmp";}
else{var DIMAIHUA = "assets/model/DIMAIHUA-lank.bmp";}
log.warn(`全自动枫丹地脉花: v3.2 - ${SHUV}.${color}.${rawTimes}`);//调试LOG
log.warn(`使用树脂类型数量:${rewards.length}`);
log.warn(`使用树脂顺序:${golbalRewardText.join(" ->")}`);
if (color == 2){ var DIMAIHUA = "assets/model/DIMAIHUA-huank.bmp";var DIMAIHUA2 = "assets/model/DIMAIHUA-lank.bmp";}
else if (color == 1){var DIMAIHUA = "assets/model/DIMAIHUA-lank.bmp";var DIMAIHUA2 = "assets/model/DIMAIHUA-huank.bmp";}
else{var DIMAIHUA = "assets/model/DIMAIHUA-lank.bmp";;var DIMAIHUA2 = "assets/model/DIMAIHUA-huank.bmp";}
var DIMAIHUA3 = "assets/model/DIMAIHUA-da.bmp"
var DIMAIHUA4 = "assets/model/DIMAIHUA-da2.bmp"
var condensedResin = "assets/model/condensed_resin_count.png";
var originalResin = "assets/model/original_resin_count.png";
var fragileResin = "assets/model/fragile_resin_count.png";
var momentResin = "assets/model/moment_resin_count.png";
var oneResin = "assets/model/one.png";
log.debug(`DEBUG:${SHUV}.${color}.${rawTimes}`);//调试LOG
if (Rewards){log.warn("结束后领励练点和提交每日!");if(settings.nh === undefined || settings.nh === "") {log.warn("好感队未配置,领奖励时不切换队伍")}}
if (settings.nh === undefined || settings.nh === "") { log.warn("好感队禁用!");haoganq=0}else{var haogandui = settings.nh;haoganq=1;if(settings.n === undefined ) {throw new Error("好感队已经设置,请填战斗队伍!")}}
if (settings.n === undefined || settings.n === "") { log.warn("队伍名称未配置,不更换队伍");SHUOVER=1;}
if (SHUV == 1) {log.warn(`线路模式 ' 按次数刷取 ${timesConfig.value/2} 次' `);}else{log.warn("线路模式 ' 设定使用的树脂类型耗尽模式最多99次 '");timesConfig.value = 198;}
if (color == 1) {log.warn("地脉类型 ' 蓝色-经验书花!'");}else{log.warn("地脉类型 ' 黄色-摩拉花!'")}
if (Rewards){log.warn("结束后领励练点和提交每日...");if(settings.nh === undefined || settings.nh === "") {log.warn("好感队未配置,领奖励时不切换队伍..")}}
if (SHUV == 1) {log.warn(`线路模式 <<按次数刷取>> ${timesConfig.value/2}`);}else{log.warn("线路模式 设定使用的树脂类型<<耗尽模式>>最多99次... '");timesConfig.value = 198;}
if (color == 1) {log.warn("地脉类型 <<蓝色-经验花>>...");}else{log.warn("地脉类型 '<<黄色-摩拉花>>...")}
if (settings.n === undefined || settings.n === "") { log.warn("队伍名称未配置,不更换队伍...");SHUOVER=1;}
if (settings.nh === undefined || settings.nh === "") { log.warn("好感队禁用...");haoganq=0}else{var haogandui = settings.nh;haoganq=1;if(settings.n === undefined ) {throw new Error("好感队已经设置,请填战斗队伍...")}}
let nowuidString = settings.nowuid ? settings.nowuid : "";
setGameMetrics(1920, 1080, 1);
@@ -235,43 +272,188 @@
const allFlowerCoords = [
// 线路1
{ line: 1, flower: 1, x: 773, y: 669 },
{ line: 1, flower: 2, x: 846, y: 696 },
{ line: 1, flower: 3, x: 902, y: 762 },
{ line: 1, flower: 4, x: 912, y: 812 },
{ line: 1, flower: 5, x: 876, y: 840 },
{ line: 1, flower: 6, x: 815, y: 788 },
{ line: 1, flower: 1, x: 773, y: 669 , xR: 4760.80029296875 , yR: 2574.517578125 },
{ line: 1, flower: 2, x: 846, y: 696 , xR: 4653.67138671875 , yR: 2531.894287109375 },
{ line: 1, flower: 3, x: 902, y: 762 , xR: 4568.48828125 , yR: 2433.225341796875 },
{ line: 1, flower: 4, x: 912, y: 812 , xR: 4553.5107421875 , yR: 2358.491943359375 },
{ line: 1, flower: 5, x: 876, y: 840 , xR: 4607.455078125 , yR: 2316.584716796875 },
{ line: 1, flower: 6, x: 815, y: 788 , xR: 4700.13818359375 , yR: 2393.348876953125 },
// 线路2
{ line: 2, flower: 1, x: 1160, y: 716 },
{ line: 2, flower: 2, x: 1155, y: 766 },
{ line: 2, flower: 3, x: 1117, y: 801 },
{ line: 2, flower: 4, x: 1082, y: 896 },
{ line: 2, flower: 5, x: 1013, y: 883 },
{ line: 2, flower: 1, x: 1160, y: 716 , xR: 4183.26953125 , yR: 2502.36962890625 },
{ line: 2, flower: 2, x: 1155, y: 766 , xR: 4190.03271484375 , yR: 2426.40625 },
{ line: 2, flower: 3, x: 1117, y: 801 , xR: 4246.28271484375 , yR: 2374.04833984375 },
{ line: 2, flower: 4, x: 1082, y: 896 , xR: 4299.75146484375 , yR: 2232.588134765625 },
{ line: 2, flower: 5, x: 1013, y: 883 , xR: 4402.5263671875 , yR: 2253.2724609375 },
// 线路3√
{ line: 3, flower: 1, x: 1216, y: 661 },
{ line: 3, flower: 2, x: 1230, y: 685 },
{ line: 3, flower: 3, x: 1282, y: 642 },
{ line: 3, flower: 4, x: 1335, y: 639 },
{ line: 3, flower: 1, x: 1216, y: 661 , xR: 4098.6328125 , yR: 2584.1611328125 },
{ line: 3, flower: 2, x: 1230, y: 685 , xR: 4063.5205078125 , yR: 2564.291259765625 },
{ line: 3, flower: 3, x: 1282, y: 642 , xR: 3999.6552734375 , yR: 2613.181640625 },
{ line: 3, flower: 4, x: 1335, y: 639 , xR: 3921.345703125 , yR: 2617.813232421875 },
// 线路4
{ line: 4, flower: 1, x: 965, y: 672 },
{ line: 4, flower: 2, x: 921, y: 660 },
{ line: 4, flower: 3, x: 886, y: 660 },
{ line: 4, flower: 4, x: 876, y: 625 },
{ line: 4, flower: 1, x: 965, y: 672 , xR: 2932.47265625 , yR: 3583.896728515625 },
{ line: 4, flower: 2, x: 921, y: 660 , xR: 3008.40234375 , yR: 3602.593017578125 },
{ line: 4, flower: 3, x: 886, y: 660 , xR: 3077.185546875 , yR: 3602.835693359375 },
{ line: 4, flower: 4, x: 876, y: 625 , xR: 3091.7978515625 , yR: 3654.750732421875 },
// 线路5
{ line: 5, flower: 1, x: 727, y: 153 },
{ line: 5, flower: 2, x: 752, y: 78 },
{ line: 5, flower: 3, x: 712, y: 47 },
{ line: 5, flower: 4, x: 643, y: 4 },
{ line: 5, flower: 1, x: 727, y: 153 , xR: 4556.0986328125 , yR: 4762.41748046875 },
{ line: 5, flower: 2, x: 752, y: 78 , xR: 4517.81201171875 , yR: 4866.47802734375 },
{ line: 5, flower: 3, x: 712, y: 47 , xR: 4578.63134765625 , yR: 4913.2822265625 },
{ line: 5, flower: 4, x: 643, y: 4 , xR: 4679.46875 , yR: 4977.8310546875 },
// 线路6
{ line: 6, flower: 1, x: 0, y: 0 },//开始已经检测,不用复检
{ line: 6, flower: 2, x: 469, y: 369 },//315 54
{ line: 6, flower: 3, x: 400, y: 343 },//289
{ line: 6, flower: 4, x: 371, y: 281 },//227 379 290
];
{ line: 6, flower: 1, x: 0, y: 0 , xR: 4962.818359375 , yR: 4395.8056640625 },
{ line: 6, flower: 2, x: 469, y: 369 , xR: 4952.037109375 , yR: 4468.8408203125 },
{ line: 6, flower: 3, x: 400, y: 343 , xR: 5043.3564453125 , yR: 4479.98974609375 },
{ line: 6, flower: 4, x: 371, y: 281 , xR: 5087.0234375 , yR: 4573.26708984375 },
];
async function PathCheak(findFlower=0) {
if (method=="拖动地图"){findFlower = findFlower === 0 ? 1 : 0;}
if (findFlower == 0){
return await PathCheak0();
}else
if (findFlower == 1){
return await PathCheak1();
}
}
async function PathCheak0() {
repeatRoute = false;
var bigMapPosition={x:0,y:0};
await genshin.returnMainUi();
log.info("重置地图中,打开冒险之证寻找地脉花...");
await genshin.tp(2297.60, -824.45);
await genshin.returnMainUi();
for(let i = 0;i<5;i++){
await sleep(700);
await keyPress("VK_ESCAPE");
await sleep(300);
for(let j=0;j<5;j++){
let book = await Textocr("冒险之证",3,0,0,113,626,630,430);
if (book.found){
await click(book.x+40,book.y+10);
await sleep(500);
}
let bookconfirm = await Textocr("冒险之证",0.1,0,3,113,626,630,430);
if (bookconfirm.found){
break
}else{
continue
}
}
let crusade = await await Textocr("讨伐",5,1,0,127,98,437,900);
if (!crusade.found){
log.info("冒险之证打开错误T...");
continue;
}
await sleep(500);
await click(860,683);
let dimai = await imageRecognition(DIMAIHUA3,2,0,0,400,248,550,370);
if (!dimai.found){
await sleep(500);
await click(956,288);
await sleep(500);
await moveMouseTo(956,282);
await sleep(100);
await leftButtonDown();
await sleep(100);
await moveMouseTo(956,275);
await sleep(100);
await moveMouseTo(956,273);
await sleep(100);
await leftButtonUp();
let dimai2 = await imageRecognition(DIMAIHUA3,1,0,0,400,248,550,370);
if (!dimai2.found){continue}
}
await sleep(200);
if (color==1){
await imageRecognition(DIMAIHUA4,2,1,0,400,248,550,370);
}else{
await imageRecognition(DIMAIHUA3,2,1,0,400,248,550,370);
}
let fontaine = await Textocr("枫丹",1,0,0,1031,641,250,240);
if (!fontaine.found){
await sleep(1000);
await click(1562,787);
await sleep(1000);
let fontaine1 = await Textocr("枫丹",1,1,0,1031,641,250,240);
if(!fontaine1.found){await click(1524,670);}
await sleep(1000);
let fontaine2 = await Textocr("枫丹",1,0,0,1031,641,250,240);
if (!fontaine2.found){continue}
}
for(let i=0;i<5;i++){
await sleep(500);
await click(1529,846);
await sleep(500);
await click(1529,846);
await sleep(1500);
let crusade = await await Textocr("讨伐",0,1,0,127,98,437,900);
if (crusade.found){
continue
}else{
break
}
}
try{
bigMapPosition = genshin.getPositionFromBigMap();
if (bigMapPosition.x >= 2900 && bigMapPosition.y <= 5100 ){
log.info("区域正确...");
break;
}else{
log.info("区域错误...");
}
}
catch(error){
log.info("冒险之证打开错误G...", error);
continue;
}
}
const bigMapZoomLevel = genshin.getBigMapZoomLevel();
// log.info(`当前大地图坐标: X${Math.floor(bigMapPosition.X)} / Y${Math.floor(bigMapPosition.Y)}`);
// log.info(`当前大地图缩放:${bigMapZoomLevel}`);
const RealPosition ={x: bigMapPosition.X,y: bigMapPosition.Y}
position = await findFlowerPositionWithTolerance(RealPosition,10,allFlowerCoords);
if (position){
log.info(`找到地脉花的线路:|X:${Math.floor(bigMapPosition.X)}|Y:${Math.floor(bigMapPosition.Y)}|线路:${position.line}|序号:${position.flower}|`);
let XIAN_another = await imageRecognition(DIMAIHUA2,1,0,0,0);
if (XIAN_another.found){
if (XIAN_another.found){
let recognizedCoord_another = { x: ( bigMapPosition.X+((960-(XIAN_another.x+XIAN_another.w/2))*(5-bigMapZoomLevel))), y: ( bigMapPosition.Y+((540-(XIAN_another.y+XIAN_another.h/2)))*(5-bigMapZoomLevel))};
position_another = await findFlowerPositionWithTolerance(recognizedCoord_another, 10,allFlowerCoords);
log.info(`找到另一个线路:|X:${Math.floor( bigMapPosition.X+((960-(XIAN_another.x+XIAN_another.w/2))*(5-bigMapZoomLevel)))}|Y:${Math.floor( bigMapPosition.Y+((540-(XIAN_another.y+XIAN_another.h/2)))*(5-bigMapZoomLevel))}|线路:${position_another.line}|序号:${position_another.flower}|`);
}
}
if (position_another.line == position.line){
log.info("线路重合,绕过模式打开...");repeatRoute = true;
}else{
log.info("线路正常...");repeatRoute = false;
}
return true
}
else{
return false
}
}
// 输出选择的线路
async function PathCheak1() {
repeatRoute = false;
await genshin.returnMainUi();
log.info("重置地图中,关闭自定义标记,快速拖动模式寻找地脉花……");
await genshin.tp(2297.60, -824.45);
@@ -294,7 +476,7 @@
await sleep(500);
await click(1446,350);
await sleep(500);
let XIAN6 = await imageRecognition(DIMAIHUA,1,0,0,387,0,700,200);if (XIAN6.found){
let XIAN6 = await imageRecognition(DIMAIHUA,0.5,0,0,387,0,700,200);if (XIAN6.found){
log.info("地脉花位置: X:"+XIAN6.x+" Y:"+XIAN6.y);
position = {line:6,flower:1};
return true }//return true
@@ -310,11 +492,24 @@
await sleep(500);
let XIAN123 = await imageRecognition(DIMAIHUA,1,0,0,0,0,1720,1080);
if (XIAN123.found){
let XIAN123_another = await imageRecognition(DIMAIHUA2,0.5,0,0,0,0,1720,1080);
if (XIAN123_another.found){
log.info("地脉花位置_another: X:"+XIAN123_another.x+" Y:"+XIAN123_another.y);
const recognizedCoord_another = { x: XIAN123_another.x, y: XIAN123_another.y };
position_another = await findFlowerPositionWithTolerance(recognizedCoord_another, tolerance,allFlowerCoords);
}
log.info("地脉花位置: X:"+XIAN123.x+" Y:"+XIAN123.y);
const recognizedCoord = { x: XIAN123.x, y: XIAN123.y };
position = findFlowerPositionWithTolerance(recognizedCoord, tolerance);
if (position.line==3){position = findFlowerPositionWithTolerance(recognizedCoord, tolerance);}
position = await findFlowerPositionWithTolerance(recognizedCoord, tolerance,allFlowerCoords);
if (position.line == 3){position = await findFlowerPositionWithTolerance(recognizedCoord, tolerance,allFlowerCoords);}
if (position) {
if (position_another.line == position.line){log.info("线路重合,谨慎模式打开...");repeatRoute = true;}
return true;
} else {
log.info(`无法找到花朵位置(在容错范围内)。`);return false;
@@ -325,10 +520,22 @@
await sleep(800);
let XIAN4 = await imageRecognition(DIMAIHUA,1,0,0);
if (XIAN4.found){
let XIAN4_another = await imageRecognition(DIMAIHUA2,0.5,0,0);
if (XIAN4_another.found){
log.info("地脉花位置_another: X:"+XIAN4_another.x+" Y:"+XIAN4_another.y);
const recognizedCoord_another = { x: XIAN4_another.x, y: XIAN4_another.y };
position_another = await findFlowerPositionWithTolerance(recognizedCoord_another, tolerance,allFlowerCoords);
}
log.info("地脉花位置: X:"+XIAN4.x+" Y:"+XIAN4.y);
const recognizedCoord = { x: XIAN4.x, y: XIAN4.y };
position = findFlowerPositionWithTolerance(recognizedCoord, tolerance);
position = await findFlowerPositionWithTolerance(recognizedCoord, tolerance,allFlowerCoords);
if (position) {
if (position_another.line == position.line){log.info("线路重合,谨慎模式打开...");repeatRoute = true;}
return true;
} else {
log.info(`无法找到花朵位置(在容错范围内)。`);return false;
@@ -337,28 +544,47 @@
await sleep(500);
await moveMouseTo(1064,1079);
await sleep(200);
let XIAN66 = await imageRecognition(DIMAIHUA,1,0,0);
if (XIAN66.found){
log.info("地脉花位置: X:"+XIAN66.x+" Y:"+XIAN66.y);
const recognizedCoord = { x: XIAN66.x, y: XIAN66.y };
position = findFlowerPositionWithTolerance(recognizedCoord, tolerance);
let XIAN56 = await imageRecognition(DIMAIHUA,1,0,0);
if (XIAN56.found){
let XIAN56_another = await imageRecognition(DIMAIHUA2,0.5,0,0);
if (XIAN56_another.found){
log.info("地脉花位置_another: X:"+XIAN56_another.x+" Y:"+XIAN56_another.y);
const recognizedCoord_another = { x: XIAN56_another.x, y: XIAN56_another.y };
position_another = await findFlowerPositionWithTolerance(recognizedCoord_another, tolerance,allFlowerCoords);
}
log.info("地脉花位置: X:"+XIAN56.x+" Y:"+XIAN56.y);
const recognizedCoord = { x: XIAN56.x, y: XIAN56.y };
position = await findFlowerPositionWithTolerance(recognizedCoord, tolerance,allFlowerCoords);
if (position) {
if (position_another.line == position.line){log.info("线路重合,谨慎模式打开...");repeatRoute = true;}
return true;
} else {
log.info(`无法找到花朵位置(在容错范围内)。`);return false;
}
}
}else{throw new Error("线路出错,退出!")}
}
function findFlowerPositionWithTolerance(coord, tolerance) {
function findFlowerPositionWithTolerance(coord, tolerance,allFlowerCoordsIn) {
let closestFlower = null; // 用于记录最近的花朵
let closestDistance = Infinity; // 初始化最近距离为无穷大
let matches = []; // 用于存储所有匹配的花朵
// 遍历所有花朵坐标,检查是否在容错范围内
for (let i = 0; i < allFlowerCoords.length; i++) {
const flower = allFlowerCoords[i];
const distance = Math.sqrt(Math.pow(flower.x - coord.x, 2) + Math.pow(flower.y - coord.y, 2));
for (let i = 0; i < allFlowerCoordsIn.length; i++) {
const flower = allFlowerCoordsIn[i];
if (tolerance == 10){
var distance = Math.sqrt(Math.pow(flower.xR - coord.x, 2) + Math.pow(flower.yR - coord.y, 2));
}else{
var distance = Math.sqrt(Math.pow(flower.x - coord.x, 2) + Math.pow(flower.y - coord.y, 2));
}
if (distance <= tolerance) {
matches.push(flower); // 在容错范围内,添加到匹配列表
@@ -487,11 +713,11 @@
for (let j = 0;j < 2;j++) {
for (let i = 0;i < rewards.length;i++) {
let SHU = await Textocr(resinTypeMap[rewards[i]],0.3,0,0,510,380,640,600);
let SHU = await Textocr(resinTypeMap[rewards[i]],0.1,0,0,510,380,640,600);
if (SHU.found){
if (resinTypeMap[rewards[i]] == "使用20个原粹树脂")
{
let BUC = await Textocr("补充",0.2,0,0,1150,440,210,130);
let BUC = await Textocr("补充",0.1,0,0,1150,440,210,130);
if (BUC.found) {continue;}
}
@@ -564,7 +790,7 @@
log.info("未检测到浓缩树脂图标");
}
var originalResinCountRa = await imageRecognition(originalResin,0.1, 0, 0,1555,0,75,80);
var originalResinCountRa = await imageRecognition(originalResin,0.1, 0, 0,1555,0,90,80);
if (originalResinCountRa.found) {
// await moveMouseTo(originalResinCountRa.x,originalResinCountRa.y);
let countArea = await Textocr("",0.5, 0, 2,originalResinCountRa.x+originalResinCountRa.w,originalResinCountRa.y,originalResinCountRa.w*3,originalResinCountRa.h);//
@@ -675,6 +901,13 @@
logFightResult = fightResult ? "成功" : "失败";
log.info(`战斗结束,战斗结果:${logFightResult}`);
cts.cancel();
if(!fightResult){
Lastexecution = false;
await genshin.returnMainUi();
await sleep(1000);
await genshin.tp(2297.60, -824.45);
await genshin.returnMainUi();
}
return fightResult;
}
@@ -702,13 +935,16 @@
let noTextCount = 0;
const successKeywords = ["挑战达成", "战斗胜利", "挑战成功"];
const failureKeywords = ["挑战失败"];
const recovery = ["复苏"];
// 循环检测直到超时
while (Date.now() - startTime < Fighttimeout) {
try {
let captureRegion = captureGameRegion();
let result = captureRegion.find(ocrRo1);
let result3 = captureRegion.find(ocrRo3);
let text = result.text;
let text3 = result3.text;
// 检查成功关键词
for (let keyword of successKeywords) {
@@ -727,6 +963,17 @@
return;
}
}
// 检查复苏关键词
for (let keyword of recovery) {
if (text3.includes(keyword)) {
log.warn("检测到战斗失败关键词: {0}", keyword);
await sleep(1000);
result3.click();
resolve(false);
return;
}
}
//战斗区域
let foundText = recognizeFightText(captureRegion);
@@ -758,50 +1005,58 @@
}
})();
});
}
}
//重新战斗次数
var retryCount = 0;
var executedCount = 0;
async function Veinfligt() {
// 定义路线常量
// 定义路线常量
var selectedPath = pathingMap[`路线${position.line} ${['厄里那斯', '秋分山西侧锚点左下', '秋分山西侧锚点右', '柔灯港上锚点', '新枫丹科学院左锚点', '芒索斯山东麓'][position.line - 1]}`]
var selectedFolder = folderMap[`路线${position.line} ${['厄里那斯', '秋分山西侧锚点左下', '秋分山西侧锚点右', '柔灯港上锚点', '新枫丹科学院左锚点', '芒索斯山东麓'][position.line - 1]}`]
executedCount = (position.flower-1)*2+0;
Lastexecution = false;
log.info(`开始执行第 ${position.line} 线路的第 ${executedCount/2 + 1}/${selectedPath.length/2} 朵地脉花...`);
log.info(`开始执行第 ${position.line} 线路的第 ${executedCount/2 + 1}/${selectedPath.length/2} 朵地脉花...`);
for (let i = 0; i < selectedPath.length; i += 2){
if (executedCount/2 + 1 > selectedPath.length/2) {
// if (executedCount>99) {log.info("未找到地脉花,重新尝试..."); return true;}
log.info("本线路执行完毕...");
break;}
break;
}
if (doneCount >= timesConfig.value/2){
SHUOVER=2;log.info(`地脉花执行完成 ${timesConfig.value/2} 次,结束执行...`);
return true;
}
}
const jsonFile1 = selectedPath[i+position.flower*2-2];
if (jsonFile1 == undefined) {
log.info(`本线路完结,未达设定执行次数 ${timesConfig.value/2} ,继续执行...`);
return true;
}
if (repeatRoute && (executedCount/2 + 1 + i) == position_another.flower) {
log.info(`线路混合其他类型地脉花,跳过...`);
SMODEL = false;
continue;
}else{
log.info(`线路正常,继续...`);
SMODEL = settings.SMODEL ? settings.SMODEL : false;
}
const jsonFile2 = selectedPath[i+position.flower*2-1];
// 执行单个到达地脉花路径文件1
const choicePath = `${selectedFolder}${jsonFile1}`
const choicePath = `${selectedFolder}${jsonFile1}`
log.info(`开始执行前往都地脉花:${jsonFile1}`);
if(SMODEL){
if (!Lastexecution || (position.line==1 && (i+position.flower*2-2)==8)) {
if(position.line==2 && (i+position.flower*2-2)==8 && Lastexecution){
await pathingScript.runFile("assets/枫丹地脉花-路线2 秋分山西侧锚点左下/线路修复/枫丹地脉花-路线2 秋分山西侧锚点左下-5秋分山左左下下1-线路修复.json");}
else
{
else{
if(position.line==2 && (i+position.flower*2-2)==8)//特殊处理
{
let pathDic = JSON.parse(file.readTextSync(choicePath));
@@ -810,7 +1065,9 @@
await genshin.returnMainUi();
pathDic["positions"].splice(0, 1);
await pathingScript.run(JSON.stringify(pathDic));
}else{await pathingScript.runFile(`${selectedFolder}${jsonFile1}`);}
}else{
await pathingScript.runFile(`${selectedFolder}${jsonFile1}`);
}
}
}
else
@@ -841,10 +1098,16 @@
}else{await pathingScript.runFile(`${selectedFolder}${jsonFile1}`);}
}
}
}
// 寻找地脉溢口,找到地脉花就领奖,没有找到就直接战斗,再尝试领奖
if (await VeinEntrance()){
if (await VeinEntrance()){
if(position.line==2 && (i+position.flower*2-2)==8){
await pathingScript.runFile("assets/枫丹地脉花-路线2 秋分山西侧锚点左下/线路修复/枫丹地脉花-路线2 秋分山西侧锚点左下-5秋分山左左下下_特殊处理.json");
}
await sleep(1000);
await dispatcher.addTimer(new RealtimeTimer("AutoPick", { forceInteraction: false})); await keyPress("F");
log.warn("开始战斗...");
@@ -852,7 +1115,6 @@
shouldContinueChecking = true;
checkRewardPage();// 执行自动战斗并同步检测领奖页面
if (!Fightquick){
await dispatcher.runTask(new SoloTask("AutoFight")); //固定执行两次战斗,执行自动战斗,配置器中的设置建议填你的队伍打一次大概得时间
await sleep(1000);
@@ -869,8 +1131,9 @@
//退出执行
SHUOVER=2;
return false;
}
}
}
await keyPress("1");//防止战斗后处于特殊状态寻路异常例如火神上摩托车1号位不要放类似角色
}
shouldContinueChecking = true;
@@ -878,7 +1141,7 @@
log.info(`开始执行寻找地脉花奖励:${jsonFile2}`);
await dispatcher.addTimer(new RealtimeTimer("AutoPick", { forceInteraction: false}));
await pathingScript.runFile(`${selectedFolder}${jsonFile2}`);
await sleep(3000);
await sleep(2000);
// 领取奖励,开始找地脉口
log.info(`开始本线路第 ${executedCount/2+1} 朵花的奖励领取`);
if (haoganq==1){log.info(`切换好感队伍:'${haogandui}'`);await genshin.returnMainUi(); await sleep(1000);await genshin.SwitchParty(haogandui);}
@@ -921,13 +1184,21 @@
}
}
}
}else{log.warn("未配置禁用UID继续进行");}
}
try {
//根据SHUOVER决定模式
while (SHUOVER<=1){
Fligtin = true ; //领取冒险点奖励标志。
if (!(await PathCheak1())){;await leftButtonUp();throw new Error("未找到地脉花,退出!")}else{await leftButtonUp();await genshin.returnMainUi();}
if (!(await PathCheak(0))){
await leftButtonUp();
log.info("未找到地脉花,更换寻找方式,重试...")
if (!(await PathCheak(1)))
{
await leftButtonUp();await genshin.returnMainUi();
throw new Error("未找到地脉花,退出!")
}
}
//第一次执行选择队伍
if (SHUOVER == 0){await genshin.returnMainUi(); await sleep(1000);await genshin.SwitchParty(settings.n);await sleep(500);}

View File

@@ -1,25 +1,28 @@
{
"manifest_version": 1,
"name": "全自动枫丹地脉花",
"version": "3.1",
"version": "3.2",
"bgi_version": "0.44.8",
"description": "枫丹地脉花蓝花金花通用。生存压力大请带盾奶避免纯水输出请注意说明文件。如有BUG请联系作者QQ:119996800",
"tags":["地脉花"],
"tags": [
"地脉花"
],
"authors": [
{
"name": "LCB-茶包"
"name": "LCB-茶包",
"links": "https://github.com/kaedelcb"
},
{
"name": "ddaodan",
"link": "https://github.com/ddaodan"
"links": "https://github.com/ddaodan"
},
{
"name": "平面镜",
"link": "https://github.com/Flatmirrr"
"links": "https://github.com/Flatmirrr"
},
{
"name": "秋云",
"link": "https://github.com/physligl"
"links": "https://github.com/physligl"
}
],
"settings_ui": "settings.json",

View File

@@ -1,41 +1,50 @@
[
{
"name": "method",
"type": "select",
"label": "默认:通过 <冒险之证> 寻找地脉花,一般不用改\n可选通过 <拖动地图> 为原始方法,按需要选择",
"options": [
"冒险之证",
"拖动地图"
]
},
{
"name": "n",
"type": "input-text",
"label": "选填战斗队伍,默认不更换队伍,如需好感队则必填"
"label": "选填战斗队伍,默认不更换队伍,如需好感队则必填"
},
{
"name": "nh",
"type": "input-text",
"label": "选填好感队伍,如设定领奖前切换,同时战斗队伍必填"
"label": "选填好感队伍,如设定领奖前切换,同时战斗队伍必填"
},
{
"name": "times",
"type": "input-text",
"label": "选填按刷取次数默认6次最多99次树脂耗尽模式下无效"
"label": "选填按刷取次数默认6次最多99次树脂耗尽模式下无效"
},
{
"name": "shuv",
"type": "select",
"label": "默认:“1”为按上面的次数刷取,选“2”为耗尽树脂模式",
"label": "默认:<1> 为按上面的次数刷取,可选 <2> 为耗尽树脂模式",
"options": [
"1",
"2"
"1-次数刷取",
"2-树脂耗尽"
]
},
{
"name": "color",
"type": "select",
"label": "默认:蓝花(经验花)选“1” / 黄花(摩拉花)选“2”",
"label": "默认:<1-蓝花(经验花)>,可选<2-黄花(摩拉花)>",
"options": [
"1",
"2"
"1-蓝花(经验花)",
"2-黄花(摩拉花)"
]
},
{
"name": "Rewardsuse",
"type": "input-text",
"label": "树脂顺序,1=浓缩树脂/2=原粹树脂/3=脆弱树脂/4=须臾树脂\n用`/`隔开填写对应的树脂数字即可默认1/2\n表示先使用浓缩树脂,再使用原粹树脂,不填的不使用"
"label": "树脂设定:1=浓缩/2=原粹/3=脆弱/4=须臾\n用`/`隔开填写对应的树脂<数字>即可\n默认1/2 (表示先用浓缩后原粹,直至用完,不填的不使用)"
},
{
"name": "nowuid",
@@ -55,11 +64,11 @@
{
"name": "Fightquick",
"type": "checkbox",
"label": "开启:异步检测战斗结束,即地脉花长出后马上停止战斗\n开启后下方的超时时间才有效\n开启后建议关闭配置组中的自动检测战斗结束选项\n关闭:使用传统打开队伍界面进行判断战斗结束"
"label": "默认开启:异步检测战斗结束,即地脉花长出后马上停止战斗\n开启后建议关闭配置组中的<自动检测战斗结束>选项\n不启用:使用传统<打开队伍界面>进行判断战斗结束"
},
{
"name": "timeout",
"type": "input-text",
"label": "最长战斗超时时间单位秒默认240秒"
"label": "启用<异步检测战斗结束>开启后,下方填写的超时时间才有效\n默认180秒建议和配置组的战斗超时一致"
}
]

View File

@@ -1,37 +1,38 @@
{
"manifest_version": 1,
"name": "全自动地脉花",
"version": "4.0.1",
"tags": ["地脉花"],
"bgi_version": "0.44.7",
"description": "基于OCR图像识别的全自动刷取地脉花。\n💡更多信息请查看在线手册https://hcnsvf0s8d0s.feishu.cn/wiki/Tb1twpThLi7UlykqcYOcuccTnjJ \n\n----------注意事项----------\n●仅支持BetterGI 0.44.7 及以上版本!\n●部分地脉花因特殊原因不支持全自动具体的点位请在手册中查看。\n●树脂使用的优先级2倍原粹树脂 > 浓缩树脂 > 原粹树脂。\n●运行时会传送到七天神像设置中设置的七天神像需要关闭七天神像设置中的“是否就近七天神像恢复血量”并指定七天神像。\n●战斗策略注意调度器设置中地图追踪行走配置里的“允许在JsSpript中使用”和“覆盖JS中的自动战斗配置”只有在都打开的情况下脚本才会使用下面的战斗配置否则会使用独立任务中的战斗策略。战斗超时时间不能大于脚本自定义配置中的时间。\n\n如果遇到问题请先参照手册中的方法进行解决。",
"authors": [
{
"name": "ddaodan",
"link": "https://github.com/ddaodan"
},
{
"name": "平面镜",
"link": "https://github.com/Flatmirrr"
},
{
"name": "秋云",
"link": "https://github.com/physligl"
},
{
"name": "起个名字好难的喵",
"link": "https://github.com/MisakaAldrich"
},
{
"name": "火山",
"link": "https://github.com/RRRR623"
},
{
"name": "寒烟",
"link": "https://github.com/214-hanyan"
}
],
"settings_ui": "settings.json",
"main": "main.js"
}
"manifest_version": 1,
"name": "全自动地脉花",
"version": "4.0.1",
"tags": [
"地脉花"
],
"bgi_version": "0.44.7",
"description": "基于OCR图像识别的全自动刷取地脉花。\n💡更多信息请查看在线手册https://hcnsvf0s8d0s.feishu.cn/wiki/Tb1twpThLi7UlykqcYOcuccTnjJ \n\n----------注意事项----------\n●仅支持BetterGI 0.44.7 及以上版本!\n●部分地脉花因特殊原因不支持全自动具体的点位请在手册中查看。\n●树脂使用的优先级2倍原粹树脂 > 浓缩树脂 > 原粹树脂。\n●运行时会传送到七天神像设置中设置的七天神像需要关闭七天神像设置中的“是否就近七天神像恢复血量”并指定七天神像。\n●战斗策略注意调度器设置中地图追踪行走配置里的“允许在JsSpript中使用”和“覆盖JS中的自动战斗配置”只有在都打开的情况下脚本才会使用下面的战斗配置否则会使用独立任务中的战斗策略。战斗超时时间不能大于脚本自定义配置中的时间。\n\n如果遇到问题请先参照手册中的方法进行解决。",
"authors": [
{
"name": "ddaodan",
"links": "https://github.com/ddaodan"
},
{
"name": "平面镜",
"links": "https://github.com/Flatmirrr"
},
{
"name": "秋云",
"links": "https://github.com/physligl"
},
{
"name": "起个名字好难的喵",
"links": "https://github.com/MisakaAldrich"
},
{
"name": "火山",
"links": "https://github.com/RRRR623"
},
{
"name": "寒烟",
"links": "https://github.com/214-hanyan"
}
],
"settings_ui": "settings.json",
"main": "main.js"
}

View File

@@ -6,9 +6,10 @@
"description": "脚本名称:野伏众(全流程+自选)[自动拾取]\n功能描述包含全图野伏众自动追踪路径、支持自主筛选路径\n核心功能------------------------------>\n1.根据路径点包含的野伏众数量筛选,通过选择最小值和最大值确定区间\n2.支持手动排除不想刷取的区域\n3.每次路径执行结束后显示刷取进度\n注意事项------------------------------>\n1.在设置脚本配置的'限制路径点包含的野伏众数量'时,应当确保'最小值'小于'最大值'\n2.避免使用位移距离较大的角色以免意外掉出路径跳崖or跳水\n3.设置中的'延迟启动'指的是脚本在开始执行前的等待时间,用于再次确认配置是否正确\n---------------------------------------->\n版本ver1.0\n作者提瓦特钓鱼玳师\n脚本反馈邮箱hijiwos@hotmail.com",
"authors": [
{
"name": "提瓦特钓鱼玳师"
"name": "提瓦特钓鱼玳师",
"links": "https://github.com/Hijiwos"
}
],
"settings_ui": "settings.json",
"main": "main.js"
}
}

View File

@@ -6,7 +6,7 @@
"authors": [
{
"name": "听雨♪",
"link": "https://github.com/TingYu-lulumi"
"links": "https://github.com/TingYu-lulumi"
}
],
"settings_ui": "settings.json",

View File

@@ -6,9 +6,9 @@
"authors": [
{
"name": "bling-yshs",
"link": "https://github.com/bling-yshs"
"links": "https://github.com/bling-yshs"
}
],
"settings_ui": "settings.json",
"main": "main.js"
}
}

View File

@@ -6,7 +6,7 @@
"authors": [
{
"name": "寒露",
"link": "https://github.com/lwwens"
"links": "https://github.com/lwwens"
}
],
"settings_ui": "settings.json",

View File

@@ -2,14 +2,17 @@
"manifest_version": 1,
"name": "自动幽境危战",
"version": "1.6",
"tags": ["幽境危战"],
"tags": [
"幽境危战"
],
"bgi_version": "0.44.8",
"description": "请先配置好秘境内的队伍,幽境危战战斗失败或执行错误会重试一次,请保证队伍实力",
"authors": [
{
"name": "LCB-茶包"
"name": "LCB-茶包",
"links": "https://github.com/kaedelcb"
}
],
"settings_ui": "settings.json",
"main": "main.js"
}
}

View File

@@ -7,9 +7,9 @@
"authors": [
{
"name": "Tool_tingsu",
"link": ""
"links": "https://github.com/Tooltingsu"
}
],
"settings_ui": "settings.json",
"main": "main.js"
}
}

View File

@@ -11,7 +11,7 @@
"authors": [
{
"name": "星野",
"link": "https://github.com/LX666-666"
"links": "https://github.com/LX666-666"
}
],
"settings_ui": "settings.json",

View File

@@ -6,9 +6,14 @@
"description": "脚本名称:自动伐木[补充]\n仅包含「炬木」和「桃椰子木」,需要成女(琴)+双风配队不能有除了双风之外的移速加成。仅支持分辨率为1920x1080,dpi1",
"authors": [
{
"name": "提瓦特钓鱼玳师,(火山-二次修订)"
"name": "提瓦特钓鱼玳师",
"links": "https://github.com/Hijiwos"
},
{
"name": "火山",
"links": "https://github.com/RRRR623"
}
],
"settings_ui": "settings.json",
"main": "main.js"
}
}

View File

@@ -5,9 +5,14 @@
"description": "基于地图追踪的自动伐木,暂不支持'炬木'和'桃椰子木'\n默认砍伐全部支持木材至2000上限\n自定义设置:\n-可更改砍伐木材种类和数量\n-可以单独设置每个木材数量\n-可设置队伍中是否包含一斗按保底20%计算砍伐数量时会除以1.2",
"authors": [
{
"name": "Tim & 起个名字好难 "
"name": "Tim",
"links": "https://github.com/Limint"
},
{
"name": "起个名字好难的喵",
"links": "https://github.com/MisakaAldrich"
}
],
"settings_ui": "settings.json",
"main": "main.js"
}
}

View File

@@ -5,7 +5,11 @@
"description": "前往并自动伐木",
"authors": [
{
"name": "愚溪 & ½ ",
"name": "愚溪"
},
{
"name": "½",
"links": "https://github.com/Traveler07"
}
],
"settings_ui": "settings.json",

View File

@@ -7,9 +7,9 @@
"authors": [
{
"name": "提瓦特钓鱼玳师",
"url": "https://github.com/Hijiwos"
"links": "https://github.com/Hijiwos"
}
],
"settings_ui": "settings.json",
"main": "main.js"
}
}

View File

@@ -5,7 +5,8 @@
"description": "设置进入世界的权限,默认锁门",
"authors": [
{
"name": "½"
"name": "½",
"links": "https://github.com/Traveler07"
}
],
"settings_ui": "settings.json",

View File

@@ -6,7 +6,8 @@
"authors": [
{
"name": "HZYgrandma",
"links": "https://github.com/HZYgrandma"
}
],
"main": "main.js",
}
"main": "main.js"
}

View File

@@ -1,15 +1,15 @@
{
"manifest_version": 1,
"name": "带CD管理的自动采集",
"version": "1.4",
"bgi_version": "0.45.0",
"description": "自动同步你通过BetterGI订阅的地图追踪任务执行采集任务并管理材料刷新时间支持多账号。\n首次使用前请先简单阅读说明可在`全自动`——`JS脚本`页面,点击本脚本名称查看)",
"authors": [
{
"name": "Ayaka-Main",
"link": "https://github.com/Patrick-Ze"
}
],
"settings_ui": "settings.json",
"main": "main.js"
"manifest_version": 1,
"name": "带CD管理的自动采集",
"version": "1.4",
"bgi_version": "0.45.0",
"description": "自动同步你通过BetterGI订阅的地图追踪任务执行采集任务并管理材料刷新时间支持多账号。\n首次使用前请先简单阅读说明可在`全自动`——`JS脚本`页面,点击本脚本名称查看)",
"authors": [
{
"name": "Ayaka-Main",
"links": "https://github.com/Patrick-Ze"
}
],
"settings_ui": "settings.json",
"main": "main.js"
}

View File

@@ -6,7 +6,8 @@
"authors": [
{
"name": "风埠",
"links": "https://github.com/jhkif"
}
],
"main": "main.js",
"main": "main.js"
}

View File

@@ -1,16 +1,15 @@
{
"manifest_version": 1,
"name": "晶蝶诱捕装置",
"version": "2.0",
"bgi_version": "0.44.3",
"description": "自动放置和收集晶蝶诱捕装置。\n\n----------使用说明----------\n●BetterGI 版本必须大于0.44.3,低于此版本无法使用!\n●请确保背包内有「晶蝶诱捕装置」。\n●晶蝶诱捕装置放在枫丹冒险家协会锚点。\n●请确保背包内所选择的矿石数量大于30个。\n●请勿修改\"status.json\"文件,里面保存的是收集奖励的时间,否则将无法通过脚本领取晶核!\n\n----------更新说明----------\n●2.0版本改用json储存时间如果你的晶核还没领取请打开脚本所在的文件夹复制\"time.txt\"中的所有内容,粘贴到\"status.json\"中\"collectionTime\": 后面要把原来的0删掉并将false改为true。",
"authors": [
{
"name": "ddaodan",
"link": "https://github.com/ddaodan"
}
],
"settings_ui": "settings.json",
"main": "main.js"
}
"manifest_version": 1,
"name": "晶蝶诱捕装置",
"version": "2.0",
"bgi_version": "0.44.3",
"description": "自动放置和收集晶蝶诱捕装置。\n\n----------使用说明----------\n●BetterGI 版本必须大于0.44.3,低于此版本无法使用!\n●请确保背包内有「晶蝶诱捕装置」。\n●晶蝶诱捕装置放在枫丹冒险家协会锚点。\n●请确保背包内所选择的矿石数量大于30个。\n●请勿修改\"status.json\"文件,里面保存的是收集奖励的时间,否则将无法通过脚本领取晶核!\n\n----------更新说明----------\n●2.0版本改用json储存时间如果你的晶核还没领取请打开脚本所在的文件夹复制\"time.txt\"中的所有内容,粘贴到\"status.json\"中\"collectionTime\": 后面要把原来的0删掉并将false改为true。",
"authors": [
{
"name": "ddaodan",
"links": "https://github.com/ddaodan"
}
],
"settings_ui": "settings.json",
"main": "main.js"
}

View File

@@ -4,10 +4,13 @@
"version": "1.3",
"bgi_version": "0.44.0",
"description": "爱可菲厨艺机关自动化请注意说明文件如有BUG请联系作者QQ:119996800",
"tags": ["爱可菲"],
"tags": [
"爱可菲"
],
"authors": [
{
"name": "LCB-茶包"
"name": "LCB-茶包",
"links": "https://github.com/kaedelcb"
}
],
"settings_ui": "settings.json",

View File

@@ -6,7 +6,7 @@
"authors": [
{
"name": "Because",
"link": "https://github.com/Because66666"
"links": "https://github.com/Because66666"
}
],
"main": "main.js"

View File

@@ -6,8 +6,8 @@
"authors": [
{
"name": "MeisterJ",
"link": "https://github.com/MeisterJ"
"links": "https://github.com/MeisterJ"
}
],
"main": "main.js"
}
}

View File

@@ -6,7 +6,7 @@
"authors": [
{
"name": "秋云",
"link": "https://github.com/physligl"
"links": "https://github.com/physligl"
}
],
"settings_ui": "settings.json",

View File

@@ -8,7 +8,7 @@
"authors": [
{
"name": "ftnfurina",
"link": "https://github.com/ftnfurina"
"links": "https://github.com/ftnfurina"
}
]
}
}

View File

@@ -1,15 +1,15 @@
{
"manifest_version": 1,
"name": "芙芙挂机暗杀流",
"version": "1.0",
"bgi_version": "0.37.2",
"description": "",
"authors": [
{
"name": "起个名字好难的喵",
"link": "https://github.com/MisakaAldrich"
}
],
"settings_ui": "settings.json",
"main": "main.js"
}
"manifest_version": 1,
"name": "芙芙挂机暗杀流",
"version": "1.0",
"bgi_version": "0.37.2",
"description": "",
"authors": [
{
"name": "起个名字好难的喵",
"links": "https://github.com/MisakaAldrich"
}
],
"settings_ui": "settings.json",
"main": "main.js"
}

View File

@@ -8,7 +8,7 @@
"authors": [
{
"name": "ftnfurina",
"link": "https://github.com/ftnfurina"
"links": "https://github.com/ftnfurina"
}
]
}
}

View File

@@ -6,7 +6,8 @@
"authors": [
{
"name": "HZYgrandma",
"links": "https://github.com/HZYgrandma"
}
],
"main": "main.js",
"main": "main.js"
}

View File

@@ -5,7 +5,8 @@
"description": "在日志窗口一直输出奶龙",
"authors": [
{
"name": "HZYgrandma",
"name": "HZYgrandma",
"links": "https://github.com/HZYgrandma"
}
],
"main": "main.js"

View File

@@ -5,7 +5,8 @@
"description": "OCR。默认四行为一页v2.1增加模糊匹配增加别名匹配。v2.22兼容未知角色、未知武器",
"authors": [
{
"name": "吉吉喵"
"name": "吉吉喵",
"links": "https://github.com/JJMdzh"
}
],
"settings_ui": "settings.json",

View File

@@ -5,7 +5,8 @@
"description": "至少0.44.3版本。OCR识别摩拉数值输出到本地",
"authors": [
{
"name": "吉吉喵"
"name": "吉吉喵",
"links": "https://github.com/JJMdzh"
}
],
"settings_ui": "settings.json",

View File

@@ -5,9 +5,10 @@
"description": "至少需要0.44版本bgi对NPC和材料进行文字、图像识别。\n一般食材杂货在蒙德、璃月、稻妻、枫丹杂货商购买。\n10鱼肉、10螃蟹在卯师傅、珀姆、布特罗斯、阿扎莱和志村勘兵卫购买。\n咖啡豆在须弥、枫丹咖啡馆购买。\n增加对话F图像识别增加个别字识别容错增加香辛料在阿扎莱处购买。\nv1.30513修复循环套叠优化F未识别后的尝试方案。",
"authors": [
{
"name": "吉吉喵"
"name": "吉吉喵",
"links": "https://github.com/JJMdzh"
}
],
"settings_ui": "settings.json",
"main": "main.js"
}
}

View File

@@ -7,7 +7,7 @@
"authors": [
{
"name": "Tool_tingsu",
"link": ""
"links": "https://github.com/Tooltingsu"
}
],
"settings_ui": "settings.json",

View File

@@ -7,7 +7,7 @@
"authors": [
{
"name": "提瓦特钓鱼玳师",
"url": "https://github.com/Hijiwos"
"links": "https://github.com/Hijiwos"
}
],
"settings_ui": "settings.json",

View File

@@ -4,10 +4,13 @@
"version": "1.3",
"bgi_version": "0.44.0",
"description": "参量质变仪自动化,请注意说明文件,如有BUG请联系作者QQ:119996800",
"tags":["参量质变仪"],
"tags": [
"参量质变仪"
],
"authors": [
{
"name": "LCB-茶包"
"name": "LCB-茶包",
"links": "https://github.com/kaedelcb"
}
],
"settings_ui": "settings.json",

View File

@@ -5,7 +5,8 @@
"description": "用于测试路线的摩拉效率要求bgi版本不低于44.8",
"authors": [
{
"name": "mno"
"name": "mno",
"links": "https://github.com/Bedrockx"
}
],
"settings_ui": "settings.json",

View File

@@ -5,7 +5,8 @@
"description": "对配队的路径追踪性能进行量化呈现",
"authors": [
{
"name": "HZYgrandma",
"name": "HZYgrandma",
"links": "https://github.com/HZYgrandma"
}
],
"main": "main.js"

View File

@@ -6,10 +6,10 @@
"description": "狗粮周3刷新价值23体力的摩拉换38体力的狗粮血赚。龙骨花凝珠没出售需额外设置。强烈建议使用固定队伍(双风成女行走)",
"authors": [
{
"name": "柒叶子",
"link": "https://github.com/511760049"
"name": "柒叶子",
"links": "https://github.com/5117600049"
}
],
"settings_ui": "settings.json",
"main": "main.js"
}
}

View File

@@ -6,9 +6,9 @@
"authors": [
{
"name": "Ayaka-Main",
"link": "https://github.com/Patrick-Ze"
"links": "https://github.com/Patrick-Ze"
}
],
"settings_ui": "settings.json",
"main": "main.js"
}
}

View File

@@ -6,7 +6,8 @@
"authors": [
{
"name": "HZYgrandma",
"links": "https://github.com/HZYgrandma"
}
],
"main": "main.js",
"main": "main.js"
}

View File

@@ -5,8 +5,8 @@
"description": "图像识别demo",
"authors": [
{
"name": "huiyadanli",
"link": "https://github.com/huiyadanli"
"name": "huiyadanli",
"links": "https://github.com/huiyadanli"
}
],
"main": "main.js"

View File

@@ -5,7 +5,7 @@
"description": "自动领诚哥壶奖励",
"authors": [
{
"name": "愚溪",
"name": "愚溪"
}
],
"settings_ui": "settings.json",

View File

@@ -5,7 +5,7 @@
"description": "用于调整游戏时间,请在调度器中使用",
"authors": [
{
"name": "愚溪",
"name": "愚溪"
}
],
"settings_ui": "settings.json",

View File

@@ -6,9 +6,10 @@
"description": "用于调整游戏时间,精确到分钟,请在调度器中使用",
"authors": [
{
"name": "Tim"
"name": "Tim",
"links": "https://github.com/Limint"
}
],
"settings_ui": "settings.json",
"main": "main.js"
}
}

View File

@@ -6,7 +6,8 @@
"authors": [
{
"name": "HZYgrandma",
"links": "https://github.com/HZYgrandma"
}
],
"main": "main.js",
"main": "main.js"
}

View File

@@ -1,16 +1,18 @@
{
"manifest_version": 1,
"name": "提瓦特扫描仪",
"version": "0.1",
"tags": ["宝箱"],
"bgi_version": "0.46.0",
"description": "通过使用寻宝罗盘,判断指定区域是否存在宝藏并进行记录,同时根据记录,将用户导航至找到宝藏的地点,建议配合“罗盘找不到的宝箱",
"authors": [
{
"name": "mno",
}
],
"settings_ui": "settings.json",
"main": "main.js"
}
"manifest_version": 1,
"name": "提瓦特扫描仪",
"version": "0.1",
"tags": [
"宝箱"
],
"bgi_version": "0.46.0",
"description": "通过使用寻宝罗盘,判断指定区域是否存在宝藏并进行记录,同时根据记录,将用户导航至找到宝藏的地点,建议配合“罗盘找不到的宝箱”视频食用",
"authors": [
{
"name": "mno",
"links": "https://github.com/Bedrockx"
}
],
"settings_ui": "settings.json",
"main": "main.js"
}

View File

@@ -7,7 +7,7 @@
"authors": [
{
"name": "Tool_tingsu",
"link": ""
"links": "https://github.com/Tooltingsu"
}
],
"settings_ui": "settings.json",

View File

@@ -7,13 +7,15 @@
"authors": [
{
"name": "ddaodan",
"link": "https://github.com/ddaodan"
"links": "https://github.com/ddaodan"
},
{
"name": "秋云"
"name": "秋云",
"links": "https://github.com/physligl"
},
{
"name": "mno"
"name": "mno",
"links": "https://github.com/Bedrockx"
}
],
"settings_ui": "settings.json",

View File

@@ -5,8 +5,8 @@
"description": "原神琴谱自动弹奏脚本,通过读取本地琴谱文件,解析成乐谱对象,然后模拟键盘操作,实现自动弹奏。(需角色手动提前乐器)",
"authors": [
{
"name": "阿城同学",
"link": "https://github.com/shilic"
"name": "阿城同学",
"links": "https://github.com/shilic"
}
],
"settings_ui": "settings.json",

View File

@@ -8,15 +8,14 @@
"bgi_version": "0.35.1"
},
"positions": [
{
"id": 1,
"x":1468.0986328125,
"y":1998.05859375 ,
"x": 1468.0986328125,
"y": 1998.05859375,
"type": "teleport",
"move_mode": "walk",
"action": "",
"action_params": ""
},
]
}
]
}

View File

@@ -5,10 +5,10 @@
"description": "完成周本或首领讨伐等不使用浓缩树脂的副本挑战后,切换好感队前往凯瑟琳领奖、派遣、纪行、尘歌壶。如果是周一会在尘歌壶自动购买树脂",
"authors": [
{
"name": "柒叶子",
"link": "https://github.com/511760049"
"name": "柒叶子",
"links": "https://github.com/5117600049"
}
],
"settings_ui": "settings.json",
"main": "main.js"
}
}

View File

@@ -6,9 +6,9 @@
"authors": [
{
"name": "柒叶子",
"link": "https://github.com/5117600049"
"links": "https://github.com/5117600049"
}
],
"settings_ui": "settings.json",
"main": "main.js"
}
}

View File

@@ -16,7 +16,6 @@
"move_mode": "walk",
"action": "",
"action_params": ""
},
}
]
}

View File

@@ -5,8 +5,8 @@
"description": "挑战前请选好卡组并设好js脚本参数最少持有一张邀请函或1000牌币",
"authors": [
{
"name": "柒叶子",
"link": "https://github.com/511760049"
"name": "柒叶子",
"links": "https://github.com/5117600049"
}
],
"settings_ui": "settings.json",

View File

@@ -1,5 +1,4 @@
[
{
"name": "challengeNumber",
"type": "input-text",
@@ -9,6 +8,5 @@
"name": "letterNumber",
"type": "input-text",
"label": "持有邀请函数量(已邀请角色也算)"
},
}
]

View File

@@ -6,7 +6,7 @@
"authors": [
{
"name": "听雨♪",
"link": "https://github.com/TingYu-lulumi"
"links": "https://github.com/TingYu-lulumi"
}
],
"settings_ui": "settings.json",

View File

@@ -12,4 +12,4 @@
"枫丹合成台"
]
}
]
]

View File

@@ -5,10 +5,10 @@
"description": "请输入料理全部名称,需要0.44.6以及以上版本",
"authors": [
{
"name": "柒叶子",
"link": "https://github.com/511760049"
"name": "柒叶子",
"links": "https://github.com/5117600049"
}
],
"settings_ui": "settings.json",
"main": "main.js"
}
}

View File

@@ -3,5 +3,5 @@
"name": "foodName",
"type": "input-text",
"label": "请输入料理的正确名称 "
},
]
}
]

View File

@@ -1,15 +1,15 @@
{
"manifest_version": 1,
"name": "使用脆弱树脂(图像识别)",
"version": "1.1",
"bgi_version": "0.44.6",
"description": "",
"name": "使用脆弱树脂(图像识别)",
"version": "1.1",
"bgi_version": "0.44.6",
"description": "",
"authors": [
{
"name": "起个名字好难的喵",
"link": "https://github.com/MisakaAldrich"
"links": "https://github.com/MisakaAldrich"
}
],
"settings_ui": "settings.json",
"main": "main.js"
}
}

View File

@@ -5,7 +5,7 @@
"description": "自动晶蝶诱捕装置,安装位置纳塔圣火竞技场传送点",
"authors": [
{
"name": "miludelongwang",
"name": "miludelongwang"
}
],
"settings_ui": "settings.json",

View File

@@ -5,10 +5,10 @@
"description": "需要开启蒙德武器副本,可选择指定队伍",
"authors": [
{
"name": "柒叶子",
"link": "https://github.com/511760049"
"name": "柒叶子",
"links": "https://github.com/5117600049"
}
],
"settings_ui": "settings.json",
"main": "main.js"
}
}

View File

@@ -5,9 +5,10 @@
"description": "",
"authors": [
{
"name": "mno"
"name": "mno",
"links": "https://github.com/Bedrockx"
}
],
"settings_ui": "settings.json",
"main": "main.js"
}
}

View File

@@ -5,7 +5,8 @@
"description": "0.6或1.0精度切换增加识图定位增加画质、动态模糊、Bloom选项",
"authors": [
{
"name": "吉吉喵"
"name": "吉吉喵",
"links": "https://github.com/JJMdzh"
}
],
"settings_ui": "settings.json",

View File

@@ -6,9 +6,10 @@
"authors": [
{
"name": "彩虹QQ人",
"email": "846224811@qq.com"
"email": "846224811@qq.com",
"links": "https://github.com/KRdingsan"
}
],
"settings_ui": "settings.json",
"main": "main.js"
}
}

View File

@@ -6,7 +6,8 @@
"authors": [
{
"name": "彩虹QQ人",
"email": "846224811@qq.com"
"email": "846224811@qq.com",
"links": "https://github.com/KRdingsan"
}
],
"settings_ui": "settings.json",

View File

@@ -5,8 +5,8 @@
"description": "建议钟离、芙芙和优质后台(精通雷神、草神等),另外看情况更改自动战斗的超时时间",
"authors": [
{
"name": "柒叶子",
"link": "https://github.com/511760049"
"name": "柒叶子",
"links": "https://github.com/5117600049"
}
],
"settings_ui": "settings.json",

View File

@@ -5,10 +5,10 @@
"description": "需0.44.6及以上版本兼容所有正常队伍及战斗策略但还是建议在JS设置中选择合适的防御料理(推荐骇浪派)。脚本需要在调度器设置里开启路径追踪行走配置选择切换的队伍打开允许在JsScript中使用打开战斗配置选择战斗策略关闭战斗结束拾取物品和万叶拾取最后根据战斗脚本一次循环的时间在战斗超时中填入比如周本原地版q是14s看情况可以多加一秒另外搭配一条龙领奖无树脂脚本使用体验更佳哟。演示视频https://www.bilibili.com/video/BV1cpGCz6EWN/?vd_source=9dfaf88af48ecc0ff95a41f1145af7a2。",
"authors": [
{
"name": "柒叶子",
"link": "https://github.com/511760049"
"name": "柒叶子",
"links": "https://github.com/5117600049"
}
],
"settings_ui": "settings.json",
"main": "main.js"
}
}

View File

@@ -5,8 +5,8 @@
"description": "需0.44.6及以上版本,兼容所有正常队伍及战斗策略(队伍中必须有奶妈)但还是建议在JS设置中选择合适的防御料理(生命料理以及火抗药剂,没错侵蚀效果吃火抗,我自己发现的)。脚本需要在调度器设置里开启路径追踪行走配置选择切换的队伍打开允许在JsScript中使用打开战斗配置选择战斗策略关闭战斗结束拾取物品和万叶拾取最后根据战斗脚本一次循环的时间在战斗超时中填入比如周本原地版q是14s另外搭配一条龙领奖无树脂脚本使用体验更佳哟。",
"authors": [
{
"name": "柒叶子",
"link": "https://github.com/511760049"
"name": "柒叶子",
"links": "https://github.com/5117600049"
}
],
"settings_ui": "settings.json",

View File

@@ -5,8 +5,8 @@
"description": "需0.44.6及以上版本,兼容所有正常队伍(必须要有冻结反应)及战斗策略但还是建议在JS设置中选择合适的防御料理(推荐骇浪派)。脚本需要在调度器设置里开启路径追踪行走配置选择切换的队伍打开允许在JsScript中使用打开战斗配置选择战斗策略关闭战斗结束拾取物品和万叶拾取最后根据战斗脚本一次循环的时间在战斗超时中填入比如周本队厨神版是14s另外搭配一条龙领奖无树脂脚本使用体验更佳哟。",
"authors": [
{
"name": "柒叶子",
"link": "https://github.com/511760049"
"name": "柒叶子",
"links": "https://github.com/5117600049"
}
],
"settings_ui": "settings.json",

View File

@@ -6,10 +6,10 @@
"description": "需0.44.6及以上版本配队刚需芙芙等大范围索敌角色保证战斗脚本没有任何的转向和移动应该可以正常领取。脚本需要在调度器设置里开启路径追踪行走配置选择切换的队伍打开允许在JsScript中使用打开战斗配置选择战斗策略关闭战斗结束拾取物品和万叶拾取最后根据战斗脚本一次循环的时间在战斗超时中填入比如周本原地版q是14s建议可以比正常单轮时间多个1s另外搭配一条龙领奖无树脂脚本使用体验更佳哟。演示视频https://www.bilibili.com/video/BV1cpGCz6EWN/?vd_source=9dfaf88af48ecc0ff95a41f1145af7a2。",
"authors": [
{
"name": "柒叶子",
"link": "https://github.com/511760049"
"name": "柒叶子",
"links": "https://github.com/5117600049"
}
],
"settings_ui": "settings.json",
"main": "main.js"
}
}

View File

@@ -5,10 +5,10 @@
"description": "需0.44.6及以上版本,兼容大部分正常队伍及战斗策略(禁止大幅度转向和移动技能龙王转圈、纳西达转圈、夜兰e……)但还是建议在JS设置中选择合适的防御料理(推荐骇浪派)。脚本需要在调度器设置里开启路径追踪行走配置选择切换的队伍打开允许在JsScript中使用打开战斗配置选择战斗策略关闭战斗结束拾取物品和万叶拾取最后根据战斗脚本一次循环的时间在战斗超时中填入比如周本原地版q是14s建议可以比正常单轮时间多个1s另外搭配一条龙领奖无树脂脚本使用体验更佳哟。演示视频https://www.bilibili.com/video/BV1cpGCz6EWN/?vd_source=9dfaf88af48ecc0ff95a41f1145af7a2。",
"authors": [
{
"name": "柒叶子",
"link": "https://github.com/511760049"
"name": "柒叶子",
"links": "https://github.com/5117600049"
}
],
"settings_ui": "settings.json",
"main": "main.js"
}
}

View File

@@ -5,10 +5,10 @@
"description": "需0.44.6及以上版本兼容所有正常队伍及战斗策略但还是建议在JS设置中选择合适的防御料理(推荐骇浪派)。脚本需要在调度器设置里开启路径追踪行走配置选择切换的队伍打开允许在JsScript中使用打开战斗配置选择战斗策略关闭战斗结束拾取物品和万叶拾取最后根据战斗脚本一次循环的时间在战斗超时中填入比如周本原地版q是14s看情况可以多加一秒另外搭配一条龙领奖无树脂脚本使用体验更佳哟。演示视频https://www.bilibili.com/video/BV1cpGCz6EWN/?vd_source=9dfaf88af48ecc0ff95a41f1145af7a2。",
"authors": [
{
"name": "柒叶子",
"link": "https://github.com/511760049"
"name": "柒叶子",
"links": "https://github.com/5117600049"
}
],
"settings_ui": "settings.json",
"main": "main.js"
}
}

View File

@@ -5,10 +5,10 @@
"description": "需0.44.6及以上版本,兼容大部分正常队伍及战斗策略(禁止大幅度转向和移动技能龙王转圈、纳西达转圈、夜兰e……)但还是建议在JS设置中选择合适的防御料理(推荐骇浪派)。脚本需要在调度器设置里开启路径追踪行走配置选择切换的队伍打开允许在JsScript中使用打开战斗配置选择战斗策略关闭战斗结束拾取物品和万叶拾取最后根据战斗脚本一次循环的时间在战斗超时中填入比如周本火神原地版是28s建议可以比正常单轮时间多个1s另外搭配一条龙领奖无树脂脚本使用体验更佳哟。演示视频https://www.bilibili.com/video/BV1cpGCz6EWN/?vd_source=9dfaf88af48ecc0ff95a41f1145af7a2。",
"authors": [
{
"name": "柒叶子",
"link": "https://github.com/511760049"
"name": "柒叶子",
"links": "https://github.com/5117600049"
}
],
"settings_ui": "settings.json",
"main": "main.js"
}
}

View File

@@ -5,10 +5,10 @@
"description": "需0.44.6及以上版本,兼容所有正常队伍及战斗策略(禁止大幅度转向和移动技能龙王转圈、纳西达转圈、夜兰e……)但还是建议在JS设置中选择合适的防御料理(推荐骇浪派)另外最重要的是没有六命老芭请一定要选择使用复活料理和恢复料理。脚本需要在调度器设置里开启路径追踪行走配置选择切换的队伍打开允许在JsScript中使用打开战斗配置选择战斗策略关闭战斗结束拾取物品和万叶拾取最后根据战斗脚本一次循环的时间在战斗超时中填入比如周本原地版q是14s建议可以比正常单轮时间多个1s另外搭配一条龙领奖无树脂脚本使用体验更佳哟。演示视频https://www.bilibili.com/video/BV1cpGCz6EWN/?vd_source=9dfaf88af48ecc0ff95a41f1145af7a2。",
"authors": [
{
"name": "柒叶子",
"link": "https://github.com/511760049"
"name": "柒叶子",
"links": "https://github.com/5117600049"
}
],
"settings_ui": "settings.json",
"main": "main.js"
}
}

View File

@@ -5,10 +5,10 @@
"description": "需0.44.6及以上版本,兼容所有正常队伍及战斗策略(禁止大幅度转向和移动技能龙王转圈、纳西达转圈、夜兰e……)但还是建议在JS设置中选择合适的防御料理(推荐骇浪派)另外最重要的是没有六命老芭请一定要选择使用复活料理和恢复料理。脚本需要在调度器设置里开启路径追踪行走配置选择切换的队伍打开允许在JsScript中使用打开战斗配置选择战斗策略关闭战斗结束拾取物品和万叶拾取最后根据战斗脚本一次循环的时间在战斗超时中填入比如周本原地版q是14s建议可以比正常单轮时间多个1s另外搭配一条龙领奖无树脂脚本使用体验更佳哟。演示视频https://www.bilibili.com/video/BV1cpGCz6EWN/?vd_source=9dfaf88af48ecc0ff95a41f1145af7a2。",
"authors": [
{
"name": "柒叶子",
"link": "https://github.com/511760049"
"name": "柒叶子",
"links": "https://github.com/5117600049"
}
],
"settings_ui": "settings.json",
"main": "main.js"
}
}

View File

@@ -5,10 +5,10 @@
"description": "需0.44.6及以上版本兼容所有正常队伍及战斗策略但还是建议在JS设置中选择合适的防御料理(推荐骇浪派)。脚本需要在调度器设置里开启路径追踪行走配置选择切换的队伍打开允许在JsScript中使用打开战斗配置选择战斗策略关闭战斗结束拾取物品和万叶拾取最后根据战斗脚本一次循环的时间在战斗超时中填入比如周本火神原地版是28s建议可以比正常单轮时间多个1s另外搭配一条龙领奖无树脂脚本使用体验更佳哟。演示视频https://www.bilibili.com/video/BV1cpGCz6EWN/?vd_source=9dfaf88af48ecc0ff95a41f1145af7a2。",
"authors": [
{
"name": "柒叶子",
"link": "https://github.com/511760049"
"name": "柒叶子",
"links": "https://github.com/5117600049"
}
],
"settings_ui": "settings.json",
"main": "main.js"
}
}

View File

@@ -5,10 +5,10 @@
"description": "需0.44.6及以上版本兼容所有正常队伍及战斗策略但还是建议在JS设置中选择合适的防御料理(推荐骇浪派)。脚本需要在调度器设置里开启路径追踪行走配置选择切换的队伍打开允许在JsScript中使用打开战斗配置选择战斗策略关闭战斗结束拾取物品和万叶拾取最后根据战斗脚本一次循环的时间在战斗超时中填入比如周本原地版q是14s建议可以比正常单轮时间多个1s另外搭配一条龙领奖无树脂脚本使用体验更佳哟。演示视频https://www.bilibili.com/video/BV1cpGCz6EWN/?vd_source=9dfaf88af48ecc0ff95a41f1145af7a2。",
"authors": [
{
"name": "柒叶子",
"link": "https://github.com/511760049"
"name": "柒叶子",
"links": "https://github.com/5117600049"
}
],
"settings_ui": "settings.json",
"main": "main.js"
}
}

Some files were not shown because too many files have changed in this diff Show More