ChangeTeam(team)
{
if (self.sessionstate != "dead")
{
// Set a flag on the player to they aren't robbed points for dying - the callback will remove the flag
self.autobalance = true;
// Suicide the player so they can't hit escape and fail the team balance
self suicide();
}
self.pers["team"] = team;
self.pers["teamTime"] = (gettime() / 1000);
// took this out here so we can determine later on if the teams were changed
// and spawn the player in correctly
// self.sessionteam = self.pers["team"];
self.freerespawn = true; //for HQ Gametype
if (!isdefined (game["timepassed"]))
self.pers["teamTime"] = ((getTime() - level.starttime) / 1000);
else
self.pers["teamTime"] = game["timepassed"] + ((getTime() - level.starttime) / 1000) / 60.0;
self.pers["weapon"] = undefined;
self.pers["weapon1"] = undefined;
self.pers["weapon2"] = undefined;
self.pers["spawnweapon"] = undefined;
self.pers["savedmodel"] = undefined;
// update spectator permissions immediately on change of team
self SetSpectatePermissions();
self setClientCvar("ui_weapontab", "1");
self thread TeamBalance_NotifyPlayer();
if(self.pers["team"] == "allies")
{
self setClientCvar("g_scriptMainMenu", game["menu_weapon_allies"]);
self openMenu(game["menu_weapon_allies"]);
}
else
{
self setClientCvar("g_scriptMainMenu", game["menu_weapon_axis"]);
self openMenu(game["menu_weapon_axis"]);
}
}