JS脚本:feat:双倍好感度支持指定翻页寻找好友,fix:自增坐标间隔好友因单击取消选项卡不点及第四位好友错点备注的bug (#510)
This commit is contained in:
@@ -1,115 +0,0 @@
|
||||
(async function () {
|
||||
|
||||
async function RequestToVisitSereniteaPot(total_clicks) {
|
||||
setGameMetrics(3840, 2160, 1.5);
|
||||
await sleep(2000);
|
||||
keyPress("VK_ESCAPE");
|
||||
await sleep(2000);
|
||||
click(1020,840);
|
||||
await sleep(2000);
|
||||
|
||||
let y_avatar = 355; //好友头像按钮起始Y坐标
|
||||
let y_request = 489; //申请造访按钮起始Y坐标
|
||||
const x_avatar = 415;
|
||||
const x_request = 920;
|
||||
const avatar_increment = 250; //两按钮相隔坐标
|
||||
const request_increment = 249; //两按钮相隔坐标
|
||||
const request_fixed_value = 1118; //第四~七位好友申请造访按钮Y坐标
|
||||
let request_count = 0;
|
||||
|
||||
// 先申请造访首位好友的尘歌壶
|
||||
log.info("正在申请造访第 1 位好友尘歌壶");
|
||||
click(x_avatar, y_avatar);
|
||||
await sleep(1000);
|
||||
click(x_request, y_request);
|
||||
await sleep(1000);
|
||||
|
||||
// 依次申请造访第二~七位好友的尘歌壶
|
||||
for (let i = 2; i < total_clicks; i++) {
|
||||
if (i % 2 === 0) {
|
||||
// 偶数索引,递增 y_avatar
|
||||
y_avatar += avatar_increment;
|
||||
log.info(`正在申请造访第 ${i/2+1} 位好友尘歌壶`);
|
||||
click(x_avatar, y_avatar);
|
||||
await sleep(1000);
|
||||
} else {
|
||||
// 奇数索引,递增 y_request
|
||||
if (request_count < 3) {
|
||||
// 前 3 次递增 249
|
||||
y_request += request_increment;
|
||||
} else {
|
||||
// 第四次及以后设为 1118
|
||||
y_request = request_fixed_value;
|
||||
}
|
||||
request_count++;
|
||||
click(x_request, y_request);
|
||||
await sleep(1000);
|
||||
}
|
||||
}
|
||||
log.info("等待界面响应");
|
||||
await sleep(10000);
|
||||
}
|
||||
|
||||
async function pageDown() {
|
||||
//暂无计划,还是联系一下好友开放尘歌壶吧
|
||||
}
|
||||
|
||||
async function claimEncounterPointsRewards() {
|
||||
setGameMetrics(3840, 2160, 1.5);
|
||||
log.info("正在打开冒险之证领取历练点奖励");
|
||||
await sleep(2000);
|
||||
keyPress("VK_ESCAPE");
|
||||
await sleep(2000);
|
||||
click(400,1650);
|
||||
await sleep(2000);
|
||||
|
||||
setGameMetrics(3840, 2160, 2); //领历练点这小节是抄来的
|
||||
click(580, 680);
|
||||
await sleep(1000);
|
||||
click(3110, 1508);
|
||||
await sleep(1000);
|
||||
click(3110, 1508);
|
||||
await sleep(1500);
|
||||
keyPress("Escape");
|
||||
log.info("已领取历练点奖励");
|
||||
}
|
||||
|
||||
async function ReturnToBigWorld() {
|
||||
setGameMetrics(3840, 2160, 1.5);
|
||||
log.info("正在返回大世界");
|
||||
await sleep(2000);
|
||||
keyPress("VK_ESCAPE");
|
||||
await sleep(2000);
|
||||
click(1330,1660);
|
||||
await sleep(2000);
|
||||
click(3300,2030);
|
||||
await sleep(20000);
|
||||
}
|
||||
|
||||
let request_times = settings.request_times * 2;
|
||||
let total_clicks = request_times ? request_times : 14;
|
||||
|
||||
for (let n = 0 ; n < 6 ; n++)
|
||||
log.warn("注意:队伍中小于等于两人时,才会触发双倍奖励");
|
||||
await sleep(2000);
|
||||
|
||||
if (!!settings.partyName) {
|
||||
try {
|
||||
log.info("正在传送回七天神像切换队伍");
|
||||
await genshin.tp(2297.60, -824.45);
|
||||
await sleep(3000);
|
||||
log.info("正在尝试切换至" + settings.partyName);
|
||||
await genshin.switchParty(settings.partyName);
|
||||
} catch {
|
||||
log.warn("队伍切换失败,可能处于联机模式或其他不可切换状态");
|
||||
await genshin.returnMainUi();
|
||||
}
|
||||
} else {
|
||||
await genshin.returnMainUi();
|
||||
}
|
||||
await RequestToVisitSereniteaPot(total_clicks);
|
||||
await claimEncounterPointsRewards();
|
||||
await sleep(1500);
|
||||
await genshin.returnMainUi();
|
||||
await ReturnToBigWorld();
|
||||
})();
|
||||
Reference in New Issue
Block a user