(async function () { // 设置游戏分辨率和DPI缩放 setGameMetrics(1920, 1080, 1); // 圆心坐标 const centerX = 1441; const centerY = 501.6; // 半径 const r1 = 30; const r2 = 150; const r3 = 300; const stepDuration = 50; function getPosition(r, index) { let angle = index * Math.PI / 720; return [Math.round(centerX + r * Math.cos(angle)), Math.round(centerY + r * Math.sin(angle))]; } async function mouseClick(x, y) { moveMouseTo(x, y); await sleep(50); leftButtonDown(); await sleep(50); leftButtonUp(); await sleep(stepDuration); } async function mouseClickAndMove(x1, y1, x2, y2) { moveMouseTo(x1, y1); await sleep(50); leftButtonDown(); await sleep(50); moveMouseTo(x2, y2); await sleep(50); leftButtonUp(); await sleep(stepDuration); } async function setTime(hour, minute) { const end = (hour + 6) * 60 + minute-20; const n = 3; for (let i = - n + 1; i < 1; i++) { let [x,y] = getPosition(r1, end + i * 1440 / n); await mouseClick(x, y); } let [x1,y1] = getPosition(r2, end + 5); let [x2, y2] = getPosition(r3, end + 20 + 0.5); await mouseClickAndMove(x1, y1, x2, y2); } const hour = Number(settings.hour); const minute = Number(settings.minute); let h = Math.floor(hour+minute/60); const m = Math.floor(hour*60+minute)-h*60; h = ((h % 24) + 24) % 24; log.info(`设置时间到 ${h} 点 ${m} 分`); await keyPress("Escape"); await sleep(1000); await click(50,700); await sleep(2000); await setTime(h, m); await sleep(1000); await click(1500,1000);//确认 await sleep(18000); await keyPress("Escape"); await sleep(2000); await keyPress("Escape"); await sleep(2000); })();