This commit is contained in:
INeedBots 2020-09-29 00:39:36 -06:00
parent 3972cf725c
commit b2b15bdf89
2 changed files with 58 additions and 18 deletions

View File

@ -468,7 +468,7 @@ set scr_maxPerPlayerExplosives "2"
set scr_nukeCancelMode "0"
// iw4x
set scr_player_forceautoassign "1"
// set scr_player_forceautoassign "1"
set scr_rankedmatch "1"
set sv_enableJavelinBug "1"
set g_playerEjection "0"
@ -481,6 +481,11 @@ set sv_enableBounces "1"
set scr_showHP "1"
set scr_allowFPSBooster "1"
// _menus
set scr_player_startteamselection "autoassign"
set scr_player_forceclassselection ""
set scr_player_allowChangeTeam "0"
// _bot
set bot_main "1"
set bots_main_GUIDs ""

View File

@ -2,8 +2,15 @@
init()
{
//Intricate - Create DVAR for forcing auto assign, useful for server that would like it.
SetDvarIfUninitialized("scr_player_forceautoassign", true);
SetDvarIfUninitialized("scr_player_startteamselection", "");
SetDvarIfUninitialized("scr_player_forceclassselection", "");
SetDvarIfUninitialized("scr_player_allowChangeTeam", true);
level.startteamselection = getDvar("scr_player_startteamselection");
level.forceclassselection = getDvar("scr_player_forceclassselection");
level.allowChangeTeam = getDvarInt("scr_player_allowChangeTeam");
if ( !isDefined( game["gamestarted"] ) )
{
game["menu_team"] = "team_marinesopfor";
@ -141,10 +148,7 @@ onMenuResponse()
{
self closepopupMenu();
self closeInGameMenu();
if ( getDvar( "g_gametype" ) != "oitc" && getDvar( "g_gametype" ) != "gg" && getDvar( "g_gametype" ) != "ss" && !isDefined(level.customClassCB) )
{
self openpopupMenu( game["menu_changeclass_allies"] );
}
self openpopupMenu( game["menu_changeclass_allies"] );
continue;
}
@ -152,10 +156,7 @@ onMenuResponse()
{
self closepopupMenu();
self closeInGameMenu();
if ( getDvar( "g_gametype" ) != "oitc" && getDvar( "g_gametype" ) != "gg" && getDvar( "g_gametype" ) != "ss" && !isDefined(level.customClassCB) )
{
self openpopupMenu( game["menu_changeclass_axis"] );
}
self openpopupMenu( game["menu_changeclass_axis"] );
continue;
}
@ -203,6 +204,14 @@ onMenuResponse()
if(menu == game["menu_team"])
{
self closeMenus();
if (!level.allowChangeTeam)
{
self iPrintLn("Server does not allow players to change team.");
continue;
}
switch(response)
{
case "allies":
@ -229,6 +238,12 @@ onMenuResponse()
self closepopupMenu();
self closeInGameMenu();
if (level.forceclassselection != "")
{
self iPrintLn("Server forcing players to use class: " + level.forceclassselection);
continue;
}
self.selectedClass = true;
self [[level.class]](response);
}
@ -324,14 +339,16 @@ beginClassChoice( forceNewChoice )
{
assert( self.pers["team"] == "axis" || self.pers["team"] == "allies" );
if ( getDvar( "g_gametype" ) == "oitc" || getDvar( "g_gametype" ) == "gg" || getDvar( "g_gametype" ) == "ss" || isDefined(level.customClassCB) )
if ( level.forceclassselection != "" )
{
if ( !isAlive( self ) )
self thread maps\mp\gametypes\_playerlogic::predictAboutToSpawnPlayerOverTime( 0.1 );
self closepopupMenu();
self closeInGameMenu();
self.selectedClass = true;
self menuClass( "assault_mp,0" );
self [[level.class]](level.forceclassselection);
return;
}
@ -348,12 +365,29 @@ beginClassChoice( forceNewChoice )
beginTeamChoice()
{
//Intricate - We put the auto assign where the actual team selection is. Also make sure that a mod isn't loaded, mainly to prevent bugs with them.
if( GetDvar("scr_player_forceautoassign") && GetDvar("fs_game") == "" )
self notify("menuresponse", game["menu_team"], "autoassign");
if( level.startteamselection != "" )
{
switch(level.startteamselection)
{
case "allies":
self [[level.allies]]();
break;
case "axis":
self [[level.axis]]();
break;
case "autoassign":
self [[level.autoassign]]();
break;
case "spectator":
self [[level.spectator]]();
break;
}
}
else
self openpopupMenu( game["menu_team"] );
}
@ -461,6 +495,7 @@ menuSpectator()
self thread maps\mp\gametypes\_playerlogic::spawnSpectator();
}
menuClass( response )
{
self closeMenus();