}\r
if(self.version != cvar("gameversion"))\r
{\r
- self.classname = "observer";\r
self.version_mismatch = 1;\r
- PutClientInServer();\r
+ ClientKill_TeamChange(-2); // observe\r
} else if(cvar("g_campaign") || cvar("g_balance_teams") || cvar("g_balance_teams_force")) {\r
//JoinBestTeam(self, FALSE, TRUE);\r
} else if(teams_matter && !cvar("sv_spectate")) {\r
}\r
}\r
if(self.classname == "player" && cvar("sv_spectate") == 1) {\r
- if(self.flagcarried)\r
- DropFlag(self.flagcarried, world, world);\r
- kh_Key_DropAll(self, TRUE);\r
- WaypointSprite_PlayerDead();\r
- self.classname = "observer";\r
- if(g_ca)\r
- self.caplayer = 0;\r
- if(blockSpectators)\r
- sprint(self, strcat("^7You have to become a player within the next ", ftos(cvar("g_maxplayers_spectator_blocktime")), " seconds, otherwise you will be kicked, because spectators aren't allowed at this time!\n"));\r
- PutClientInServer();\r
+ ClientKill_TeamChange(-2); // observe\r
}\r
} else if(cmd == "join") {\r
if not(self.flags & FL_CLIENT)\r
} else if(lockteams) {\r
sprint( self, "^7The game has already begun, you must wait until the next map to be able to join a team.\n");\r
} else if( argv(1) == "red" ) {\r
- DoTeamChange(COLOR_TEAM1);\r
+ ClientKill_TeamChange(COLOR_TEAM1);\r
} else if( argv(1) == "blue" ) {\r
- DoTeamChange(COLOR_TEAM2);\r
+ ClientKill_TeamChange(COLOR_TEAM2);\r
} else if( argv(1) == "yellow" ) {\r
- DoTeamChange(COLOR_TEAM3);\r
+ ClientKill_TeamChange(COLOR_TEAM3);\r
} else if( argv(1) == "pink" ) {\r
- DoTeamChange(COLOR_TEAM4);\r
+ ClientKill_TeamChange(COLOR_TEAM4);\r
} else if( argv(1) == "auto" ) {\r
- DoTeamChange(-1);\r
+ ClientKill_TeamChange(-1);\r
} else {\r
sprint( self, strcat( "selectteam none/red/blue/yellow/pink/auto - \"", argv(1), "\" not recognised\n" ) );\r
}\r