mirror of
https://github.com/JezuzLizard/BO2-Reimagined.git
synced 2025-06-10 15:17:57 -05:00
125 lines
2.7 KiB
Plaintext
125 lines
2.7 KiB
Plaintext
#include maps\mp\gametypes_zm\_globallogic_ui;
|
|
#include maps\mp\_utility;
|
|
#include maps\mp\gametypes_zm\_hud_util;
|
|
#include maps\mp\gametypes_zm\_globallogic;
|
|
#include maps\mp\gametypes_zm\_spectating;
|
|
#include maps\mp\gametypes_zm\_globallogic_player;
|
|
|
|
menuautoassign( comingfrommenu )
|
|
{
|
|
teamkeys = getarraykeys( level.teams );
|
|
assignment = self get_assigned_team();
|
|
self closemenus();
|
|
|
|
self.pers["team"] = assignment;
|
|
self.team = assignment;
|
|
self.pers["class"] = undefined;
|
|
self.class = undefined;
|
|
self.pers["weapon"] = undefined;
|
|
self.pers["savedmodel"] = undefined;
|
|
self updateobjectivetext();
|
|
|
|
if ( level.teambased )
|
|
self.sessionteam = assignment;
|
|
else
|
|
{
|
|
self.sessionteam = "none";
|
|
self.ffateam = assignment;
|
|
}
|
|
|
|
self notify( "joined_team" );
|
|
level notify( "joined_team" );
|
|
self notify( "end_respawn" );
|
|
self beginclasschoice();
|
|
self setclientscriptmainmenu( game["menu_class"] );
|
|
}
|
|
|
|
get_assigned_team()
|
|
{
|
|
teamplayers = [];
|
|
teamplayers["axis"] = 0;
|
|
teamplayers["allies"] = 0;
|
|
|
|
players = get_players();
|
|
foreach ( player in players )
|
|
{
|
|
if ( !isDefined(player.team) || (player.team != "axis" && player.team != "allies") )
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if ( player == self )
|
|
{
|
|
continue;
|
|
}
|
|
|
|
teamplayers[player.team]++;
|
|
}
|
|
|
|
if ( teamplayers["axis"] <= teamplayers["allies"] )
|
|
{
|
|
guids = strTok(getDvar("team_axis"), " ");
|
|
foreach ( guid in guids )
|
|
{
|
|
if ( self getguid() == int(guid) )
|
|
{
|
|
arrayRemoveValue(guids, guid);
|
|
|
|
guid_text = "";
|
|
foreach (guid in guids)
|
|
{
|
|
guid_text += guid + " ";
|
|
}
|
|
|
|
setDvar("team_axis", guid_text);
|
|
|
|
return "axis";
|
|
}
|
|
}
|
|
}
|
|
|
|
if ( teamplayers["allies"] <= teamplayers["axis"] )
|
|
{
|
|
guids = strTok(getDvar("team_allies"), " ");
|
|
foreach ( guid in guids )
|
|
{
|
|
if ( self getguid() == int(guid) )
|
|
{
|
|
arrayRemoveValue(guids, guid);
|
|
|
|
guid_text = "";
|
|
foreach (guid in guids)
|
|
{
|
|
guid_text += guid + " ";
|
|
}
|
|
|
|
setDvar("team_allies", guid_text);
|
|
|
|
return "allies";
|
|
}
|
|
}
|
|
}
|
|
|
|
if ( teamplayers["allies"] == teamplayers["axis"] )
|
|
{
|
|
if ( randomint( 100 ) >= 50 )
|
|
{
|
|
return "axis";
|
|
}
|
|
else
|
|
{
|
|
return "allies";
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if ( teamplayers["allies"] > teamplayers["axis"] )
|
|
{
|
|
return "axis";
|
|
}
|
|
else
|
|
{
|
|
return "allies";
|
|
}
|
|
}
|
|
} |