From 861f07658873f99c37b15278ebe64c693bf42bf1 Mon Sep 17 00:00:00 2001 From: div0 Date: Thu, 12 Feb 2009 10:48:32 +0000 Subject: [PATCH] make it possible to spectate in LMS (but spectators can't go back into the game) git-svn-id: svn://svn.icculus.org/nexuiz/trunk@5857 f962a42d-fe04-0410-a3ab-8c8b0445ebaa --- data/qcsrc/server/clientcommands.qc | 19 +++++++++++++++++-- data/qcsrc/server/scores_rules.qc | 2 +- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/data/qcsrc/server/clientcommands.qc b/data/qcsrc/server/clientcommands.qc index 86eaeeb1f..eb05e1f1b 100644 --- a/data/qcsrc/server/clientcommands.qc +++ b/data/qcsrc/server/clientcommands.qc @@ -99,6 +99,7 @@ entity GetPlayer(string name) //float ctf_clientcommand(); float readyrestart_happened; +.float lms_spectate_warning; void SV_ParseClientCommand(string s) { local string cmd; local float tokens, f, effectnum; @@ -158,8 +159,22 @@ void SV_ParseClientCommand(string s) { } else if(argv(0) == "spectate") { if not(self.flags & FL_CLIENT) return; - if(g_lms || g_arena) - return; // don't allow spectating in lms, unless player runs out of lives + if(g_arena) + return; + if(g_lms) + { + if(self.lms_spectate_warning) + { + // mark player as spectator + PlayerScore_Add(self, SP_LMS_RANK, 666 - PlayerScore_Add(self, SP_LMS_RANK, 0)); + } + else + { + self.lms_spectate_warning = 1; + sprint(self, "WARNING: you won't be able to enter the game again after spectating in LMS. Use the same command again to spectate anyway.\n"); + return; + } + } if(self.classname == "player" && cvar("sv_spectate") == 1) { if(self.flagcarried) DropFlag(self.flagcarried, world, world); diff --git a/data/qcsrc/server/scores_rules.qc b/data/qcsrc/server/scores_rules.qc index 8115ec972..f6c5206cf 100644 --- a/data/qcsrc/server/scores_rules.qc +++ b/data/qcsrc/server/scores_rules.qc @@ -155,7 +155,7 @@ void ScoreRules_race() } else { - ScoreInfo_SetLabel_TeamScore( ST_RACE_LAPS, "laps", 0); + //ScoreInfo_SetLabel_TeamScore( ST_RACE_LAPS, "laps", 0); ScoreInfo_SetLabel_PlayerScore(SP_RACE_LAPS, "laps", SFL_SORT_PRIO_PRIMARY); ScoreInfo_SetLabel_PlayerScore(SP_RACE_TIME, "time", SFL_SORT_PRIO_SECONDARY | SFL_LOWER_IS_BETTER | SFL_TIME); } -- 2.39.2