X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fclientcommands.qc;h=1a46ed8b51deccbc0925641996bfa6da6bfbc553;hb=162a91bc68d7b8e58c92cb0af873871129e386a9;hp=b705e9c09ce18a1877a3e9889e2130c06a53daa9;hpb=eaa1f1ae886372197b34ae4a333c7ab2072edf55;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/clientcommands.qc b/qcsrc/server/clientcommands.qc index b705e9c09..1a46ed8b5 100644 --- a/qcsrc/server/clientcommands.qc +++ b/qcsrc/server/clientcommands.qc @@ -171,7 +171,7 @@ void SV_ParseClientCommand(string s) { PutClientInServer(); } else if(cvar("g_campaign") || cvar("g_balance_teams") || cvar("g_balance_teams_force")) { //JoinBestTeam(self, FALSE, TRUE); - } else if(teams_matter && !cvar("sv_spectate")) { + } else if(teams_matter && !cvar("sv_spectate") && !(self.team_forced > 0)) { self.classname = "observer"; stuffcmd(self,"menu_showteamselect\n"); } @@ -213,7 +213,7 @@ void SV_ParseClientCommand(string s) { if(self.classname == "player" && cvar("sv_spectate") == 1) { if(self.flagcarried) DropFlag(self.flagcarried, world, world); - if(self.ballcarried) + if(self.ballcarried && g_nexball) DropBall(self.ballcarried, self.origin, self.velocity); WaypointSprite_PlayerDead(); self.classname = "observer"; @@ -235,7 +235,6 @@ void SV_ParseClientCommand(string s) { self.caplayer = 1; PlayerScore_Clear(self); bprint ("^4", self.netname, "^4 is playing now\n"); - self.stat_count = WEP_LAST; PutClientInServer(); if(cvar("g_campaign")) campaign_bots_may_start = 1; @@ -249,9 +248,11 @@ void SV_ParseClientCommand(string s) { if not(self.flags & FL_CLIENT) return; if( !teams_matter ) { - sprint( self, "selecteam can only be used in teamgames\n"); + sprint( self, "selectteam can only be used in teamgames\n"); } else if(cvar("g_campaign")) { //JoinBestTeam(self, 0); + } else if(self.team_forced > 0) { + sprint( self, "selectteam can not be used as your team is forced\n"); } 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" ) { @@ -303,6 +304,8 @@ void SV_ParseClientCommand(string s) { } else if(cmd == "records") { for(i = 0; i < 10; ++i) sprint(self, records_reply[i]); + } else if(cmd == "ladder") { + sprint(self, ladder_reply); } else if(cmd == "rankings") { sprint(self, rankings_reply); } else if(cmd == "voice") { @@ -362,6 +365,8 @@ void SV_ParseClientCommand(string s) { Score_NicePrint(self); } else if(cmd == "cvar_changes") { sprint(self, cvar_changes); + } else if(cmd == "cvar_purechanges") { + sprint(self, cvar_purechanges); } else if(CheatCommand(tokens)) { } else { //if(ctf_clientcommand())