使用历练点完成每日委托2.1.3 (#2920)

移除週判斷、交給是否能領奬判定
更新冒險家協會路徑與選項
自动剧情加入參數
修改进入尘歌壶之后的操作
This commit is contained in:
this-Fish
2026-02-24 16:56:30 +08:00
committed by GitHub
parent 995d8e55a5
commit 7007e77907
8 changed files with 311 additions and 245 deletions

View File

@@ -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
}
]
}

View File

@@ -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
}
]
}

View File

@@ -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
}
]
}

View File

@@ -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
}
]
}

View File

@@ -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
}
]
}

View File

@@ -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<void>}
*/
(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);

View File

@@ -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": [

View File

@@ -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 @@
"蒙德",
"璃月",
"稻妻",
"须弥",
"枫丹",
"挪德卡莱"
],