From cc9a34c4d38d553078c15d4498445faf5a9976d3 Mon Sep 17 00:00:00 2001 From: "Marius \"Teelevision\" Neugebauer" Date: Sat, 5 Apr 2014 05:01:53 +0200 Subject: added bot hint to status in the rcon --- src/engine/server.h | 2 ++ src/engine/server/server.cpp | 5 +++-- src/game/server/gamecontext.cpp | 5 +++++ src/game/server/gamecontext.h | 1 + 4 files changed, 11 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/engine/server.h b/src/engine/server.h index ef7f34bd..9ff700f4 100644 --- a/src/engine/server.h +++ b/src/engine/server.h @@ -102,6 +102,8 @@ public: virtual const char *GameType() = 0; virtual const char *Version() = 0; virtual const char *NetVersion() = 0; + + virtual bool IsClientAimBot(int ClientID) = 0; }; extern IGameServer *CreateGameServer(); diff --git a/src/engine/server/server.cpp b/src/engine/server/server.cpp index c283af20..2d6a16da 100644 --- a/src/engine/server/server.cpp +++ b/src/engine/server/server.cpp @@ -1667,8 +1667,9 @@ void CServer::ConStatus(IConsole::IResult *pResult, void *pUser) { const char *pAuthStr = pThis->m_aClients[i].m_Authed == CServer::AUTHED_ADMIN ? "(Admin)" : pThis->m_aClients[i].m_Authed == CServer::AUTHED_MOD ? "(Mod)" : ""; - str_format(aBuf, sizeof(aBuf), "id=%d addr=%s name='%s' score=%d %s", i, aAddrStr, - pThis->m_aClients[i].m_aName, pThis->m_aClients[i].m_Score, pAuthStr); + const char *pAimBotStr = pThis->GameServer()->IsClientAimBot(i) ? "[aimbot]" : ""; + str_format(aBuf, sizeof(aBuf), "id=%d addr=%s name='%s' score=%d %s %s", i, aAddrStr, + pThis->m_aClients[i].m_aName, pThis->m_aClients[i].m_Score, pAuthStr, pAimBotStr); } else str_format(aBuf, sizeof(aBuf), "id=%d addr=%s connecting", i, aAddrStr); diff --git a/src/game/server/gamecontext.cpp b/src/game/server/gamecontext.cpp index 307d446a..4dab670e 100644 --- a/src/game/server/gamecontext.cpp +++ b/src/game/server/gamecontext.cpp @@ -1940,6 +1940,11 @@ bool CGameContext::IsClientPlayer(int ClientID) return m_apPlayers[ClientID] && m_apPlayers[ClientID]->GetTeam() == TEAM_SPECTATORS ? false : true; } +bool CGameContext::IsClientAimBot(int ClientID) +{ + return m_apPlayers[ClientID] && m_apPlayers[ClientID]->m_IsAimBot; +} + const char *CGameContext::GameType() { return m_pController && m_pController->m_pGameType ? m_pController->m_pGameType : ""; } const char *CGameContext::Version() { return GAME_VERSION; } const char *CGameContext::NetVersion() { return GAME_NETVERSION; } diff --git a/src/game/server/gamecontext.h b/src/game/server/gamecontext.h index eb73e019..987e1c71 100644 --- a/src/game/server/gamecontext.h +++ b/src/game/server/gamecontext.h @@ -202,6 +202,7 @@ public: BOT_DETECTION_FAST_AIM=1, BOT_DETECTION_FOLLOW=2, }; + virtual bool IsClientAimBot(int ClientID); }; inline int CmaskAll() { return -1; } -- cgit 1.4.1