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" set scr_nukeCancelMode "0"
// iw4x // iw4x
set scr_player_forceautoassign "1" // set scr_player_forceautoassign "1"
set scr_rankedmatch "1" set scr_rankedmatch "1"
set sv_enableJavelinBug "1" set sv_enableJavelinBug "1"
set g_playerEjection "0" set g_playerEjection "0"
@ -481,6 +481,11 @@ set sv_enableBounces "1"
set scr_showHP "1" set scr_showHP "1"
set scr_allowFPSBooster "1" set scr_allowFPSBooster "1"
// _menus
set scr_player_startteamselection "autoassign"
set scr_player_forceclassselection ""
set scr_player_allowChangeTeam "0"
// _bot // _bot
set bot_main "1" set bot_main "1"
set bots_main_GUIDs "" set bots_main_GUIDs ""

View File

@ -2,8 +2,15 @@
init() init()
{ {
//Intricate - Create DVAR for forcing auto assign, useful for server that would like it. SetDvarIfUninitialized("scr_player_startteamselection", "");
SetDvarIfUninitialized("scr_player_forceautoassign", true); 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"] ) ) if ( !isDefined( game["gamestarted"] ) )
{ {
game["menu_team"] = "team_marinesopfor"; game["menu_team"] = "team_marinesopfor";
@ -141,10 +148,7 @@ onMenuResponse()
{ {
self closepopupMenu(); self closepopupMenu();
self closeInGameMenu(); 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; continue;
} }
@ -152,10 +156,7 @@ onMenuResponse()
{ {
self closepopupMenu(); self closepopupMenu();
self closeInGameMenu(); 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; continue;
} }
@ -203,6 +204,14 @@ onMenuResponse()
if(menu == game["menu_team"]) if(menu == game["menu_team"])
{ {
self closeMenus();
if (!level.allowChangeTeam)
{
self iPrintLn("Server does not allow players to change team.");
continue;
}
switch(response) switch(response)
{ {
case "allies": case "allies":
@ -229,6 +238,12 @@ onMenuResponse()
self closepopupMenu(); self closepopupMenu();
self closeInGameMenu(); self closeInGameMenu();
if (level.forceclassselection != "")
{
self iPrintLn("Server forcing players to use class: " + level.forceclassselection);
continue;
}
self.selectedClass = true; self.selectedClass = true;
self [[level.class]](response); self [[level.class]](response);
} }
@ -324,14 +339,16 @@ beginClassChoice( forceNewChoice )
{ {
assert( self.pers["team"] == "axis" || self.pers["team"] == "allies" ); 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 ) ) if ( !isAlive( self ) )
self thread maps\mp\gametypes\_playerlogic::predictAboutToSpawnPlayerOverTime( 0.1 ); self thread maps\mp\gametypes\_playerlogic::predictAboutToSpawnPlayerOverTime( 0.1 );
self.selectedClass = true; self closepopupMenu();
self menuClass( "assault_mp,0" ); self closeInGameMenu();
self.selectedClass = true;
self [[level.class]](level.forceclassselection);
return; return;
} }
@ -348,12 +365,29 @@ beginClassChoice( forceNewChoice )
beginTeamChoice() 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( level.startteamselection != "" )
if( GetDvar("scr_player_forceautoassign") && GetDvar("fs_game") == "" ) {
self notify("menuresponse", game["menu_team"], "autoassign"); 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 else
self openpopupMenu( game["menu_team"] ); self openpopupMenu( game["menu_team"] );
} }
@ -461,6 +495,7 @@ menuSpectator()
self thread maps\mp\gametypes\_playerlogic::spawnSpectator(); self thread maps\mp\gametypes\_playerlogic::spawnSpectator();
} }
menuClass( response ) menuClass( response )
{ {
self closeMenus(); self closeMenus();