Files
bettergi-scripts-list/repo/js/等待到指定时间(默认凌晨4点)/main.js
this-Fish e83b855dcf 提交新js腳本 與 修改舊改本的bug (#440)
* 到楓丹鐵匠合成或取得武器強化材料 

到楓丹匠合成或領武器強化材料,透過調節器修改自訂配置選擇合成或領取。支持水晶礦、紫晶礦、萃凝晶。

* Update main.js

修改沒有默认值的bug

* 战斗脚本:玛薇卡、茜特菈莉、希格雯、恰斯卡
2025-03-15 20:10:53 +08:00

69 lines
2.7 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

(async function () {
const defaultHours = 4;
const defaultMinutes = 0;
function validateAndSetDefaults(specifyHours, specifyMinutes) {
if (isNaN(specifyHours) || specifyHours > 23 || specifyHours == '') {
if (specifyHours > 23) {
log.warn("设置指定时间错误,请使用 0~23 时将使用默认值4时");
}
else {
log.warn("你没有设置指定时将使用默认值4时");
}
specifyHours = defaultHours;
}
if (isNaN(specifyMinutes) || specifyMinutes > 59 || specifyMinutes == '') {
if (specifyMinutes > 59) {
log.warn("设置指定时间错误,请使用 0~59 分将使用默认值0分");
} else {
log.warn("你没有设置指定分钟将使用默认值0分");
}
specifyMinutes = defaultMinutes;
}
log.info(`---------------将等待至 ${specifyHours}${specifyMinutes} ---------------`)
return { specifyHours, specifyMinutes };
}
// 計算相差時間微秒
function getTimeUntilNextTime(validatedHours, validatedMinutes) {
const now = new Date();
const nextTime = new Date(
now.getFullYear(),
now.getMonth(),
now.getDate(),
validatedHours, validatedMinutes, 0, 0
);
// 如果現在時間已經過了今天的 4 點,則計算明天的 4 點
if (now >= nextTime) {
nextTime.setDate(nextTime.getDate() + 1);
}
return nextTime - now;
}
setGameMetrics(1920, 1080, 2);
// 启用自动拾取的实时任务
dispatcher.addTimer(new RealtimeTimer("AutoPick"));
// 启用自动剧情的实时任务
dispatcher.addTimer(new RealtimeTimer("AutoSkip"));
// 讀取參數
let specifyHours = Number(settings.specifyHours);
let specifyMinutes = Number(settings.specifyMinutes);
const { specifyHours: validatedHours, specifyMinutes: validatedMinutes } = validateAndSetDefaults(specifyHours, specifyMinutes);
// 計算相差時間微秒
const timeUntilNextTime = getTimeUntilNextTime(validatedHours, validatedMinutes);
log.info(`等待 ${Math.floor((timeUntilNextTime / 60000 / 60))} 小时 ${(timeUntilNextTime / 60000 % 60).toFixed(0)} 分 ,直到下一个 ${validatedHours} : ${validatedMinutes}`);
// 多等待10秒
await sleep(timeUntilNextTime + 10000);
log.info(`时间到了!现在是 ${specifyHours}${specifyMinutes}`);
//1秒 = 1000 毫秒
//10秒 = 10000 毫秒
//1分鐘 = 60000 毫秒
})();