diff --git a/repo/js/使用历练点完成每日委托/Assets/AutoPath/冒险家协会_挪德卡莱.json b/repo/js/使用历练点完成每日委托/Assets/AutoPath/冒险家协会_挪德卡莱.json index 9c01dcc70..06039ada0 100644 --- a/repo/js/使用历练点完成每日委托/Assets/AutoPath/冒险家协会_挪德卡莱.json +++ b/repo/js/使用历练点完成每日委托/Assets/AutoPath/冒险家协会_挪德卡莱.json @@ -1,40 +1,40 @@ -{ - "info": { - "authors": [ - { - "links": "", - "name": "蜜柑魚" - } - ], - "bgi_version": "0.45.0", - "description": "", - "enable_monster_loot_split": false, - "last_modified_time": 1762368339000, - "map_match_method": "", - "map_name": "Teyvat", - "name": "冒险家协会_挪德卡莱", - "tags": [], - "type": "collect", - "version": "1.0" - }, - "positions": [ - { - "action": "", - "action_params": "", - "id": 1, - "move_mode": "walk", - "type": "teleport", - "x": 9458.0341796875, - "y": 1660.66455078125 - }, - { - "action": "combat_script", - "action_params": "wait(0.5)", - "id": 2, - "move_mode": "walk", - "type": "target", - "x": 9461.4208984375, - "y": 1663.5849609375 - } - ] +{ + "info": { + "authors": [ + { + "links": "", + "name": "蜜柑魚" + } + ], + "bgi_version": "0.53.0", + "description": "", + "enable_monster_loot_split": false, + "last_modified_time": 1762368339000, + "map_match_method": "", + "map_name": "Teyvat", + "name": "冒险家协会_挪德卡莱", + "tags": [], + "type": "collect", + "version": "1.0" + }, + "positions": [ + { + "action": "", + "action_params": "", + "id": 1, + "move_mode": "walk", + "type": "teleport", + "x": 9458.0341796875, + "y": 1660.66455078125 + }, + { + "action": "", + "action_params": "", + "id": 2, + "move_mode": "walk", + "type": "target", + "x": 9461.4208984375, + "y": 1663.5849609375 + } + ] } \ No newline at end of file diff --git a/repo/js/使用历练点完成每日委托/Assets/AutoPath/冒险家协会_枫丹.json b/repo/js/使用历练点完成每日委托/Assets/AutoPath/冒险家协会_枫丹.json index 5d7c226f7..ddfe6a1cd 100644 --- a/repo/js/使用历练点完成每日委托/Assets/AutoPath/冒险家协会_枫丹.json +++ b/repo/js/使用历练点完成每日委托/Assets/AutoPath/冒险家协会_枫丹.json @@ -1,28 +1,48 @@ -{ - "info": { - "name": "冒险家协会_枫丹", - "type": "collect", - "author": "yemaxul", - "version": "2.0", - "description": "传送到枫丹冒险家协会", - "bgiVersion": "0.35.0" - }, - "positions": [ - { - "id": 1, - "x": 4508.97509765625, - "y": 3630.557373046875, - "type": "teleport", - "move_mode": "walk", - "action": "" - }, - { - "id": 2, - "x": 4495.7001953125, - "y": 3637.89501953125, - "type": "target", - "move_mode": "walk", - "action": "" - } - ] +{ + "info": { + "authors": [ + { + "links": "", + "name": "起个名字好难的喵" + } + ], + "bgi_version": "0.45.0", + "description": "", + "last_modified_time": 1769335370377, + "map_match_method": "", + "map_name": "Teyvat", + "name": "冒险家协会_枫丹", + "tags": [], + "type": "collect", + "version": "1.0" + }, + "positions": [ + { + "action": "", + "action_params": "", + "id": 1, + "move_mode": "walk", + "type": "teleport", + "x": 4509.001953125, + "y": 3630.5986328125 + }, + { + "action": "", + "action_params": "", + "id": 2, + "move_mode": "walk", + "type": "path", + "x": 4500.5625, + "y": 3630.69677734375 + }, + { + "action": "", + "action_params": "", + "id": 3, + "move_mode": "walk", + "type": "target", + "x": 4495.94140625, + "y": 3638.5205078125 + } + ] } \ No newline at end of file diff --git a/repo/js/使用历练点完成每日委托/Assets/AutoPath/冒险家协会_璃月.json b/repo/js/使用历练点完成每日委托/Assets/AutoPath/冒险家协会_璃月.json index c57ac44ce..990feb04d 100644 --- a/repo/js/使用历练点完成每日委托/Assets/AutoPath/冒险家协会_璃月.json +++ b/repo/js/使用历练点完成每日委托/Assets/AutoPath/冒险家协会_璃月.json @@ -1,60 +1,93 @@ -{ +{ "info": { - "name": "璃月凯瑟琳", - "type": "collect", - "author": "½", - "version": "1.0", + "authors": [ + { + "links": "", + "name": "起个名字好难的喵" + } + ], + "bgi_version": "0.45.0", "description": "", - "bgiVersion": "0.35.1" + "last_modified_time": 1769343676091, + "map_match_method": "", + "map_name": "Teyvat", + "name": "冒险家协会_璃月", + "tags": [], + "type": "collect", + "version": "1.0" }, "positions": [ { - "id": 1, - "x": 267.958984375, - "y": -665.10888671875, "action": "", + "action_params": "", + "id": 1, "move_mode": "walk", - "type": "teleport" + "type": "teleport", + "x": 267.947265625, + "y": -665.119140625 }, { + "action": "", + "action_params": "", "id": 2, - "x": 258.3662109375, - "y": -663.82177734375, - "type": "path", "move_mode": "walk", - "action": "" + "type": "path", + "x": 247.734375, + "y": -662.94921875 }, { + "action": "", + "action_params": "", "id": 3, - "x": 246.689453125, - "y": -662.83740234375, - "type": "path", "move_mode": "walk", - "action": "" + "type": "path", + "x": 230.8896484375, + "y": -660.6494140625 }, { + "action": "", + "action_params": "", "id": 4, - "x": 233.8564453125, - "y": -661.95849609375, - "type": "path", "move_mode": "walk", - "action": "" + "type": "path", + "x": 227.0048828125, + "y": -658.09765625 }, { + "action": "", + "action_params": "", "id": 5, - "x": 219.0625, - "y": -657.271484375, - "type": "target", "move_mode": "walk", - "action": "" + "type": "path", + "x": 217.0625, + "y": -657.5771484375 }, { + "action": "", + "action_params": "", "id": 6, - "x": 203.84765625, - "y": -659.7158203125, - "type": "path", "move_mode": "walk", - "action": "" + "type": "path", + "x": 209.7392578125, + "y": -659.1416015625 + }, + { + "action": "", + "action_params": "", + "id": 7, + "move_mode": "walk", + "type": "path", + "x": 204.67578125, + "y": -662.45703125 + }, + { + "action": "", + "action_params": "", + "id": 8, + "move_mode": "walk", + "type": "target", + "x": 203.5126953125, + "y": -659.86328125 } ] } \ No newline at end of file diff --git a/repo/js/使用历练点完成每日委托/Assets/AutoPath/冒险家协会_稻妻.json b/repo/js/使用历练点完成每日委托/Assets/AutoPath/冒险家协会_稻妻.json index 7914112de..ba268b1b2 100644 --- a/repo/js/使用历练点完成每日委托/Assets/AutoPath/冒险家协会_稻妻.json +++ b/repo/js/使用历练点完成每日委托/Assets/AutoPath/冒险家协会_稻妻.json @@ -1,36 +1,57 @@ -{ +{ "info": { - "name": "稻妻凯瑟琳", - "type": "collect", - "author": "½", - "version": "1.0", + "authors": [ + { + "links": "", + "name": "起个名字好难的喵" + } + ], + "bgi_version": "0.45.0", "description": "", - "bgiVersion": "0.35.1" + "last_modified_time": 1769342575161, + "map_match_method": "", + "map_name": "Teyvat", + "name": "冒险家协会_稻妻", + "tags": [], + "type": "collect", + "version": "1.0" }, "positions": [ { - "id": 1, "action": "", + "action_params": "", + "id": 1, "move_mode": "walk", "type": "teleport", - "x": -4402.556640625, - "y": -3053.041015625 + "x": -4402.544921875, + "y": -3052.9765625 }, { + "action": "", + "action_params": "", "id": 2, - "x": -4408.984375, - "y": -3068.2470703125, - "type": "path", "move_mode": "walk", - "action": "" + "type": "path", + "x": -4416.03515625, + "y": -3081.666015625 }, { + "action": "", + "action_params": "", "id": 3, - "x": -4418.185546875, - "y": -3086.4326171875, - "type": "path", "move_mode": "walk", - "action": "" + "type": "path", + "x": -4419.468791093892, + "y": -3086.062542740572 + }, + { + "action": "", + "action_params": "", + "id": 4, + "move_mode": "walk", + "type": "target", + "x": -4418.54296875, + "y": -3086.87890625 } ] } \ No newline at end of file diff --git a/repo/js/使用历练点完成每日委托/Assets/AutoPath/冒险家协会_须弥.json b/repo/js/使用历练点完成每日委托/Assets/AutoPath/冒险家协会_须弥.json new file mode 100644 index 000000000..104adb1fa --- /dev/null +++ b/repo/js/使用历练点完成每日委托/Assets/AutoPath/冒险家协会_须弥.json @@ -0,0 +1,57 @@ +{ + "info": { + "authors": [ + { + "links": "", + "name": "起个名字好难的喵" + } + ], + "bgi_version": "0.45.0", + "description": "", + "last_modified_time": 1769342917860, + "map_match_method": "", + "map_name": "Teyvat", + "name": "冒险家协会_须弥", + "tags": [], + "type": "collect", + "version": "1.0" + }, + "positions": [ + { + "action": "", + "action_params": "", + "id": 1, + "move_mode": "walk", + "type": "teleport", + "x": 2786.9990234375, + "y": -503.1044921875 + }, + { + "action": "", + "action_params": "", + "id": 2, + "move_mode": "walk", + "type": "path", + "x": 2786.93359375, + "y": -488.0771484375 + }, + { + "action": "", + "action_params": "", + "id": 3, + "move_mode": "walk", + "type": "path", + "x": 2771.9033203125, + "y": -476.23046875 + }, + { + "action": "", + "action_params": "", + "id": 4, + "move_mode": "walk", + "type": "target", + "x": 2765.5185546875, + "y": -476.056640625 + } + ] +} \ No newline at end of file diff --git a/repo/js/使用历练点完成每日委托/main.js b/repo/js/使用历练点完成每日委托/main.js index 1dc88750f..011a2e8fa 100644 --- a/repo/js/使用历练点完成每日委托/main.js +++ b/repo/js/使用历练点完成每日委托/main.js @@ -1,3 +1,4 @@ +// 當前版本2.1.3 // Encounter Points const AdventurerHandbookButtonRo = RecognitionObject.TemplateMatch(file.ReadImageMatSync("Assets/RecognitionObject/Adventurer Handbook Button.png"), 100, 300, 700, 700); const EncounterPointsStageRewardsRo = RecognitionObject.TemplateMatch(file.ReadImageMatSync("Assets/RecognitionObject/Encounter Points Stage Rewards.png"), 1500, 700, 100, 100); @@ -29,7 +30,6 @@ const removedCharacters2 = settings.removedCharacters2 || false; const removedCharacters3 = settings.removedCharacters3 || false; const removedCharacters4 = settings.removedCharacters4 || false; // 读取配置文件 -const settingsWeek = settings.week; const settingsNotDoublePoints = settings.notDoublePoints || false; const settingsAppointFriendName = settings.appointFriendName ? settings.appointFriendName.trim() : ""; @@ -40,45 +40,8 @@ const adventurePath = settings.adventurePath || '蒙德'; // 若未定义,用 * @returns {Promise} */ (async function () { - let shouldRun = false; // 标志变量 - let dayOfWeek = -1; // 星期变量 - - // 判断设置合法性 - var items = []; - await genshin.returnMainUi(); - // 判定 每天执行 / 星期几、是否使用历练点领奖 - if (settingsWeek === "0") { - shouldRun = true; - log.info("设置每天执行,开始使用历练点完成每日委托"); - } else if (settingsWeek) { - items = validateAndStoreNumbers(settingsWeek); - if (!items) { - log.error("星期设置格式错误,请使用类似'1,3,5,7'的格式"); - return; - } - - // 获取调整后的星期几(考虑00:00~04:00视为前一天) - dayOfWeek = getAdjustedDayOfWeek(); - - // 检查当前星期是否在用户设置的范围内 - if (items.includes(dayOfWeek)) { - shouldRun = true; - log.info(`今天是星期 ${dayOfWeek},开始使用历练点完成每日委托`); - } else { - log.info(`今天是星期 ${dayOfWeek},不使用历练点`); - log.info(`交互或拾取:"不运行"`); - return; - } - } else { - log.error("还没有设置需要在星期几使用历练点完成每日委托呢"); - log.error("请在调试器里添加本脚本->右键JS脚本->修改JS脚本自定义配置."); - return; - } - - // 检查是否可以领取历练点奖励 - //好友尘歌壶历時檢查 // 直接領取時檢查&領取 log.info("检查是否可以领取历练点奖励"); if (await checkEncounterPointsRewards() == true) { @@ -89,84 +52,76 @@ const adventurePath = settings.adventurePath || '蒙德'; // 若未定义,用 return; } - if (shouldRun) { - try { - // 切换队伍 - if (!!settings.partyName) { - try { - log.info("正在尝试切换至" + settings.partyName); - if (!settings.disableGoStatue) { - log.info("正在传送回七天神像切换队伍"); - await genshin.TpToStatueOfTheSeven(); - await SwitchParty(settings.partyName); - } else { - await genshin.returnMainUi(); - await SwitchParty(settings.partyName); - } - } catch { - log.warn("\n\n队伍切换失败,可能是:\n1.处于联机模式 \n2.无法正确识别\n3.JS自定义配置中的队伍名称设置错误,请检查!\n"); + try { + // 切换队伍 + if (!!settings.partyName) { + try { + log.info("正在尝试切换至" + settings.partyName); + if (!settings.disableGoStatue) { + log.info("正在传送回七天神像切换队伍"); + await genshin.TpToStatueOfTheSeven(); + await SwitchParty(settings.partyName); + } else { await genshin.returnMainUi(); + await SwitchParty(settings.partyName); } - } else { + } catch { + log.warn("\n\n队伍切换失败,可能是:\n1.处于联机模式 \n2.无法正确识别\n3.JS自定义配置中的队伍名称设置错误,请检查!\n"); await genshin.returnMainUi(); } + } else { + await genshin.returnMainUi(); + } - // 区分双倍好感 - if (settingsNotDoublePoints == true) { - // 不使用好友尘歌壶领双倍好感的情况 - // 如果有设置队伍名称,需要在切换队伍后单独领取历练点奖励 - if (!!settings.partyName) { - await claimEncounterPointsRewards(); - } - await fontaineCatherineCommissionAward() - } else if (settingsNotDoublePoints == false) { - // 使用好友尘歌壶领双倍好感的情况 - let request_times = settings.request_times * 2; - let total_clicks = request_times ? request_times : 14; - // 指定好友名称 - if (settingsAppointFriendName !== "") { - let enterStatus = await AppointFriendRequestToVisitSereniteaPot(); - if (enterStatus) { - await sleep(2000); - log.info("正在让指定位置角色离队"); - await removeSpecifiedRole(); - await claimEncounterPointsRewards(); - await ReturnToBigWorld(); - await fontaineCatherineCommissionAward() - } else { - log.warn("好友列表未能识别出设置的好友名称"); - log.info("尝试依次进入"); - await pageTop(RightSliderTopRo); - let enterStatus = await RequestToVisitSereniteaPot(total_clicks); - if (enterStatus) { - await sleep(2000); - log.info("正在让指定位置角色离队"); - await removeSpecifiedRole(); - await claimEncounterPointsRewards(); - await ReturnToBigWorld(); - await fontaineCatherineCommissionAward() - } - } - } else if (settingsAppointFriendName == "") { - log.warn("未设置指定好友,执行依次进入"); - let enterStatus = await RequestToVisitSereniteaPot(total_clicks); - if (enterStatus) { - await sleep(2000); - log.info("正在让指定位置角色离队"); - await removeSpecifiedRole(); - await claimEncounterPointsRewards(); - await ReturnToBigWorld(); - await fontaineCatherineCommissionAward() - } - } else { - log.warn("出现异常,请检查自定义参数和日志,也可能是没有好友开放尘歌壶"); + // 区分双倍好感 + if (settingsNotDoublePoints) { + // 不使用好友尘歌壶领双倍好感的情况 + // 如果有设置队伍名称,需要在切换队伍后单独领取历练点奖励 + if (!!settings.partyName) { + await claimEncounterPointsRewards(); + } + await fontaineCatherineCommissionAward() + } else { + // 使用好友尘歌壶领双倍好感的情况 + let request_times = settings.request_times * 2; + let total_clicks = request_times ? request_times : 14; + let enterStatus = false + + // 指定好友名称 + if (settingsAppointFriendName) { + log.info(`尝试进入指定好友 [${settingsAppointFriendName}] 的尘歌壶`); + enterStatus = await AppointFriendRequestToVisitSereniteaPot(); + + if (!enterStatus) { + log.warn("无法进入指定好友尘歌壶,可能原因:未开放/识别失败"); + log.info("尝试改为「依次进入」模式..."); + await pageTop(RightSliderTopRo); + enterStatus = await RequestToVisitSereniteaPot(total_clicks); } + } else { + log.info("未设置指定好友,执行「依次进入」模式"); + enterStatus = await RequestToVisitSereniteaPot(total_clicks); } - } catch (e) { - log.error("失败,请检查设置"); - return; + if (enterStatus) { + log.info("成功进入尘歌壶,开始执行后续操作") + await sleep(2000); + + log.info("正在让指定位置角色离队"); + await removeSpecifiedRole(); + + await claimEncounterPointsRewards(); + await ReturnToBigWorld(); + await fontaineCatherineCommissionAward() + } else { + // 这里捕获「完全无法进入」的情况 + log.error("无法进入任何好友的尘歌壶,可能是没有好友全都未开放权限。"); + } } + + } catch (e) { + log.error("失败,请检查设置"); + return; } // 以下为可供调用的函数部分 @@ -604,7 +559,7 @@ const adventurePath = settings.adventurePath || '蒙德'; // 若未定义,用 } else { log.warn("出现异常情况或超时,请检查"); } - await sleep(2000); + await sleep(3000); } } } @@ -728,23 +683,7 @@ const adventurePath = settings.adventurePath || '蒙德'; // 若未定义,用 } } - // 获取调整后的星期几(考虑00:00~04:00视为前一天) - function getAdjustedDayOfWeek() { - const now = new Date(); - let dayOfWeek = now.getDay(); // 0-6 (0是周日) - const hours = now.getHours(); - // 如果时间在00:00~04:00之间,视为前一天 - if (hours < 4) { - dayOfWeek = dayOfWeek === 0 ? 6 : dayOfWeek - 1; // 前一天 - log.info(`当前时间 ${now.getHours()}:${now.getMinutes()},视为前一天(星期 ${dayOfWeek === 0 ? 7 : dayOfWeek})`); - } else { - log.info(`当前时间 ${now.getHours()}:${now.getMinutes()},使用当天(星期 ${dayOfWeek === 0 ? 7 : dayOfWeek})`); - } - - // 转换为1-7格式(7代表周日) - return dayOfWeek === 0 ? 7 : dayOfWeek; - } // 自動凱瑟琳領奬 async function fontaineCatherineCommissionAward() { @@ -769,7 +708,8 @@ const adventurePath = settings.adventurePath || '蒙德'; // 若未定义,用 await keyPress("f"); await sleep(1000); // 利用自動劇情領奬 - dispatcher.addTimer(new RealtimeTimer("AutoSkip")); + config.AutoReExploreEnabled = true; + dispatcher.addTimer(new RealtimeTimer("AutoSkip", config)); await sleep(10000); await genshin.returnMainUi(); await sleep(1000); diff --git a/repo/js/使用历练点完成每日委托/manifest.json b/repo/js/使用历练点完成每日委托/manifest.json index 745759813..82ffac55b 100644 --- a/repo/js/使用历练点完成每日委托/manifest.json +++ b/repo/js/使用历练点完成每日委托/manifest.json @@ -1,7 +1,7 @@ { "manifest_version": 1, "name": "使用历练点完成每日委托", - "version": "2.1.2", + "version": "2.1.3", "bgi_version": "0.44.1", "description": "使用历练点完成每日委托:\n支持进入好友尘歌壶,使用历练点领取双倍好感(队伍中小于等于两人时,能使队伍中两人获得双倍好感)\n支持进入好友尘歌壶后,让指定位置角色离队\n能指定星期几执行,星期几不执行\n前往冒险家协会领取奖励", "authors": [ diff --git a/repo/js/使用历练点完成每日委托/settings.json b/repo/js/使用历练点完成每日委托/settings.json index 21589e0f2..2550ba771 100644 --- a/repo/js/使用历练点完成每日委托/settings.json +++ b/repo/js/使用历练点完成每日委托/settings.json @@ -9,12 +9,6 @@ "type": "checkbox", "label": "关闭前往七天神像" }, - { - "name": "week", - "type": "input-text", - "label": "指定星期几执行\n(使用\",\"分割多个星期几)\n例:输入\"2,3,4,5,6,7\"\n⠀⠀⠀会在星期2,3,4,5,6,日才执行使用历练点完成每日委托\n输入\"0\"则为每天执行", - "default": "0" - }, { "name": "notDoublePoints", "type": "checkbox", @@ -59,6 +53,7 @@ "蒙德", "璃月", "稻妻", + "须弥", "枫丹", "挪德卡莱" ],