diff options
| author | savander <savander.pl@gmail.com> | 2014-09-27 00:34:35 +0200 |
|---|---|---|
| committer | savander <savander.pl@gmail.com> | 2014-09-27 00:34:35 +0200 |
| commit | 2a54f759145f86fce4ad2a333de6d9cd911d8861 (patch) | |
| tree | 8509c538c26ddae9c493fbaed33a8380508d7caf /src/game/server/gamemodes/zcatch.cpp | |
| parent | 8c329ade7507d3f1641018f302bf2396af6a471a (diff) | |
| download | zcatch-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.cpp | 20 |
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) |