about summary refs log tree commit diff
path: root/src/game/server/gamemodes/zcatch.cpp
diff options
context:
space:
mode:
authorsavander <savander.pl@gmail.com>2014-09-27 00:34:35 +0200
committersavander <savander.pl@gmail.com>2014-09-27 00:34:35 +0200
commit2a54f759145f86fce4ad2a333de6d9cd911d8861 (patch)
tree8509c538c26ddae9c493fbaed33a8380508d7caf /src/game/server/gamemodes/zcatch.cpp
parent8c329ade7507d3f1641018f302bf2396af6a471a (diff)
downloadzcatch-2a54f759145f86fce4ad2a333de6d9cd911d8861.tar.gz
zcatch-2a54f759145f86fce4ad2a333de6d9cd911d8861.zip
zCatch:Ranking
Diffstat (limited to 'src/game/server/gamemodes/zcatch.cpp')
-rw-r--r--src/game/server/gamemodes/zcatch.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/game/server/gamemodes/zcatch.cpp b/src/game/server/gamemodes/zcatch.cpp
index cd36d12f..6034d78a 100644
--- a/src/game/server/gamemodes/zcatch.cpp
+++ b/src/game/server/gamemodes/zcatch.cpp
@@ -248,6 +248,21 @@ void CGameController_zCatch::OnCharacterSpawn(class CCharacter *pChr)
 
 void CGameController_zCatch::EndRound()
 {
+
+	//CheckWinner
+	int m_WinnerClientID = 0;
+	for(int i = 0; i < MAX_CLIENTS; i++)
+	{
+			if(GameServer()->m_apPlayers[i])
+			{
+				if(GameServer()->m_apPlayers[i]->m_zCatchNumVictims)
+					m_WinnerClientID = GameServer()->m_apPlayers[i]->GetCID();
+			}
+	}
+
+#if defined(CONF_SQL)
+	m_Ranking->SaveRanking(m_WinnerClientID);
+#endif
 	for(int i = 0; i < MAX_CLIENTS; i++)
 	{
 		if(GameServer()->m_apPlayers[i])
@@ -258,9 +273,13 @@ void CGameController_zCatch::EndRound()
 				GameServer()->m_apPlayers[i]->SetTeamDirect(GameServer()->m_pController->ClampTeam(1));
 
 				char aBuf[128];
+				str_format(aBuf, sizeof(aBuf), "Winner  --  %s", Server()->ClientName(m_WinnerClientID));
+				GameServer()->SendChatTarget(i, aBuf);
 				str_format(aBuf, sizeof(aBuf), "Kills: %d | Deaths: %d", GameServer()->m_apPlayers[i]->m_Kills, GameServer()->m_apPlayers[i]->m_Deaths);
 				GameServer()->SendChatTarget(i, aBuf);
 
+
+
 				if(GameServer()->m_apPlayers[i]->m_TicksSpec != 0 || GameServer()->m_apPlayers[i]->m_TicksIngame != 0)
 				{
 					double TimeInSpec = (GameServer()->m_apPlayers[i]->m_TicksSpec * 100.0) / (GameServer()->m_apPlayers[i]->m_TicksIngame + GameServer()->m_apPlayers[i]->m_TicksSpec);
@@ -280,6 +299,7 @@ void CGameController_zCatch::EndRound()
 	GameServer()->m_World.m_Paused = true;
 	m_GameOverTick = Server()->Tick();
 	m_SuddenDeath = 0;
+
 }
 
 bool CGameController_zCatch::CanChangeTeam(CPlayer *pPlayer, int JoinTeam)