找回密码
 立即注册

QQ登录

只需一步,快速开始

游戏开服表 申请开服
游戏名称 游戏描述 开服状态 游戏福利 运营商 游戏链接
广告位招租 联系QQ51605539 今日新开 进入游戏
非官方wiki 芙蕾雅NPC-技能-道具数据库 永久可用 血玫瑰社区 进入游戏
天堂2协议 天堂2客户端协议附带英文客户端下载 不定期更新 L2FATER 进入游戏
Close
查看: 178|回复: 2

巴溫重生時間

[复制链接]
  • 打卡总天数:25
  • 打卡总奖励:182
发表于 2026-8-30 17:36:14 | 显示全部楼层 |阅读模式

        Private void scheduleNextSpawn()

        {
                Calendar nextStart = Calendar.getInstance();
                // 1. 務必刪除或註解掉原本設定固定星期的這一行:
                // nextStart.set(Calendar.DAY_OF_WEEK, RAID_DAY);
               
                // 2. 設定重生的時間(例如晚上 21:00)
                nextStart.set(Calendar.HOUR_OF_DAY, SPAWN_HOUR);
                nextStart.set(Calendar.MINUTE, 0);
                nextStart.set(Calendar.SECOND, 0);
               
                // 3. 如果目前的系統時間已經過了今天的 21:00,就直接加上 2 天
                if (Calendar.getInstance().after(nextStart))
                {
                        nextStart.add(Calendar.DATE, 2); // 👈 這裡改成 2,就是兩天後
                }
               
                long delay = nextStart.getTimeInMillis() - System.currentTimeMillis();
               
                StatSet info = GrandBossManager.getInstance().getStatSet(BAIUM);
                info.set("respawn_time", nextStart.getTimeInMillis());
                GrandBossManager.getInstance().setStatSet(BAIUM, info);
               
                LOGGER.info("Baium AI: Next spawn scheduled for " + nextStart.getTime());
               
                startQuestTimer("SCHEDULED_UNLOCK", delay, null, null);
        }
------------------------------------------------------------------------------------------------------

        private boolean isInsideAvailabilityWindow()
        {
                Calendar now = Calendar.getInstance();
                int hour = now.get(Calendar.HOUR_OF_DAY);
               
                // 拿掉原本的 (day == RAID_DAY) 判斷,只要小時符合 21~23 點就判定為開放
                return (hour >= SPAWN_HOUR) && (hour < CLOSE_HOUR);
        }

----------------------------------------------------------------------------------------------------------

        private void checkHardClose()
        {
                final Calendar now = Calendar.getInstance();
                // 刪除或註解掉原本檢查星期的條件,只保留小時檢查:
                // if ((now.get(Calendar.DAY_OF_WEEK) == RAID_DAY) && (now.get(Calendar.HOUR_OF_DAY) >= CLOSE_HOUR))
                if (now.get(Calendar.HOUR_OF_DAY) >= CLOSE_HOUR)
                {
                        // ... 下方原本的代碼保持不變 ...
                }
        }

修改3段...


评分

参与人数 1威望 +1 金钱 +1 贡献 +1 收起 理由
l2fater
+ 1 + 1 + 1 用心讨论,共获提升!

查看全部评分

回复

使用道具 举报

  • 打卡总天数:25
  • 打卡总奖励:182
 楼主| 发表于 2026-9-3 20:04:58 | 显示全部楼层
原來PROTOCOL:542...還一地方要修一下..
game\data\scripts\instances\TimedHunting


else if (event.equals("BAIUM_ENTER")) // Logic to allow entry into Baium zone.
                {
                        // 1. Time Validation
                        final Calendar now = Calendar.getInstance();
                        //final int day = now.get(Calendar.DAY_OF_WEEK);
                        final int hour = now.get(Calendar.HOUR_OF_DAY);
                        final int minute = now.get(Calendar.MINUTE);
                        final int second = now.get(Calendar.SECOND);
                       
                        boolean isOpen = false;
                        //final int targetDay = Calendar.WEDNESDAY;
                        final int startHour = 22;
                        final int startMinute = 0;
                        final int endHour = 23;
                        final int endMinute = 0;
                       
                        //if (day == targetDay)
                        {
                                long currentTotalSeconds = (hour * 3600) + (minute * 60) + second;
                                long startTotalSeconds = (startHour * 3600) + (startMinute * 60);
                                long endTotalSeconds = (endHour * 3600) + (endMinute * 60);
                               
                                if ((currentTotalSeconds >= startTotalSeconds) && (currentTotalSeconds < endTotalSeconds))
                                {
                                        isOpen = true;
                                }
                        }
回复

使用道具 举报

  • 打卡总天数:25
  • 打卡总奖励:182
 楼主| 发表于 2026-9-3 20:06:29 | 显示全部楼层
這個TimedHunting 控制了很多即時地區的進入和限制
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表