@@ -492,9 +492,8 @@ async function recordForFile(judge) {
/* ---------- 判断取水时间 ---------- */
if ( settings . water ) {
const now = Date . now ( ) ; // 当前毫秒时间戳
const aimWaterTime = new Dat e( record . lastWaterTime . getTime ( ) + 24 * 60 * 60 * 1000 ) . getTime ( );
/* ---------- 计算下次可取水时间 ---------- */
const now = Date . now ( ) ;
const aimWaterTime = getNextRefreshTim e( record . lastWaterTime ) ;
if ( aimWaterTime - now > 0 ) {
log . info ( ` 取水时间还未到!!! ` ) ;
recordsTime . waterTime = false ;
@@ -506,9 +505,8 @@ async function recordForFile(judge) {
/* ---------- 判断上香时间 ---------- */
if ( settings . sticks ) {
const now = Date . now ( ) ; // 当前毫秒时间戳
const aimSticksTime = new Dat e( record . lastSticksTime . getTime ( ) + 24 * 60 * 60 * 1000 ) . getTime ( );
/* ---------- 计算下次可上香时间 ---------- */
const now = Date . now ( ) ;
const aimSticksTime = getNextRefreshTim e( record . lastSticksTime ) ;
if ( aimSticksTime - now > 0 ) {
log . info ( ` 上香时间还未到!!! ` ) ;
recordsTime . sticksTime = false ;
@@ -520,9 +518,8 @@ async function recordForFile(judge) {
/* ---------- 判断抽签时间 ---------- */
if ( settings . lots ) {
const now = Date . now ( ) ; // 当前毫秒时间戳
const aimLotsTime = new Dat e( record . lastLotsTime . getTime ( ) + 24 * 60 * 60 * 1000 ) . getTime ( );
/* ---------- 计算下次可抽签时间 ---------- */
const now = Date . now ( ) ;
const aimLotsTime = getNextRefreshTim e( record . lastLotsTime ) ;
if ( aimLotsTime - now > 0 ) {
log . info ( ` 抽签时间还未到!!! ` ) ;
recordsTime . lotsTime = false ;
@@ -534,9 +531,8 @@ async function recordForFile(judge) {
/* ---------- 判断拾螺时间 ---------- */
if ( settings . conchs ) {
const now = Date . now ( ) ; // 当前毫秒时间戳
const aimConchsTime = new Dat e( record . lastConchsTime . getTime ( ) + 24 * 60 * 60 * 1000 ) . getTime ( );
/* ---------- 计算下次可拾螺时间 ---------- */
const now = Date . now ( ) ;
const aimConchsTime = getNextRefreshTim e( record . lastConchsTime ) ;
if ( aimConchsTime - now > 0 ) {
log . info ( ` 拾螺时间还未到!!! ` ) ;
recordsTime . conchsTime = false ;
@@ -548,9 +544,8 @@ async function recordForFile(judge) {
/* ---------- 判断探监时间 ---------- */
if ( settings . meal ) {
const now = Date . now ( ) ; // 当前毫秒时间戳
const aimMealTime = new Dat e( record . lastMealTime . getTime ( ) + 24 * 60 * 60 * 1000 ) . getTime ( );
/* ---------- 计算下次可探监时间 ---------- */
const now = Date . now ( ) ;
const aimMealTime = getNextRefreshTim e( record . lastMealTime ) ;
if ( aimMealTime - now > 0 ) {
log . info ( ` 探监时间还未到!!! ` ) ;
recordsTime . mealTime = false ;
@@ -562,9 +557,8 @@ async function recordForFile(judge) {
/* ---------- 判断拾蛋时间 ---------- */
if ( settings . eggs ) {
const now = Date . now ( ) ; // 当前毫秒时间戳
const aimEggsTime = new Dat e( record . lastEggsTime . getTime ( ) + 24 * 60 * 60 * 1000 ) . getTime ( );
/* ---------- 计算下次可拾蛋时间 ---------- */
const now = Date . now ( ) ;
const aimEggsTime = getNextRefreshTim e( record . lastEggsTime ) ;
if ( aimEggsTime - now > 0 ) {
log . info ( ` 拾蛋时间还未到!!! ` ) ;
recordsTime . eggsTime = false ;
@@ -576,9 +570,8 @@ async function recordForFile(judge) {
/* ---------- 判断转盘时间 ---------- */
if ( settings . turntable ) {
const now = Date . now ( ) ; // 当前毫秒时间戳
const aimTurntableTime = new Dat e( record . lastTurntableTime . getTime ( ) + 24 * 60 * 60 * 1000 ) . getTime ( );
/* ---------- 计算下次可转盘时间 ---------- */
const now = Date . now ( ) ;
const aimTurntableTime = getNextRefreshTim e( record . lastTurntableTime ) ;
if ( aimTurntableTime - now > 0 ) {
log . info ( ` 转盘时间还未到!!! ` ) ;
recordsTime . turntableTime = false ;
@@ -590,9 +583,8 @@ async function recordForFile(judge) {
/* ---------- 判断领菜时间 ---------- */
if ( settings . todayLuck ) {
const now = Date . now ( ) ; // 当前毫秒时间戳
const aimTodayLuckTime = new Dat e( record . lastTodayLuckTime . getTime ( ) + 24 * 60 * 60 * 1000 ) . getTime ( );
/* ---------- 计算下次可领菜时间 ---------- */
const now = Date . now ( ) ;
const aimTodayLuckTime = getNextRefreshTim e( record . lastTodayLuckTime ) ;
if ( aimTodayLuckTime - now > 0 ) {
log . info ( ` 领菜时间还未到!!! ` ) ;
recordsTime . todayLuckTime = false ;
@@ -604,9 +596,8 @@ async function recordForFile(judge) {
/* ---------- 判断领糖时间 ---------- */
if ( settings . sweetStatue ) {
const now = Date . now ( ) ; // 当前毫秒时间戳
const aimSweetStatueTime = new Dat e( record . lastSweetStatueTime . getTime ( ) + 24 * 60 * 60 * 1000 ) . getTime ( );
/* ---------- 计算下次可领糖时间 ---------- */
const now = Date . now ( ) ;
const aimSweetStatueTime = getNextRefreshTim e( record . lastSweetStatueTime ) ;
if ( aimSweetStatueTime - now > 0 ) {
log . info ( ` 领糖时间还未到!!! ` ) ;
recordsTime . sweetStatueTime = false ;
@@ -643,6 +634,24 @@ async function recordForFile(judge) {
} ;
} ;
/* ---------- 工具函数: 计算【下次4点刷新时间】 ---------- */
async function getNextRefreshTime ( lastTime ) {
const now = new Date ( ) ;
// 取“最近一次已过去的 04:00”作为当前刷新周期的起点
const lastBoundary = new Date ( now ) ;
lastBoundary . setHours ( 4 , 0 , 0 , 0 ) ;
if ( now . getTime ( ) < lastBoundary . getTime ( ) ) {
lastBoundary . setDate ( lastBoundary . getDate ( ) - 1 ) ;
} ;
const ONE _DAY = 24 * 60 * 60 * 1000 ;
// lastTime 在当前周期之前 → 当前周期起点即可刷新(立即可执行)
// lastTime 已在当前周期内 → 下次刷新为当前周期起点 + 24h
return lastTime . getTime ( ) < lastBoundary . getTime ( )
? lastBoundary . getTime ( )
: lastBoundary . getTime ( ) + ONE _DAY ;
} ;
// 检查背包龙蛋数目
async function chcekDragonEggs ( ) {
await genshin . returnMainUi ( ) ;
@@ -1661,4 +1670,4 @@ async function numberTemplateMatch(
await fakeLog ( "AutoPickLitter脚本" , true , false , 2333 ) ;
} ) ( ) ;
} ) ( ) ;