|
|
|
@@ -8,53 +8,6 @@
|
|
|
|
|
#include maps\mp\_utility;
|
|
|
|
|
#include maps\mp\bots\_bot_utility;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
secondaryoffhandbuttonpressed()
|
|
|
|
|
{
|
|
|
|
|
return getcvarint( "smoke" );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fragbuttonpressed()
|
|
|
|
|
{
|
|
|
|
|
return getcvarint( "frag" );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
adsbuttonpressed()
|
|
|
|
|
{
|
|
|
|
|
return getcvarint( "speed" ) || self playerads() > 0.05;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
setparent( parent )
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
setpoint(a, b, x, y)
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
createfontstring( font, fontScale )
|
|
|
|
|
{
|
|
|
|
|
fontElem = newclienthudelem( self );
|
|
|
|
|
fontElem.elemType = "font";
|
|
|
|
|
fontElem.font = font;
|
|
|
|
|
fontElem.fontscale = fontScale;
|
|
|
|
|
fontElem.x = 0;
|
|
|
|
|
fontElem.y = 0;
|
|
|
|
|
fontElem.width = 0;
|
|
|
|
|
fontElem.height = int( 12 * fontScale );
|
|
|
|
|
fontElem.xOffset = 0;
|
|
|
|
|
fontElem.yOffset = 0;
|
|
|
|
|
fontElem.children = [];
|
|
|
|
|
fontElem setparent( level.uiparent );
|
|
|
|
|
fontElem.hidden = false;
|
|
|
|
|
return fontElem;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
destroyelem()
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
init()
|
|
|
|
|
{
|
|
|
|
|
if ( getcvar( "bots_main_menu" ) == "" )
|
|
|
|
@@ -68,6 +21,45 @@ init()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
precacheshader( "white" );
|
|
|
|
|
precachestring( &"Bot Warfare" );
|
|
|
|
|
precachestring( &"Toggle bots can ads" );
|
|
|
|
|
precachestring( &"Toggle bots can jump and dropshot" );
|
|
|
|
|
precachestring( &"Toggle bots can camp" );
|
|
|
|
|
precachestring( &"Toggle bots play the objective" );
|
|
|
|
|
precachestring( &"Toggle bots can nade" );
|
|
|
|
|
precachestring( &"Toggle bots can fire" );
|
|
|
|
|
precachestring( &"Toggle bots can knife" );
|
|
|
|
|
precachestring( &"Toggle bots can move" );
|
|
|
|
|
precachestring( &"Bot settings" );
|
|
|
|
|
precachestring( &"Decrease amount of med bots on allies team" );
|
|
|
|
|
precachestring( &"Increase amount of med bots on allies team" );
|
|
|
|
|
precachestring( &"Decrease amount of hard bots on allies team" );
|
|
|
|
|
precachestring( &"Increase amount of hard bots on allies team" );
|
|
|
|
|
precachestring( &"Decrease amount of med bots on axis team" );
|
|
|
|
|
precachestring( &"Increase amount of med bots on axis team" );
|
|
|
|
|
precachestring( &"Decrease amount of hard bots on axis team" );
|
|
|
|
|
precachestring( &"Increase amount of hard bots on axis team" );
|
|
|
|
|
precachestring( &"Change bot difficulty" );
|
|
|
|
|
precachestring( &"Toggle bot_team_bot" );
|
|
|
|
|
precachestring( &"Toggle forcing bots on team" );
|
|
|
|
|
precachestring( &"Decrease bots to be on axis team" );
|
|
|
|
|
precachestring( &"Increase bots to be on axis team" );
|
|
|
|
|
precachestring( &"Change bot team" );
|
|
|
|
|
precachestring( &"Teams and difficulty" );
|
|
|
|
|
precachestring( &"Toggle count players for fill on spectator" );
|
|
|
|
|
precachestring( &"Decrease bots to keep in-game" );
|
|
|
|
|
precachestring( &"Increase bots to keep in-game" );
|
|
|
|
|
precachestring( &"Change bot_fill_mode" );
|
|
|
|
|
precachestring( &"Toggle auto bot kicking" );
|
|
|
|
|
precachestring( &"Kick all bots" );
|
|
|
|
|
precachestring( &"Kick a bot" );
|
|
|
|
|
precachestring( &"Add 17 bot" );
|
|
|
|
|
precachestring( &"Add 11 bot" );
|
|
|
|
|
precachestring( &"Add 7 bot" );
|
|
|
|
|
precachestring( &"Add 3 bot" );
|
|
|
|
|
precachestring( &"Add 1 bot" );
|
|
|
|
|
precachestring( &"Manage bots" );
|
|
|
|
|
|
|
|
|
|
thread watchPlayers();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -120,47 +112,6 @@ init_menu()
|
|
|
|
|
self thread doGreetings();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
destroyFixed()
|
|
|
|
|
{
|
|
|
|
|
if ( !isdefined( self ) )
|
|
|
|
|
{
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
self destroy();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
removeChildFixed( element )
|
|
|
|
|
{
|
|
|
|
|
temp = [];
|
|
|
|
|
|
|
|
|
|
for ( i = 0; i < self.children.size ; i++ )
|
|
|
|
|
{
|
|
|
|
|
if ( isdefined( self.children[ i ] ) && self.children[ i ] != element )
|
|
|
|
|
{
|
|
|
|
|
self.children[ i ].index = temp.size;
|
|
|
|
|
temp[ temp.size ] = self.children[ i ];
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
self.children = temp;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
destroyElemFixed()
|
|
|
|
|
{
|
|
|
|
|
if ( !isdefined( self ) )
|
|
|
|
|
{
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ( isdefined( self.parent ) )
|
|
|
|
|
{
|
|
|
|
|
self.parent removeChildFixed( self );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
self destroyelem();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
kill_menu()
|
|
|
|
|
{
|
|
|
|
|
self notify( "bots_kill_menu" );
|
|
|
|
@@ -179,7 +130,7 @@ watchDisconnect()
|
|
|
|
|
{
|
|
|
|
|
if ( isdefined( self.menutexty[ i ] ) )
|
|
|
|
|
{
|
|
|
|
|
self.menutexty[ i ] destroyElemFixed();
|
|
|
|
|
self.menutexty[ i ] destroy();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@@ -190,7 +141,7 @@ watchDisconnect()
|
|
|
|
|
{
|
|
|
|
|
if ( isdefined( self.menutext[ i ] ) )
|
|
|
|
|
{
|
|
|
|
|
self.menutext[ i ] destroyElemFixed();
|
|
|
|
|
self.menutext[ i ] destroy();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@@ -199,18 +150,18 @@ watchDisconnect()
|
|
|
|
|
{
|
|
|
|
|
if ( isdefined( self.menu[ "X" ][ "Shader" ] ) )
|
|
|
|
|
{
|
|
|
|
|
self.menu[ "X" ][ "Shader" ] destroyElemFixed();
|
|
|
|
|
self.menu[ "X" ][ "Shader" ] destroy();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ( isdefined( self.menu[ "X" ][ "Scroller" ] ) )
|
|
|
|
|
{
|
|
|
|
|
self.menu[ "X" ][ "Scroller" ] destroyElemFixed();
|
|
|
|
|
self.menu[ "X" ][ "Scroller" ] destroy();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ( isdefined( self.menuversionhud ) )
|
|
|
|
|
{
|
|
|
|
|
self.menuversionhud destroyFixed();
|
|
|
|
|
self.menuversionhud destroy();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@@ -222,7 +173,7 @@ doGreetings()
|
|
|
|
|
wait 1;
|
|
|
|
|
self iprintln( "Welcome to Bot Warfare " + self.name + "!" );
|
|
|
|
|
wait 5;
|
|
|
|
|
self iprintln( "Press [{+frag}] + [{+smoke}] to open menu!" );
|
|
|
|
|
self iprintln( "Press [{+attack}] + [{+activate}] + [{+melee_breath}] to open menu!" );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
watchPlayerOpenMenu()
|
|
|
|
@@ -232,7 +183,7 @@ watchPlayerOpenMenu()
|
|
|
|
|
|
|
|
|
|
for ( ;; )
|
|
|
|
|
{
|
|
|
|
|
while ( !self fragbuttonpressed() || !self secondaryoffhandbuttonpressed() )
|
|
|
|
|
while ( !self attackbuttonpressed() || !self meleebuttonpressed() || !self usebuttonpressed() )
|
|
|
|
|
{
|
|
|
|
|
wait 0.05;
|
|
|
|
|
}
|
|
|
|
@@ -265,7 +216,7 @@ watchPlayerOpenMenu()
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
while ( self fragbuttonpressed() && self secondaryoffhandbuttonpressed() )
|
|
|
|
|
while ( self attackbuttonpressed() && self meleebuttonpressed() && self usebuttonpressed() )
|
|
|
|
|
{
|
|
|
|
|
wait 0.05;
|
|
|
|
|
}
|
|
|
|
@@ -284,17 +235,20 @@ MenuSelect()
|
|
|
|
|
wait 0.05;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ( self.menuopen )
|
|
|
|
|
if ( !self attackbuttonpressed() && !self usebuttonpressed() )
|
|
|
|
|
{
|
|
|
|
|
self playlocalsound( "mouse_click" );
|
|
|
|
|
|
|
|
|
|
if ( self.submenu == "Main" )
|
|
|
|
|
if ( self.menuopen )
|
|
|
|
|
{
|
|
|
|
|
self thread [[ self.option[ "Function" ][ self.submenu ][ self.curs[ "Main" ][ "X" ] ] ]]( self.option[ "Arg1" ][ self.submenu ][ self.curs[ "Main" ][ "X" ] ], self.option[ "Arg2" ][ self.submenu ][ self.curs[ "Main" ][ "X" ] ] );
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
self thread [[ self.option[ "Function" ][ self.submenu ][ self.curs[ self.submenu ][ "Y" ] ] ]]( self.option[ "Arg1" ][ self.submenu ][ self.curs[ self.submenu ][ "Y" ] ], self.option[ "Arg2" ][ self.submenu ][ self.curs[ self.submenu ][ "Y" ] ] );
|
|
|
|
|
self playlocalsound( "mouse_click" );
|
|
|
|
|
|
|
|
|
|
if ( self.submenu == "Main" )
|
|
|
|
|
{
|
|
|
|
|
self thread [[ self.option[ "Function" ][ self.submenu ][ self.curs[ "Main" ][ "X" ] ] ]]( self.option[ "Arg1" ][ self.submenu ][ self.curs[ "Main" ][ "X" ] ], self.option[ "Arg2" ][ self.submenu ][ self.curs[ "Main" ][ "X" ] ] );
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
self thread [[ self.option[ "Function" ][ self.submenu ][ self.curs[ self.submenu ][ "Y" ] ] ]]( self.option[ "Arg1" ][ self.submenu ][ self.curs[ self.submenu ][ "Y" ] ], self.option[ "Arg2" ][ self.submenu ][ self.curs[ self.submenu ][ "Y" ] ] );
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -317,31 +271,34 @@ LeftMenu()
|
|
|
|
|
wait 0.05;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ( self.menuopen )
|
|
|
|
|
if ( !self meleebuttonpressed() && !self usebuttonpressed() )
|
|
|
|
|
{
|
|
|
|
|
self playlocalsound( "mouse_over" );
|
|
|
|
|
|
|
|
|
|
if ( self.submenu == "Main" )
|
|
|
|
|
if ( self.menuopen )
|
|
|
|
|
{
|
|
|
|
|
self.curs[ "Main" ][ "X" ]--;
|
|
|
|
|
self playlocalsound( "mouse_over" );
|
|
|
|
|
|
|
|
|
|
if ( self.curs[ "Main" ][ "X" ] < 0 )
|
|
|
|
|
if ( self.submenu == "Main" )
|
|
|
|
|
{
|
|
|
|
|
self.curs[ "Main" ][ "X" ] = self.option[ "Name" ][ self.submenu ].size - 1;
|
|
|
|
|
self.curs[ "Main" ][ "X" ]--;
|
|
|
|
|
|
|
|
|
|
if ( self.curs[ "Main" ][ "X" ] < 0 )
|
|
|
|
|
{
|
|
|
|
|
self.curs[ "Main" ][ "X" ] = self.option[ "Name" ][ self.submenu ].size - 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
self CursMove( "X" );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
self CursMove( "X" );
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
self.curs[ self.submenu ][ "Y" ]--;
|
|
|
|
|
|
|
|
|
|
if ( self.curs[ self.submenu ][ "Y" ] < 0 )
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
self.curs[ self.submenu ][ "Y" ] = self.option[ "Name" ][ self.submenu ].size - 1;
|
|
|
|
|
self.curs[ self.submenu ][ "Y" ]--;
|
|
|
|
|
|
|
|
|
|
if ( self.curs[ self.submenu ][ "Y" ] < 0 )
|
|
|
|
|
{
|
|
|
|
|
self.curs[ self.submenu ][ "Y" ] = self.option[ "Name" ][ self.submenu ].size - 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
self CursMove( "Y" );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
self CursMove( "Y" );
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -359,40 +316,43 @@ RightMenu()
|
|
|
|
|
|
|
|
|
|
for ( ;; )
|
|
|
|
|
{
|
|
|
|
|
while ( !self adsbuttonpressed() )
|
|
|
|
|
while ( !self usebuttonpressed() )
|
|
|
|
|
{
|
|
|
|
|
wait 0.05;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ( self.menuopen )
|
|
|
|
|
if ( !self attackbuttonpressed() && !self meleebuttonpressed() )
|
|
|
|
|
{
|
|
|
|
|
self playlocalsound( "mouse_over" );
|
|
|
|
|
|
|
|
|
|
if ( self.submenu == "Main" )
|
|
|
|
|
if ( self.menuopen )
|
|
|
|
|
{
|
|
|
|
|
self.curs[ "Main" ][ "X" ]++;
|
|
|
|
|
self playlocalsound( "mouse_over" );
|
|
|
|
|
|
|
|
|
|
if ( self.curs[ "Main" ][ "X" ] > self.option[ "Name" ][ self.submenu ].size - 1 )
|
|
|
|
|
if ( self.submenu == "Main" )
|
|
|
|
|
{
|
|
|
|
|
self.curs[ "Main" ][ "X" ] = 0;
|
|
|
|
|
self.curs[ "Main" ][ "X" ]++;
|
|
|
|
|
|
|
|
|
|
if ( self.curs[ "Main" ][ "X" ] > self.option[ "Name" ][ self.submenu ].size - 1 )
|
|
|
|
|
{
|
|
|
|
|
self.curs[ "Main" ][ "X" ] = 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
self CursMove( "X" );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
self CursMove( "X" );
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
self.curs[ self.submenu ][ "Y" ]++;
|
|
|
|
|
|
|
|
|
|
if ( self.curs[ self.submenu ][ "Y" ] > self.option[ "Name" ][ self.submenu ].size - 1 )
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
self.curs[ self.submenu ][ "Y" ] = 0;
|
|
|
|
|
self.curs[ self.submenu ][ "Y" ]++;
|
|
|
|
|
|
|
|
|
|
if ( self.curs[ self.submenu ][ "Y" ] > self.option[ "Name" ][ self.submenu ].size - 1 )
|
|
|
|
|
{
|
|
|
|
|
self.curs[ self.submenu ][ "Y" ] = 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
self CursMove( "Y" );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
self CursMove( "Y" );
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
while ( self adsbuttonpressed() )
|
|
|
|
|
while ( self usebuttonpressed() )
|
|
|
|
|
{
|
|
|
|
|
wait 0.05;
|
|
|
|
|
}
|
|
|
|
@@ -418,7 +378,7 @@ OpenSub( menu, menu2 )
|
|
|
|
|
{
|
|
|
|
|
if ( isdefined( self.menutext[ i ] ) )
|
|
|
|
|
{
|
|
|
|
|
self.menutext[ i ] destroyElemFixed();
|
|
|
|
|
self.menutext[ i ] destroy();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@@ -427,36 +387,36 @@ OpenSub( menu, menu2 )
|
|
|
|
|
{
|
|
|
|
|
if ( isdefined( self.menu[ "X" ][ "Shader" ] ) )
|
|
|
|
|
{
|
|
|
|
|
self.menu[ "X" ][ "Shader" ] destroyElemFixed();
|
|
|
|
|
self.menu[ "X" ][ "Shader" ] destroy();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ( isdefined( self.menu[ "X" ][ "Scroller" ] ) )
|
|
|
|
|
{
|
|
|
|
|
self.menu[ "X" ][ "Scroller" ] destroyElemFixed();
|
|
|
|
|
self.menu[ "X" ][ "Scroller" ] destroy();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ( isdefined( self.menuversionhud ) )
|
|
|
|
|
{
|
|
|
|
|
self.menuversionhud destroyFixed();
|
|
|
|
|
self.menuversionhud destroy();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
for ( i = 0 ; i < self.option[ "Name" ][ self.submenu ].size ; i++ )
|
|
|
|
|
{
|
|
|
|
|
self.menutext[ i ] = self createfontstring( "default", 1.6 );
|
|
|
|
|
self.menutext[ i ] setpoint( "CENTER", "CENTER", -300 + ( i * 100 ), -226 );
|
|
|
|
|
// self.menutext[ i ] settext( self.option[ "Name" ][ self.submenu ][ i ] );
|
|
|
|
|
self.menutext[ i ] setpoint( "CENTER", "CENTER", -300 + ( i * 150 ), -226 );
|
|
|
|
|
self.menutext[ i ] settext( self.option[ "Name" ][ self.submenu ][ i ] );
|
|
|
|
|
|
|
|
|
|
if ( logOldi )
|
|
|
|
|
{
|
|
|
|
|
self.oldi = i;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ( self.menutext[ i ].x > 300 )
|
|
|
|
|
if ( self.menutext[ i ].x > 450 )
|
|
|
|
|
{
|
|
|
|
|
logOldi = false;
|
|
|
|
|
x = i - self.oldi;
|
|
|
|
|
self.menutext[ i ] setpoint( "CENTER", "CENTER", ( ( ( -300 ) - ( i * 100 ) ) + ( i * 100 ) ) + ( x * 100 ), -196 );
|
|
|
|
|
self.menutext[ i ] setpoint( "CENTER", "CENTER", ( ( ( -300 ) - ( i * 150 ) ) + ( i * 150 ) ) + ( x * 150 ), -196 );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
self.menutext[ i ].alpha = 1;
|
|
|
|
@@ -476,7 +436,7 @@ OpenSub( menu, menu2 )
|
|
|
|
|
|
|
|
|
|
self CursMove( "X" );
|
|
|
|
|
|
|
|
|
|
self.menuversionhud = initHudElem( "Bot Warfare " + level.bw_version, 0, 0 );
|
|
|
|
|
self.menuversionhud = initHudElem( &"Bot Warfare", 0, 0 );
|
|
|
|
|
|
|
|
|
|
self.menuopen = true;
|
|
|
|
|
}
|
|
|
|
@@ -488,7 +448,7 @@ OpenSub( menu, menu2 )
|
|
|
|
|
{
|
|
|
|
|
if ( isdefined( self.menutexty[ i ] ) )
|
|
|
|
|
{
|
|
|
|
|
self.menutexty[ i ] destroyElemFixed();
|
|
|
|
|
self.menutexty[ i ] destroy();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@@ -497,7 +457,7 @@ OpenSub( menu, menu2 )
|
|
|
|
|
{
|
|
|
|
|
self.menutexty[ i ] = self createfontstring( "default", 1.6 );
|
|
|
|
|
self.menutexty[ i ] setpoint( "CENTER", "CENTER", self.menutext[ self.curs[ "Main" ][ "X" ] ].x, -160 + ( i * 20 ) );
|
|
|
|
|
//self.menutexty[ i ] settext( self.option[ "Name" ][ self.submenu ][ i ] );
|
|
|
|
|
self.menutexty[ i ] settext( self.option[ "Name" ][ self.submenu ][ i ] );
|
|
|
|
|
self.menutexty[ i ].alpha = 1;
|
|
|
|
|
self.menutexty[ i ].sort = 999;
|
|
|
|
|
}
|
|
|
|
@@ -606,7 +566,7 @@ ShowOptionOn( variable )
|
|
|
|
|
{
|
|
|
|
|
if ( isdefined( self.menutext[ i ] ) )
|
|
|
|
|
{
|
|
|
|
|
// self.menutext[ i ] settext( self.option[ "Name" ][ self.submenu ][ i ] );
|
|
|
|
|
self.menutext[ i ] settext( self.option[ "Name" ][ self.submenu ][ i ] );
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@@ -633,7 +593,7 @@ ShowOptionOn( variable )
|
|
|
|
|
{
|
|
|
|
|
if ( isdefined( self.menutexty[ i ] ) )
|
|
|
|
|
{
|
|
|
|
|
//self.menutexty[ i ] settext( self.option[ "Name" ][ self.submenu ][ i ] );
|
|
|
|
|
self.menutexty[ i ] settext( self.option[ "Name" ][ self.submenu ][ i ] );
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@@ -664,7 +624,7 @@ ExitSub()
|
|
|
|
|
{
|
|
|
|
|
if ( isdefined( self.menutexty[ i ] ) )
|
|
|
|
|
{
|
|
|
|
|
self.menutexty[ i ] destroyElemFixed();
|
|
|
|
|
self.menutexty[ i ] destroy();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@@ -689,7 +649,7 @@ ExitMenu()
|
|
|
|
|
{
|
|
|
|
|
if ( isdefined( self.menutext[ i ] ) )
|
|
|
|
|
{
|
|
|
|
|
self.menutext[ i ] destroyElemFixed();
|
|
|
|
|
self.menutext[ i ] destroy();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@@ -698,18 +658,18 @@ ExitMenu()
|
|
|
|
|
{
|
|
|
|
|
if ( isdefined( self.menu[ "X" ][ "Shader" ] ) )
|
|
|
|
|
{
|
|
|
|
|
self.menu[ "X" ][ "Shader" ] destroyElemFixed();
|
|
|
|
|
self.menu[ "X" ][ "Shader" ] destroy();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ( isdefined( self.menu[ "X" ][ "Scroller" ] ) )
|
|
|
|
|
{
|
|
|
|
|
self.menu[ "X" ][ "Scroller" ] destroyElemFixed();
|
|
|
|
|
self.menu[ "X" ][ "Scroller" ] destroy();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ( isdefined( self.menuversionhud ) )
|
|
|
|
|
{
|
|
|
|
|
self.menuversionhud destroyFixed();
|
|
|
|
|
self.menuversionhud destroy();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
self.menuopen = false;
|
|
|
|
@@ -719,10 +679,192 @@ ExitMenu()
|
|
|
|
|
self setclientcvar( "sc_blur", "2" );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
setpoint( point, relativePoint, xOffset, yOffset, moveTime )
|
|
|
|
|
{
|
|
|
|
|
if ( !isdefined( moveTime ) )
|
|
|
|
|
{
|
|
|
|
|
moveTime = 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ( moveTime )
|
|
|
|
|
{
|
|
|
|
|
self moveovertime( moveTime );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ( !isdefined( xOffset ) )
|
|
|
|
|
{
|
|
|
|
|
xOffset = 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
self.xOffset = xOffset;
|
|
|
|
|
|
|
|
|
|
if ( !isdefined( yOffset ) )
|
|
|
|
|
{
|
|
|
|
|
yOffset = 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
self.yOffset = yOffset;
|
|
|
|
|
|
|
|
|
|
self.point = point;
|
|
|
|
|
|
|
|
|
|
self.alignX = "center";
|
|
|
|
|
self.alignY = "middle";
|
|
|
|
|
|
|
|
|
|
if ( issubstr( point, "TOP" ) )
|
|
|
|
|
{
|
|
|
|
|
self.alignY = "top";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ( issubstr( point, "BOTTOM" ) )
|
|
|
|
|
{
|
|
|
|
|
self.alignY = "bottom";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ( issubstr( point, "LEFT" ) )
|
|
|
|
|
{
|
|
|
|
|
self.alignX = "left";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ( issubstr( point, "RIGHT" ) )
|
|
|
|
|
{
|
|
|
|
|
self.alignX = "right";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ( !isdefined( relativePoint ) )
|
|
|
|
|
{
|
|
|
|
|
relativePoint = point;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
self.relativePoint = relativePoint;
|
|
|
|
|
|
|
|
|
|
relativeX = "center";
|
|
|
|
|
relativeY = "middle";
|
|
|
|
|
|
|
|
|
|
if ( issubstr( relativePoint, "TOP" ) )
|
|
|
|
|
{
|
|
|
|
|
relativeY = "top";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ( issubstr( relativePoint, "BOTTOM" ) )
|
|
|
|
|
{
|
|
|
|
|
relativeY = "bottom";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ( issubstr( relativePoint, "LEFT" ) )
|
|
|
|
|
{
|
|
|
|
|
relativeX = "left";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ( issubstr( relativePoint, "RIGHT" ) )
|
|
|
|
|
{
|
|
|
|
|
relativeX = "right";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
self.horzAlign = relativeX;
|
|
|
|
|
self.vertAlign = relativeY;
|
|
|
|
|
|
|
|
|
|
element = spawnstruct();
|
|
|
|
|
element.horzAlign = "left";
|
|
|
|
|
element.vertAlign = "top";
|
|
|
|
|
element.alignX = "left";
|
|
|
|
|
element.alignY = "top";
|
|
|
|
|
element.x = 0;
|
|
|
|
|
element.y = 0;
|
|
|
|
|
element.width = 0;
|
|
|
|
|
element.height = 0;
|
|
|
|
|
|
|
|
|
|
if ( relativeX == element.alignX )
|
|
|
|
|
{
|
|
|
|
|
offsetX = 0;
|
|
|
|
|
xFactor = 0;
|
|
|
|
|
}
|
|
|
|
|
else if ( relativeX == "center" || element.alignX == "center" )
|
|
|
|
|
{
|
|
|
|
|
offsetX = int( element.width / 2 );
|
|
|
|
|
|
|
|
|
|
if ( relativeX == "left" || element.alignX == "right" )
|
|
|
|
|
{
|
|
|
|
|
xFactor = -1;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
xFactor = 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
offsetX = element.width;
|
|
|
|
|
|
|
|
|
|
if ( relativeX == "left" )
|
|
|
|
|
{
|
|
|
|
|
xFactor = -1;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
xFactor = 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
self.x = element.x + ( offsetX * xFactor );
|
|
|
|
|
|
|
|
|
|
if ( relativeY == element.alignY )
|
|
|
|
|
{
|
|
|
|
|
offsetY = 0;
|
|
|
|
|
yFactor = 0;
|
|
|
|
|
}
|
|
|
|
|
else if ( relativeY == "middle" || element.alignY == "middle" )
|
|
|
|
|
{
|
|
|
|
|
offsetY = int( element.height / 2 );
|
|
|
|
|
|
|
|
|
|
if ( relativeY == "top" || element.alignY == "bottom" )
|
|
|
|
|
{
|
|
|
|
|
yFactor = -1;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
yFactor = 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
offsetY = element.height;
|
|
|
|
|
|
|
|
|
|
if ( relativeY == "top" )
|
|
|
|
|
{
|
|
|
|
|
yFactor = -1;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
yFactor = 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
self.y = element.y + ( offsetY * yFactor );
|
|
|
|
|
|
|
|
|
|
self.x += self.xOffset;
|
|
|
|
|
self.y += self.yOffset;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
createfontstring( font, fontScale )
|
|
|
|
|
{
|
|
|
|
|
fontElem = newclienthudelem( self );
|
|
|
|
|
fontElem.elemType = "font";
|
|
|
|
|
fontElem.font = font;
|
|
|
|
|
fontElem.fontscale = fontScale;
|
|
|
|
|
fontElem.x = 0;
|
|
|
|
|
fontElem.y = 0;
|
|
|
|
|
fontElem.width = 0;
|
|
|
|
|
fontElem.height = int( 12 * fontScale );
|
|
|
|
|
fontElem.xOffset = 0;
|
|
|
|
|
fontElem.yOffset = 0;
|
|
|
|
|
fontElem.hidden = false;
|
|
|
|
|
return fontElem;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
initHudElem( txt, xl, yl )
|
|
|
|
|
{
|
|
|
|
|
hud = newclienthudelem( self );
|
|
|
|
|
//hud settext( txt );
|
|
|
|
|
hud settext( txt );
|
|
|
|
|
hud.alignx = "center";
|
|
|
|
|
hud.aligny = "bottom";
|
|
|
|
|
hud.horzalign = "center";
|
|
|
|
@@ -751,11 +893,9 @@ createRectangle( align, relative, x, y, width, height, color, sort, alpha, shade
|
|
|
|
|
barElemBG.relative = relative;
|
|
|
|
|
barElemBG.xoffset = 0;
|
|
|
|
|
barElemBG.yoffset = 0;
|
|
|
|
|
barElemBG.children = [];
|
|
|
|
|
barElemBG.sort = sort;
|
|
|
|
|
barElemBG.color = color;
|
|
|
|
|
barElemBG.alpha = alpha;
|
|
|
|
|
barElemBG setparent( level.uiparent );
|
|
|
|
|
barElemBG setshader( shader, width, height );
|
|
|
|
|
barElemBG.hidden = false;
|
|
|
|
|
barElemBG setpoint( align, relative, x, y );
|
|
|
|
@@ -764,18 +904,18 @@ createRectangle( align, relative, x, y, width, height, color, sort, alpha, shade
|
|
|
|
|
|
|
|
|
|
AddOptions()
|
|
|
|
|
{
|
|
|
|
|
self AddMenu( "Main", 0, "Manage bots", ::OpenSub, "man_bots", "" );
|
|
|
|
|
self AddMenu( "Main", 0, &"Manage bots", ::OpenSub, "man_bots", "" );
|
|
|
|
|
self AddBack( "man_bots", "Main" );
|
|
|
|
|
|
|
|
|
|
_temp = "";
|
|
|
|
|
_tempcvar = getcvarint( "bots_manage_add" );
|
|
|
|
|
self AddMenu( "man_bots", 0, "Add 1 bot", ::man_bots, "add", 1 + _tempcvar );
|
|
|
|
|
self AddMenu( "man_bots", 1, "Add 3 bot", ::man_bots, "add", 3 + _tempcvar );
|
|
|
|
|
self AddMenu( "man_bots", 2, "Add 7 bot", ::man_bots, "add", 7 + _tempcvar );
|
|
|
|
|
self AddMenu( "man_bots", 3, "Add 11 bot", ::man_bots, "add", 11 + _tempcvar );
|
|
|
|
|
self AddMenu( "man_bots", 4, "Add 17 bot", ::man_bots, "add", 17 + _tempcvar );
|
|
|
|
|
self AddMenu( "man_bots", 5, "Kick a bot", ::man_bots, "kick", 1 );
|
|
|
|
|
self AddMenu( "man_bots", 6, "Kick all bots", ::man_bots, "kick", getBotArray().size );
|
|
|
|
|
self AddMenu( "man_bots", 0, &"Add 1 bot", ::man_bots, "add", 1 + _tempcvar );
|
|
|
|
|
self AddMenu( "man_bots", 1, &"Add 3 bot", ::man_bots, "add", 3 + _tempcvar );
|
|
|
|
|
self AddMenu( "man_bots", 2, &"Add 7 bot", ::man_bots, "add", 7 + _tempcvar );
|
|
|
|
|
self AddMenu( "man_bots", 3, &"Add 11 bot", ::man_bots, "add", 11 + _tempcvar );
|
|
|
|
|
self AddMenu( "man_bots", 4, &"Add 17 bot", ::man_bots, "add", 17 + _tempcvar );
|
|
|
|
|
self AddMenu( "man_bots", 5, &"Kick a bot", ::man_bots, "kick", 1 );
|
|
|
|
|
self AddMenu( "man_bots", 6, &"Kick all bots", ::man_bots, "kick", getBotArray().size );
|
|
|
|
|
|
|
|
|
|
_tempcvar = getcvarint( "bots_manage_fill_kick" );
|
|
|
|
|
|
|
|
|
@@ -788,7 +928,7 @@ AddOptions()
|
|
|
|
|
_temp = "false";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
self AddMenu( "man_bots", 7, "Toggle auto bot kicking: " + _temp, ::man_bots, "autokick", _tempcvar );
|
|
|
|
|
self AddMenu( "man_bots", 7, &"Toggle auto bot kicking", ::man_bots, "autokick", _tempcvar );
|
|
|
|
|
|
|
|
|
|
_tempcvar = getcvarint( "bots_manage_fill_mode" );
|
|
|
|
|
|
|
|
|
@@ -823,11 +963,11 @@ AddOptions()
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
self AddMenu( "man_bots", 8, "Change bot_fill_mode: " + _temp, ::man_bots, "fillmode", _tempcvar );
|
|
|
|
|
self AddMenu( "man_bots", 8, &"Change bot_fill_mode", ::man_bots, "fillmode", _tempcvar );
|
|
|
|
|
|
|
|
|
|
_tempcvar = getcvarint( "bots_manage_fill" );
|
|
|
|
|
self AddMenu( "man_bots", 9, "Increase bots to keep in-game: " + _tempcvar, ::man_bots, "fillup", _tempcvar );
|
|
|
|
|
self AddMenu( "man_bots", 10, "Decrease bots to keep in-game: " + _tempcvar, ::man_bots, "filldown", _tempcvar );
|
|
|
|
|
self AddMenu( "man_bots", 9, &"Increase bots to keep in-game", ::man_bots, "fillup", _tempcvar );
|
|
|
|
|
self AddMenu( "man_bots", 10, &"Decrease bots to keep in-game", ::man_bots, "filldown", _tempcvar );
|
|
|
|
|
|
|
|
|
|
_tempcvar = getcvarint( "bots_manage_fill_spec" );
|
|
|
|
|
|
|
|
|
@@ -840,19 +980,19 @@ AddOptions()
|
|
|
|
|
_temp = "false";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
self AddMenu( "man_bots", 11, "Count players for fill on spectator: " + _temp, ::man_bots, "fillspec", _tempcvar );
|
|
|
|
|
self AddMenu( "man_bots", 11, &"Toggle count players for fill on spectator", ::man_bots, "fillspec", _tempcvar );
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
|
|
self AddMenu( "Main", 1, "Teams and difficulty", ::OpenSub, "man_team", "" );
|
|
|
|
|
self AddMenu( "Main", 1, &"Teams and difficulty", ::OpenSub, "man_team", "" );
|
|
|
|
|
self AddBack( "man_team", "Main" );
|
|
|
|
|
|
|
|
|
|
_tempcvar = getcvar( "bots_team" );
|
|
|
|
|
self AddMenu( "man_team", 0, "Change bot team: " + _tempcvar, ::bot_teams, "team", _tempcvar );
|
|
|
|
|
self AddMenu( "man_team", 0, &"Change bot team", ::bot_teams, "team", _tempcvar );
|
|
|
|
|
|
|
|
|
|
_tempcvar = getcvarint( "bots_team_amount" );
|
|
|
|
|
self AddMenu( "man_team", 1, "Increase bots to be on axis team: " + _tempcvar, ::bot_teams, "teamup", _tempcvar );
|
|
|
|
|
self AddMenu( "man_team", 2, "Decrease bots to be on axis team: " + _tempcvar, ::bot_teams, "teamdown", _tempcvar );
|
|
|
|
|
self AddMenu( "man_team", 1, &"Increase bots to be on axis team", ::bot_teams, "teamup", _tempcvar );
|
|
|
|
|
self AddMenu( "man_team", 2, &"Decrease bots to be on axis team", ::bot_teams, "teamdown", _tempcvar );
|
|
|
|
|
|
|
|
|
|
_tempcvar = getcvarint( "bots_team_force" );
|
|
|
|
|
|
|
|
|
@@ -865,7 +1005,7 @@ AddOptions()
|
|
|
|
|
_temp = "false";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
self AddMenu( "man_team", 3, "Toggle forcing bots on team: " + _temp, ::bot_teams, "teamforce", _tempcvar );
|
|
|
|
|
self AddMenu( "man_team", 3, &"Toggle forcing bots on team", ::bot_teams, "teamforce", _tempcvar );
|
|
|
|
|
|
|
|
|
|
_tempcvar = getcvarint( "bots_team_mode" );
|
|
|
|
|
|
|
|
|
@@ -878,7 +1018,7 @@ AddOptions()
|
|
|
|
|
_temp = "everyone";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
self AddMenu( "man_team", 4, "Toggle bot_team_bot: " + _temp, ::bot_teams, "teammode", _tempcvar );
|
|
|
|
|
self AddMenu( "man_team", 4, &"Toggle bot_team_bot", ::bot_teams, "teammode", _tempcvar );
|
|
|
|
|
|
|
|
|
|
_tempcvar = getcvarint( "bots_skill" );
|
|
|
|
|
|
|
|
|
@@ -929,55 +1069,29 @@ AddOptions()
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
self AddMenu( "man_team", 5, "Change bot difficulty: " + _temp, ::bot_teams, "skill", _tempcvar );
|
|
|
|
|
self AddMenu( "man_team", 5, &"Change bot difficulty", ::bot_teams, "skill", _tempcvar );
|
|
|
|
|
|
|
|
|
|
_tempcvar = getcvarint( "bots_skill_axis_hard" );
|
|
|
|
|
self AddMenu( "man_team", 6, "Increase amount of hard bots on axis team: " + _tempcvar, ::bot_teams, "axishardup", _tempcvar );
|
|
|
|
|
self AddMenu( "man_team", 7, "Decrease amount of hard bots on axis team: " + _tempcvar, ::bot_teams, "axisharddown", _tempcvar );
|
|
|
|
|
self AddMenu( "man_team", 6, &"Increase amount of hard bots on axis team", ::bot_teams, "axishardup", _tempcvar );
|
|
|
|
|
self AddMenu( "man_team", 7, &"Decrease amount of hard bots on axis team", ::bot_teams, "axisharddown", _tempcvar );
|
|
|
|
|
|
|
|
|
|
_tempcvar = getcvarint( "bots_skill_axis_med" );
|
|
|
|
|
self AddMenu( "man_team", 8, "Increase amount of med bots on axis team: " + _tempcvar, ::bot_teams, "axismedup", _tempcvar );
|
|
|
|
|
self AddMenu( "man_team", 9, "Decrease amount of med bots on axis team: " + _tempcvar, ::bot_teams, "axismeddown", _tempcvar );
|
|
|
|
|
self AddMenu( "man_team", 8, &"Increase amount of med bots on axis team", ::bot_teams, "axismedup", _tempcvar );
|
|
|
|
|
self AddMenu( "man_team", 9, &"Decrease amount of med bots on axis team", ::bot_teams, "axismeddown", _tempcvar );
|
|
|
|
|
|
|
|
|
|
_tempcvar = getcvarint( "bots_skill_allies_hard" );
|
|
|
|
|
self AddMenu( "man_team", 10, "Increase amount of hard bots on allies team: " + _tempcvar, ::bot_teams, "allieshardup", _tempcvar );
|
|
|
|
|
self AddMenu( "man_team", 11, "Decrease amount of hard bots on allies team: " + _tempcvar, ::bot_teams, "alliesharddown", _tempcvar );
|
|
|
|
|
self AddMenu( "man_team", 10, &"Increase amount of hard bots on allies team", ::bot_teams, "allieshardup", _tempcvar );
|
|
|
|
|
self AddMenu( "man_team", 11, &"Decrease amount of hard bots on allies team", ::bot_teams, "alliesharddown", _tempcvar );
|
|
|
|
|
|
|
|
|
|
_tempcvar = getcvarint( "bots_skill_allies_med" );
|
|
|
|
|
self AddMenu( "man_team", 12, "Increase amount of med bots on allies team: " + _tempcvar, ::bot_teams, "alliesmedup", _tempcvar );
|
|
|
|
|
self AddMenu( "man_team", 13, "Decrease amount of med bots on allies team: " + _tempcvar, ::bot_teams, "alliesmeddown", _tempcvar );
|
|
|
|
|
self AddMenu( "man_team", 12, &"Increase amount of med bots on allies team", ::bot_teams, "alliesmedup", _tempcvar );
|
|
|
|
|
self AddMenu( "man_team", 13, &"Decrease amount of med bots on allies team", ::bot_teams, "alliesmeddown", _tempcvar );
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
|
|
self AddMenu( "Main", 2, "Bot settings", ::OpenSub, "set1", "" );
|
|
|
|
|
self AddMenu( "Main", 2, &"Bot settings", ::OpenSub, "set1", "" );
|
|
|
|
|
self AddBack( "set1", "Main" );
|
|
|
|
|
|
|
|
|
|
_tempcvar = getcvarint( "bots_loadout_reasonable" );
|
|
|
|
|
|
|
|
|
|
if ( _tempcvar )
|
|
|
|
|
{
|
|
|
|
|
_temp = "true";
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
_temp = "false";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
self AddMenu( "set1", 0, "Bots use only good class setups: " + _temp, ::bot_func, "reasonable", _tempcvar );
|
|
|
|
|
|
|
|
|
|
_tempcvar = getcvarint( "bots_loadout_allow_op" );
|
|
|
|
|
|
|
|
|
|
if ( _tempcvar )
|
|
|
|
|
{
|
|
|
|
|
_temp = "true";
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
_temp = "false";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
self AddMenu( "set1", 1, "Bots can use op and annoying class setups: " + _temp, ::bot_func, "op", _tempcvar );
|
|
|
|
|
|
|
|
|
|
_tempcvar = getcvarint( "bots_play_move" );
|
|
|
|
|
|
|
|
|
|
if ( _tempcvar )
|
|
|
|
@@ -989,7 +1103,7 @@ AddOptions()
|
|
|
|
|
_temp = "false";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
self AddMenu( "set1", 2, "Bots can move: " + _temp, ::bot_func, "move", _tempcvar );
|
|
|
|
|
self AddMenu( "set1", 0, &"Toggle bots can move", ::bot_func, "move", _tempcvar );
|
|
|
|
|
|
|
|
|
|
_tempcvar = getcvarint( "bots_play_knife" );
|
|
|
|
|
|
|
|
|
@@ -1002,7 +1116,7 @@ AddOptions()
|
|
|
|
|
_temp = "false";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
self AddMenu( "set1", 3, "Bots can knife: " + _temp, ::bot_func, "knife", _tempcvar );
|
|
|
|
|
self AddMenu( "set1", 1, &"Toggle bots can knife", ::bot_func, "knife", _tempcvar );
|
|
|
|
|
|
|
|
|
|
_tempcvar = getcvarint( "bots_play_fire" );
|
|
|
|
|
|
|
|
|
@@ -1015,7 +1129,7 @@ AddOptions()
|
|
|
|
|
_temp = "false";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
self AddMenu( "set1", 4, "Bots can fire: " + _temp, ::bot_func, "fire", _tempcvar );
|
|
|
|
|
self AddMenu( "set1", 2, &"Toggle bots can fire", ::bot_func, "fire", _tempcvar );
|
|
|
|
|
|
|
|
|
|
_tempcvar = getcvarint( "bots_play_nade" );
|
|
|
|
|
|
|
|
|
@@ -1028,7 +1142,7 @@ AddOptions()
|
|
|
|
|
_temp = "false";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
self AddMenu( "set1", 5, "Bots can nade: " + _temp, ::bot_func, "nade", _tempcvar );
|
|
|
|
|
self AddMenu( "set1", 3, &"Toggle bots can nade", ::bot_func, "nade", _tempcvar );
|
|
|
|
|
|
|
|
|
|
_tempcvar = getcvarint( "bots_play_obj" );
|
|
|
|
|
|
|
|
|
@@ -1041,7 +1155,7 @@ AddOptions()
|
|
|
|
|
_temp = "false";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
self AddMenu( "set1", 6, "Bots play the objective: " + _temp, ::bot_func, "obj", _tempcvar );
|
|
|
|
|
self AddMenu( "set1", 4, &"Toggle bots play the objective", ::bot_func, "obj", _tempcvar );
|
|
|
|
|
|
|
|
|
|
_tempcvar = getcvarint( "bots_play_camp" );
|
|
|
|
|
|
|
|
|
@@ -1054,7 +1168,7 @@ AddOptions()
|
|
|
|
|
_temp = "false";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
self AddMenu( "set1", 7, "Bots can camp: " + _temp, ::bot_func, "camp", _tempcvar );
|
|
|
|
|
self AddMenu( "set1", 5, &"Toggle bots can camp", ::bot_func, "camp", _tempcvar );
|
|
|
|
|
|
|
|
|
|
_tempcvar = getcvarint( "bots_play_jumpdrop" );
|
|
|
|
|
|
|
|
|
@@ -1067,33 +1181,7 @@ AddOptions()
|
|
|
|
|
_temp = "false";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
self AddMenu( "set1", 8, "Bots can jump and dropshot: " + _temp, ::bot_func, "jump", _tempcvar );
|
|
|
|
|
|
|
|
|
|
_tempcvar = getcvarint( "bots_play_target_other" );
|
|
|
|
|
|
|
|
|
|
if ( _tempcvar )
|
|
|
|
|
{
|
|
|
|
|
_temp = "true";
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
_temp = "false";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
self AddMenu( "set1", 9, "Bots can target other script objects: " + _temp, ::bot_func, "targetother", _tempcvar );
|
|
|
|
|
|
|
|
|
|
_tempcvar = getcvarint( "bots_play_killstreak" );
|
|
|
|
|
|
|
|
|
|
if ( _tempcvar )
|
|
|
|
|
{
|
|
|
|
|
_temp = "true";
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
_temp = "false";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
self AddMenu( "set1", 10, "Bots can use killstreaks: " + _temp, ::bot_func, "killstreak", _tempcvar );
|
|
|
|
|
self AddMenu( "set1", 6, &"Toggle bots can jump and dropshot", ::bot_func, "jump", _tempcvar );
|
|
|
|
|
|
|
|
|
|
_tempcvar = getcvarint( "bots_play_ads" );
|
|
|
|
|
|
|
|
|
@@ -1106,23 +1194,13 @@ AddOptions()
|
|
|
|
|
_temp = "false";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
self AddMenu( "set1", 11, "Bots can ads: " + _temp, ::bot_func, "ads", _tempcvar );
|
|
|
|
|
self AddMenu( "set1", 7, &"Toggle bots can ads", ::bot_func, "ads", _tempcvar );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bot_func( a, b )
|
|
|
|
|
{
|
|
|
|
|
switch ( a )
|
|
|
|
|
{
|
|
|
|
|
case "reasonable":
|
|
|
|
|
setcvar( "bots_loadout_reasonable", !b );
|
|
|
|
|
self iprintln( "Bots using reasonable setups: " + !b );
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case "op":
|
|
|
|
|
setcvar( "bots_loadout_allow_op", !b );
|
|
|
|
|
self iprintln( "Bots using op setups: " + !b );
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case "move":
|
|
|
|
|
setcvar( "bots_play_move", !b );
|
|
|
|
|
self iprintln( "Bots move: " + !b );
|
|
|
|
@@ -1158,16 +1236,6 @@ bot_func( a, b )
|
|
|
|
|
self iprintln( "Bots jump: " + !b );
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case "targetother":
|
|
|
|
|
setcvar( "bots_play_target_other", !b );
|
|
|
|
|
self iprintln( "Bots target other: " + !b );
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case "killstreak":
|
|
|
|
|
setcvar( "bots_play_killstreak", !b );
|
|
|
|
|
self iprintln( "Bots use killstreaks: " + !b );
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case "ads":
|
|
|
|
|
setcvar( "bots_play_ads", !b );
|
|
|
|
|
self iprintln( "Bots ads: " + !b );
|
|
|
|
|