about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorMarius "Teelevision" Neugebauer <marius@teele.eu>2014-04-05 05:01:53 +0200
committerMarius "Teelevision" Neugebauer <marius@teele.eu>2014-04-05 05:01:53 +0200
commitcc9a34c4d38d553078c15d4498445faf5a9976d3 (patch)
tree8379cb4467f174e07b097cac15ed25198196e238 /src
parentad3a77fbe81d967caf6ebbade45c33d563fe7349 (diff)
downloadzcatch-cc9a34c4d38d553078c15d4498445faf5a9976d3.tar.gz
zcatch-cc9a34c4d38d553078c15d4498445faf5a9976d3.zip
added bot hint to status in the rcon
Diffstat (limited to 'src')
-rw-r--r--src/engine/server.h2
-rw-r--r--src/engine/server/server.cpp5
-rw-r--r--src/game/server/gamecontext.cpp5
-rw-r--r--src/game/server/gamecontext.h1
4 files changed, 11 insertions, 2 deletions
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; }