From 8177d4a310a8947ba75a09eaaa18bd1022fff971 Mon Sep 17 00:00:00 2001 From: Flerp Date: Sat, 15 Nov 2025 18:21:24 -0800 Subject: [PATCH] adjusting GetPlayerCount to GetActiveAndQueuedSessionCount --- src/mod_server_idler.cpp | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/src/mod_server_idler.cpp b/src/mod_server_idler.cpp index 8f5f6ee..f9de9f5 100644 --- a/src/mod_server_idler.cpp +++ b/src/mod_server_idler.cpp @@ -2,20 +2,21 @@ #include "Config.h" #include "World.h" #include "Player.h" +#include "WorldSessionMgr.h" namespace { bool sEnabled = true; uint32 sIntervalIdle = 200u; uint32 sIntervalActive = 10u; - uint32 sPlayersOnline = 0u; void ApplyInterval() { if (!sEnabled) return; - uint32 newInterval = (sPlayersOnline > 0) ? sIntervalActive : sIntervalIdle; + bool hasRealPlayer = sWorldSessionMgr->GetActiveAndQueuedSessionCount() > 0; + uint32 newInterval = hasRealPlayer ? sIntervalActive : sIntervalIdle; sWorld->setIntConfig(CONFIG_INTERVAL_MAPUPDATE, newInterval); } } @@ -36,7 +37,6 @@ public: if (sIntervalActive == 0u) sIntervalActive = 1u; - sPlayersOnline = sWorld->GetPlayerCount(); ApplyInterval(); } }; @@ -48,21 +48,11 @@ public: void OnLogin(Player*) override { - if (!sEnabled) - return; - - ++sPlayersOnline; ApplyInterval(); } void OnLogout(Player*) override { - if (!sEnabled) - return; - - if (sPlayersOnline > 0) - --sPlayersOnline; - ApplyInterval(); } };