r5857 - trunk/data/qcsrc/server

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Thu Feb 12 05:48:33 EST 2009


Author: div0
Date: 2009-02-12 05:48:32 -0500 (Thu, 12 Feb 2009)
New Revision: 5857

Modified:
   trunk/data/qcsrc/server/clientcommands.qc
   trunk/data/qcsrc/server/scores_rules.qc
Log:
make it possible to spectate in LMS (but spectators can't go back into the game)


Modified: trunk/data/qcsrc/server/clientcommands.qc
===================================================================
--- trunk/data/qcsrc/server/clientcommands.qc	2009-02-12 10:20:51 UTC (rev 5856)
+++ trunk/data/qcsrc/server/clientcommands.qc	2009-02-12 10:48:32 UTC (rev 5857)
@@ -99,6 +99,7 @@
 
 //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 @@
 	} 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);

Modified: trunk/data/qcsrc/server/scores_rules.qc
===================================================================
--- trunk/data/qcsrc/server/scores_rules.qc	2009-02-12 10:20:51 UTC (rev 5856)
+++ trunk/data/qcsrc/server/scores_rules.qc	2009-02-12 10:48:32 UTC (rev 5857)
@@ -155,7 +155,7 @@
 	}
 	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);
 	}




More information about the nexuiz-commits mailing list