From 6e980d6fe92f69bb91aed24d39681c7306391510 Mon Sep 17 00:00:00 2001 From: Rudolf Polzer Date: Sun, 11 Sep 2011 22:08:04 +0200 Subject: [PATCH] selectteam: refuse changing to the team you're already on --- qcsrc/server/clientcommands.qc | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/qcsrc/server/clientcommands.qc b/qcsrc/server/clientcommands.qc index 13cddc0d2..f89d38363 100644 --- a/qcsrc/server/clientcommands.qc +++ b/qcsrc/server/clientcommands.qc @@ -277,13 +277,25 @@ void SV_ParseClientCommand(string s) { } else if(lockteams) { sprint( self, "^7The game has already begun, you must wait until the next map to be able to join a team.\n"); } else if( argv(1) == "red" ) { - ClientKill_TeamChange(COLOR_TEAM1); + if(self.team != COLOR_TEAM1 || self.deadflag != DEAD_NO) + ClientKill_TeamChange(COLOR_TEAM1); + else + sprint( self, "^7You already are on that team.\n"); } else if( argv(1) == "blue" ) { - ClientKill_TeamChange(COLOR_TEAM2); + if(self.team != COLOR_TEAM2 || self.deadflag != DEAD_NO) + ClientKill_TeamChange(COLOR_TEAM2); + else + sprint( self, "^7You already are on that team.\n"); } else if( argv(1) == "yellow" ) { - ClientKill_TeamChange(COLOR_TEAM3); + if(self.team != COLOR_TEAM3 || self.deadflag != DEAD_NO) + ClientKill_TeamChange(COLOR_TEAM3); + else + sprint( self, "^7You already are on that team.\n"); } else if( argv(1) == "pink" ) { - ClientKill_TeamChange(COLOR_TEAM4); + if(self.team != COLOR_TEAM4 || self.deadflag != DEAD_NO) + ClientKill_TeamChange(COLOR_TEAM4); + else + sprint( self, "^7You already are on that team.\n"); } else if( argv(1) == "auto" ) { ClientKill_TeamChange(-1); } else { -- 2.39.2