JS脚本:提瓦特全自动钓鱼【更新】 (#1361)

This commit is contained in:
提瓦特钓鱼玳师
2025-07-17 17:37:34 +08:00
committed by GitHub
parent b8a6ff7bd0
commit c56022c38a
3 changed files with 33 additions and 20 deletions

View File

@@ -13,7 +13,7 @@
7. 支持自定义钓鱼超时时间 7. 支持自定义钓鱼超时时间
8. 支持设置定时关闭最多24小时 8. 支持设置定时关闭最多24小时
9. 4点自动领取月卡可选 9. 4点自动领取月卡可选
10. 自动记录垂钓点冷却时间(进入其他世界钓鱼时请关闭此功能 10. 自动记录垂钓点冷却时间(多人模式自动关闭
11. 启用自动拾取(可选) 11. 启用自动拾取(可选)
## 注意事项 ## 注意事项
@@ -23,6 +23,8 @@
3. 同时选择鱼类和鱼饵的情况下按照以下逻辑选择路线: 所有被选的鱼类会被加入任务列表,如果选择的鱼饵中某个鱼饵不是已选的任何一个鱼类的对应的鱼饵,那么这个鱼饵对应的所有鱼类将被添加到任务列表 3. 同时选择鱼类和鱼饵的情况下按照以下逻辑选择路线: 所有被选的鱼类会被加入任务列表,如果选择的鱼饵中某个鱼饵不是已选的任何一个鱼类的对应的鱼饵,那么这个鱼饵对应的所有鱼类将被添加到任务列表
4. JS脚本的设置内各设置项含有优先级如果存在高优先级且选项不为默认则只有最高优先级的设置项生效 4. JS脚本的设置内各设置项含有优先级如果存在高优先级且选项不为默认则只有最高优先级的设置项生效
5. 部分钓鱼点为路径追踪+键鼠脚本(GCM)的混合模式可能会出现因键鼠脚本误差卡死的情况如果出现这种情况请在JS脚本设置禁用键鼠路线来禁用所有包含键鼠脚本的钓鱼点 5. 部分钓鱼点为路径追踪+键鼠脚本(GCM)的混合模式可能会出现因键鼠脚本误差卡死的情况如果出现这种情况请在JS脚本设置禁用键鼠路线来禁用所有包含键鼠脚本的钓鱼点
6. 如果启用了自动记录垂钓点冷却时间进入其他世界钓鱼时请关闭该功能防止垂钓点CD冲突关闭后不会影响本地的CD存档回到单人后再次启用即可
7. 请确保```F2```用于打开**多人游戏**窗口否则会影响多人模式检测导致CD记录出现误差
## 其它 ## 其它

View File

@@ -468,7 +468,7 @@
let step_flag = 0; // 领取月卡步骤标志 let step_flag = 0; // 领取月卡步骤标志
while (auto_skip && time_now < time_4 && time_predict_end >= time_4) { while (auto_skip && time_now < time_4 && time_predict_end >= time_4) {
log.info(`等待领取月卡(剩余${Math.floor((time_4 - new Date()) / 1000)}s)...`); log.info(`等待领取月卡(剩余${Math.floor((time_4 - new Date()) / 1000)}s)...`);
if (step_flag == 0) { if (step_flag === 0) {
// 传送到七天神像 // 传送到七天神像
await pathingScript.runFile(base_path_pathing + statue_name + ".json"); await pathingScript.runFile(base_path_pathing + statue_name + ".json");
step_flag += 1; step_flag += 1;
@@ -486,8 +486,8 @@
} }
// 领取月卡(点击两次) // 领取月卡(点击两次)
if (step_flag == 2) { if (step_flag === 2) {
step_flag = 0; // step_flag = 0;
await sleep(5); // 补回容错时间 await sleep(5); // 补回容错时间
await click(1450, 1020); // 点击时间调节的确认按钮的位置 await click(1450, 1020); // 点击时间调节的确认按钮的位置
await sleep(5); // 等待月卡动画时间 await sleep(5); // 等待月卡动画时间
@@ -555,7 +555,7 @@
} }
} }
//await pathingScript.runFile(base_path_pathing + file_name + ".json"); await pathingScript.runFile(base_path_pathing + file_name + ".json");
// 执行键鼠脚本 // 执行键鼠脚本
if (path_msg["addition"] === "GCM") { if (path_msg["addition"] === "GCM") {
@@ -563,12 +563,12 @@
} }
// 调用自动钓鱼 // 调用自动钓鱼
// await genshin.autofishing(fishing_time_dic[fishing_time]["param"]); await genshin.autofishing(fishing_time_dic[fishing_time]["param"]);
// await dispatcher.runTask(new SoloTask("AutoFishing", { await dispatcher.runTask(new SoloTask("AutoFishing", {
// "fishingTimePolicy": fishing_time_dic[fishing_time]["param"], "fishingTimePolicy": fishing_time_dic[fishing_time]["param"],
// "throwRodTimeOutTimeoutSeconds": time_out_throw, "throwRodTimeOutTimeoutSeconds": time_out_throw,
// "wholeProcessTimeoutSeconds": time_out_whole "wholeProcessTimeoutSeconds": time_out_whole
// })); }));
if (fishing_cd) { if (fishing_cd) {
write_archive(file_name, fishing_time, Date.now(), uid); write_archive(file_name, fishing_time, Date.now(), uid);
@@ -603,7 +603,7 @@
// 读取4点自动领取月卡的设置 // 读取4点自动领取月卡的设置
const auto_skip = typeof(settings.auto_skip) === 'undefined' ? false : settings.auto_skip; const auto_skip = typeof(settings.auto_skip) === 'undefined' ? false : settings.auto_skip;
// 读取垂钓点CD统计 // 读取垂钓点CD统计
const fishing_cd = typeof(settings.fishing_cd) === 'undefined' ? false: settings.fishing_cd; let fishing_cd = typeof(settings.fishing_cd) === 'undefined' ? false: settings.fishing_cd;
// 读取终止时间 // 读取终止时间
const kill_hour = typeof(settings.time_kill_hour) === 'undefined' ? "无" : settings.time_kill_hour; const kill_hour = typeof(settings.time_kill_hour) === 'undefined' ? "无" : settings.time_kill_hour;
const kill_minute = typeof(settings.time_kill_minute) === 'undefined' ? "无" : settings.time_kill_minute; const kill_minute = typeof(settings.time_kill_minute) === 'undefined' ? "无" : settings.time_kill_minute;
@@ -613,20 +613,30 @@
// 获取当前用户UID // 获取当前用户UID
let uid = "default_user"; let uid = "default_user";
if (fishing_cd) { if (fishing_cd) {
const ocrRo = RecognitionObject.Ocr(166, 198, 120, 22); const ocrRoUid = RecognitionObject.Ocr(166, 198, 120, 22);
const ocrRoText = RecognitionObject.Ocr(1565, 997, 177, 39);
genshin.returnMainUi(); genshin.returnMainUi();
await sleep(1000); await sleep(1000);
keyPress("Escape"); keyPress("Escape");
await sleep(1000); await sleep(1000);
let ocr = captureGameRegion().Find(ocrRo); // 当前页面OCR let ocrUid = captureGameRegion().Find(ocrRoUid); // 当前页面OCR
if (ocr.isExist()) { if (ocrUid.isExist()) {
uid = ocr.text; uid = ocrUid.text;
} }
keyPress("Escape"); await genshin.returnMainUi();
keyPress("F2"); // 按下F2打开多人模式界面
await sleep(1000);
let ocrText = captureGameRegion().Find(ocrRoText); // 当前页面OCR
if (ocrText.isExist() && ocrText.text === "回到单人模式") {
fishing_cd = false; // 多人模式下关闭CD记录功能
}
await sleep(500);
keyPress("Escape");
} }
if (is_time_kill) { if (is_time_kill) {

View File

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