diff -r c4b1ae8ef76b -r 344daca49587 core/PlayerManager.cpp --- a/core/PlayerManager.cpp Thu Jul 07 19:53:56 2011 -0400 +++ b/core/PlayerManager.cpp Thu Jul 07 21:31:07 2011 -0400 @@ -274,7 +274,7 @@ SM_ExecuteAllConfigs(); } -bool PlayerManager::IsServerActivated() +bool PlayerManager::IsServerActivated() const { return m_FirstPass; } @@ -856,7 +856,7 @@ CPlayer *PlayerManager::GetPlayerByIndex(int client) const { - if (client > gpGlobals->maxClients || client < 1) + if (!IsServerActivated() || client > gpGlobals->maxClients || client < 1) { return NULL; } @@ -937,6 +937,12 @@ void PlayerManager::ClearAdminId(AdminId id) { + // Players may not be inited if server hasn't yet been activated + if (!IsServerActivated()) + { + return; + } + int maxClients = gpGlobals->maxClients; for (int i=1; i<=maxClients; i++) { @@ -949,8 +955,8 @@ void PlayerManager::ClearAllAdmins() { - // Players may not be inited if server hadn't been activated - if (!m_Players) + // Players may not be inited if server hasn't yet been activated + if (!IsServerActivated()) { return; } @@ -969,8 +975,8 @@ void PlayerManager::RecheckAnyAdmins() { - // Players may not be inited if server hadn't been activated - if (!m_Players) + // Players may not be inited if server hasn't yet been activated + if (!IsServerActivated()) { return; }