mirror of
https://github.com/ineedbots/t5_bot_warfare.git
synced 2025-05-12 15:14:50 +00:00
Compare commits
No commits in common. "93b82d7720fce4059b272d6a907747bef55e5c6a" and "2e7cf4fb9cc2e75edc1c9bd9c1c2a7c253fc8798" have entirely different histories.
93b82d7720
...
2e7cf4fb9c
2
.gitignore
vendored
2
.gitignore
vendored
@ -1,5 +1,5 @@
|
|||||||
*.zip
|
*.zip
|
||||||
*.log*
|
*.log
|
||||||
*.stat
|
*.stat
|
||||||
logs/
|
logs/
|
||||||
demos/
|
demos/
|
||||||
|
@ -216,7 +216,7 @@ bot_get_prestige()
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( player is_bot() || player isdemoclient() )
|
if ( player is_bot() )
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@ -1246,7 +1246,7 @@ bot_get_cod_points()
|
|||||||
|
|
||||||
for ( i = 0; i < players.size; i++ )
|
for ( i = 0; i < players.size; i++ )
|
||||||
{
|
{
|
||||||
if ( players[ i ] is_bot() || players[ i ] isdemoclient() )
|
if ( players[ i ] is_bot() )
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@ -166,7 +166,7 @@ bot_on_spawn()
|
|||||||
for ( ;; )
|
for ( ;; )
|
||||||
{
|
{
|
||||||
self waittill( "spawned_player" );
|
self waittill( "spawned_player" );
|
||||||
self BotBuiltinClearOverride( false );
|
self BotBuiltinClearOverrides( true );
|
||||||
self BotBuiltinWeaponOverride( self getcurrentweapon() );
|
self BotBuiltinWeaponOverride( self getcurrentweapon() );
|
||||||
self.bot_is_doing_some_other_override = false;
|
self.bot_is_doing_some_other_override = false;
|
||||||
|
|
||||||
@ -2449,7 +2449,7 @@ do_bot_plane_combat( plane, weap )
|
|||||||
self endon( "missile_fire" );
|
self endon( "missile_fire" );
|
||||||
|
|
||||||
time = 7;
|
time = 7;
|
||||||
self BotBuiltinAimOverride( true );
|
self BotBuiltinAimOverride();
|
||||||
|
|
||||||
while ( time > 0 && isdefined( plane ) && isalive( plane ) && self getcurrentweapon() == weap && !self inLastStand() && !isdefined( self getthreat() ) )
|
while ( time > 0 && isdefined( plane ) && isalive( plane ) && self getcurrentweapon() == weap && !self inLastStand() && !isdefined( self getthreat() ) )
|
||||||
{
|
{
|
||||||
@ -2458,7 +2458,7 @@ do_bot_plane_combat( plane, weap )
|
|||||||
if ( bullettracepassed( myeye, plane.origin, false, plane ) )
|
if ( bullettracepassed( myeye, plane.origin, false, plane ) )
|
||||||
{
|
{
|
||||||
self thread bot_lookat( plane.origin, 0.3 );
|
self thread bot_lookat( plane.origin, 0.3 );
|
||||||
self BotBuiltinButtonOverride( "+ads" );
|
self BotBuiltinButtonOverride( "ads", "enable" );
|
||||||
|
|
||||||
if ( isdefined( self.stingerlockfinalized ) && self.stingerlockfinalized )
|
if ( isdefined( self.stingerlockfinalized ) && self.stingerlockfinalized )
|
||||||
{
|
{
|
||||||
@ -2467,7 +2467,7 @@ do_bot_plane_combat( plane, weap )
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
self BotBuiltinButtonOverride( "-ads" );
|
self BotBuiltinButtonOverride( "ads", "disable" );
|
||||||
}
|
}
|
||||||
|
|
||||||
time -= 0.05;
|
time -= 0.05;
|
||||||
@ -2499,8 +2499,8 @@ bot_plane_attack( plane )
|
|||||||
self do_bot_plane_combat( plane, weap );
|
self do_bot_plane_combat( plane, weap );
|
||||||
|
|
||||||
self notify( "bots_aim_overlap" );
|
self notify( "bots_aim_overlap" );
|
||||||
self BotBuiltinAimOverride( false );
|
self BotBuiltinClearAimOverride();
|
||||||
self BotBuiltinButtonOverride( "~ads" );
|
self BotBuiltinClearButtonOverride( "ads" );
|
||||||
}
|
}
|
||||||
|
|
||||||
self.bot_is_doing_some_other_override = false;
|
self.bot_is_doing_some_other_override = false;
|
||||||
@ -6405,8 +6405,8 @@ watch_for_melee_override()
|
|||||||
angles = vectortoangles( threat.origin - self.origin );
|
angles = vectortoangles( threat.origin - self.origin );
|
||||||
|
|
||||||
self BotBuiltinBotMeleeParams( angles[ 1 ], dist );
|
self BotBuiltinBotMeleeParams( angles[ 1 ], dist );
|
||||||
self BotBuiltinButtonOverride( "+melee" );
|
self BotBuiltinButtonOverride( "melee", "enable" );
|
||||||
self BotBuiltinAimOverride( true );
|
self BotBuiltinAimOverride();
|
||||||
|
|
||||||
time_left = 1;
|
time_left = 1;
|
||||||
once = false;
|
once = false;
|
||||||
@ -6420,17 +6420,17 @@ watch_for_melee_override()
|
|||||||
if ( !once )
|
if ( !once )
|
||||||
{
|
{
|
||||||
once = true;
|
once = true;
|
||||||
self BotBuiltinButtonOverride( "~melee" );
|
self BotBuiltinClearButtonOverride( "melee" );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( !once )
|
if ( !once )
|
||||||
{
|
{
|
||||||
self BotBuiltinButtonOverride( "~melee" );
|
self BotBuiltinClearButtonOverride( "melee" );
|
||||||
}
|
}
|
||||||
|
|
||||||
self BotBuiltinBotMeleeParams( false );
|
self BotBuiltinClearMeleeParams();
|
||||||
self BotBuiltinAimOverride( false );
|
self BotBuiltinClearAimOverride();
|
||||||
|
|
||||||
wait 1;
|
wait 1;
|
||||||
break;
|
break;
|
||||||
@ -6498,7 +6498,7 @@ watch_for_override_stuff()
|
|||||||
if ( need_to_clear_mantle_override && ( time - last_jump_time ) > 3000 )
|
if ( need_to_clear_mantle_override && ( time - last_jump_time ) > 3000 )
|
||||||
{
|
{
|
||||||
need_to_clear_mantle_override = false;
|
need_to_clear_mantle_override = false;
|
||||||
self BotBuiltinMantleOverride( false );
|
self BotBuiltinClearMantleOverride();
|
||||||
}
|
}
|
||||||
|
|
||||||
weapon_is_good = true;
|
weapon_is_good = true;
|
||||||
@ -6520,28 +6520,28 @@ watch_for_override_stuff()
|
|||||||
{
|
{
|
||||||
last_jump_time = time;
|
last_jump_time = time;
|
||||||
need_to_clear_mantle_override = true;
|
need_to_clear_mantle_override = true;
|
||||||
self BotBuiltinMantleOverride( true );
|
self BotBuiltinMantleOverride();
|
||||||
|
|
||||||
// drop shot
|
// drop shot
|
||||||
self BotBuiltinMovementOverride( 0, 0 );
|
self BotBuiltinMovementOverride( 0, 0 );
|
||||||
self BotBuiltinButtonOverride( "+prone" );
|
self BotBuiltinButtonOverride( "prone", "enable" );
|
||||||
|
|
||||||
wait 1.5;
|
wait 1.5;
|
||||||
|
|
||||||
self BotBuiltinMovementOverride( false );
|
self BotBuiltinClearMovementOverride();
|
||||||
self BotBuiltinButtonOverride( "~prone" );
|
self BotBuiltinClearButtonOverride( "prone" );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
last_jump_time = time;
|
last_jump_time = time;
|
||||||
need_to_clear_mantle_override = true;
|
need_to_clear_mantle_override = true;
|
||||||
self BotBuiltinMantleOverride( true );
|
self BotBuiltinMantleOverride();
|
||||||
|
|
||||||
// jump shot
|
// jump shot
|
||||||
self BotBuiltinButtonOverride( "+gostand" );
|
self BotBuiltinButtonOverride( "gostand", "enable" );
|
||||||
wait 0.1;
|
wait 0.1;
|
||||||
self BotBuiltinButtonOverride( "~gostand" );
|
self BotBuiltinClearButtonOverride( "gostand" );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -49,46 +49,6 @@ BotBuiltinPrintConsole( s )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
*/
|
|
||||||
BotBuiltinDisableDetourOnce( s )
|
|
||||||
{
|
|
||||||
if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins[ "disabledetouronce" ] ) )
|
|
||||||
{
|
|
||||||
[[ level.bot_builtins[ "disabledetouronce" ] ]]( s );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
*/
|
|
||||||
BotBuiltinReplaceFunc( s, b )
|
|
||||||
{
|
|
||||||
if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins[ "replacefunc" ] ) )
|
|
||||||
{
|
|
||||||
return [[ level.bot_builtins[ "replacefunc" ] ]]( s, b );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
*/
|
|
||||||
BotBuiltinGetFunction( s, b )
|
|
||||||
{
|
|
||||||
if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins[ "getfunction" ] ) )
|
|
||||||
{
|
|
||||||
return [[ level.bot_builtins[ "getfunction" ] ]]( s, b );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
*/
|
|
||||||
BotBuiltinClearOverride( a )
|
|
||||||
{
|
|
||||||
if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins[ "botclearoverride" ] ) )
|
|
||||||
{
|
|
||||||
self [[ level.bot_builtins[ "botclearoverride" ] ]]( a );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
*/
|
*/
|
||||||
BotBuiltinMovementOverride( a, b )
|
BotBuiltinMovementOverride( a, b )
|
||||||
@ -101,21 +61,71 @@ BotBuiltinMovementOverride( a, b )
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
*/
|
*/
|
||||||
BotBuiltinButtonOverride( a )
|
BotBuiltinClearMovementOverride()
|
||||||
{
|
{
|
||||||
if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins[ "botbuttonoverride" ] ) )
|
if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins[ "botclearmovementoverride" ] ) )
|
||||||
{
|
{
|
||||||
self [[ level.bot_builtins[ "botbuttonoverride" ] ]]( a );
|
self [[ level.bot_builtins[ "botclearmovementoverride" ] ]]();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
*/
|
*/
|
||||||
BotBuiltinMantleOverride( a )
|
BotBuiltinClearButtonOverride( a )
|
||||||
|
{
|
||||||
|
if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins[ "botclearbuttonoverride" ] ) )
|
||||||
|
{
|
||||||
|
self [[ level.bot_builtins[ "botclearbuttonoverride" ] ]]( a );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
*/
|
||||||
|
BotBuiltinButtonOverride( a, b )
|
||||||
|
{
|
||||||
|
if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins[ "botbuttonoverride" ] ) )
|
||||||
|
{
|
||||||
|
self [[ level.bot_builtins[ "botbuttonoverride" ] ]]( a, b );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
*/
|
||||||
|
BotBuiltinClearOverrides( a )
|
||||||
|
{
|
||||||
|
if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins[ "botclearoverrides" ] ) )
|
||||||
|
{
|
||||||
|
self [[ level.bot_builtins[ "botclearoverrides" ] ]]( a );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
*/
|
||||||
|
BotBuiltinMantleOverride()
|
||||||
{
|
{
|
||||||
if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins[ "botmantleoverride" ] ) )
|
if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins[ "botmantleoverride" ] ) )
|
||||||
{
|
{
|
||||||
self [[ level.bot_builtins[ "botmantleoverride" ] ]]( a );
|
self [[ level.bot_builtins[ "botmantleoverride" ] ]]();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
*/
|
||||||
|
BotBuiltinClearMantleOverride()
|
||||||
|
{
|
||||||
|
if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins[ "botclearmantleoverride" ] ) )
|
||||||
|
{
|
||||||
|
self [[ level.bot_builtins[ "botclearmantleoverride" ] ]]();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
*/
|
||||||
|
BotBuiltinClearWeaponOverride()
|
||||||
|
{
|
||||||
|
if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins[ "botclearweaponoverride" ] ) )
|
||||||
|
{
|
||||||
|
self [[ level.bot_builtins[ "botclearweaponoverride" ] ]]();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -131,11 +141,31 @@ BotBuiltinWeaponOverride( a )
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
*/
|
*/
|
||||||
BotBuiltinAimOverride( a )
|
BotBuiltinClearButtonOverrides()
|
||||||
|
{
|
||||||
|
if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins[ "botclearbuttonoverrides" ] ) )
|
||||||
|
{
|
||||||
|
self [[ level.bot_builtins[ "botclearbuttonoverrides" ] ]]();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
*/
|
||||||
|
BotBuiltinAimOverride()
|
||||||
{
|
{
|
||||||
if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins[ "botaimoverride" ] ) )
|
if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins[ "botaimoverride" ] ) )
|
||||||
{
|
{
|
||||||
self [[ level.bot_builtins[ "botaimoverride" ] ]]( a );
|
self [[ level.bot_builtins[ "botaimoverride" ] ]]();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
*/
|
||||||
|
BotBuiltinClearAimOverride()
|
||||||
|
{
|
||||||
|
if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins[ "botclearaimoverride" ] ) )
|
||||||
|
{
|
||||||
|
self [[ level.bot_builtins[ "botclearaimoverride" ] ]]();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -144,9 +174,19 @@ BotBuiltinAimOverride( a )
|
|||||||
*/
|
*/
|
||||||
BotBuiltinBotMeleeParams( yaw, dist )
|
BotBuiltinBotMeleeParams( yaw, dist )
|
||||||
{
|
{
|
||||||
if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins[ "botmeleeparamsoverride" ] ) )
|
if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins[ "botmeleeparams" ] ) )
|
||||||
{
|
{
|
||||||
self [[ level.bot_builtins[ "botmeleeparamsoverride" ] ]]( yaw, dist );
|
self [[ level.bot_builtins[ "botmeleeparams" ] ]]( yaw, dist );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
*/
|
||||||
|
BotBuiltinClearMeleeParams()
|
||||||
|
{
|
||||||
|
if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins[ "clearbotmeleeparams" ] ) )
|
||||||
|
{
|
||||||
|
self [[ level.bot_builtins[ "clearbotmeleeparams" ] ]]();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -10,70 +10,6 @@
|
|||||||
#include maps\mp\gametypes\_hud_util;
|
#include maps\mp\gametypes\_hud_util;
|
||||||
#include maps\mp\bots\_bot_utility;
|
#include maps\mp\bots\_bot_utility;
|
||||||
|
|
||||||
/*
|
|
||||||
*/
|
|
||||||
main()
|
|
||||||
{
|
|
||||||
level.bw_version = "1.2.0";
|
|
||||||
|
|
||||||
if ( getdvar( "bots_main" ) == "" )
|
|
||||||
{
|
|
||||||
setdvar( "bots_main", true );
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( !getdvarint( "bots_main" ) )
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( !wait_for_builtins() )
|
|
||||||
{
|
|
||||||
println( "FATAL: NO BUILT-INS FOR BOTS" );
|
|
||||||
}
|
|
||||||
|
|
||||||
// fix var leak
|
|
||||||
BotBuiltinReplaceFunc( BotBuiltinGetFunction( "maps/mp/gametypes/_hud_util", "destroyelem" ), ::destroyElemFixed );
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
Fix leak with menus
|
|
||||||
*/
|
|
||||||
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;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
Fix leak with menus
|
|
||||||
*/
|
|
||||||
destroyElemFixed()
|
|
||||||
{
|
|
||||||
if ( !isdefined( self ) )
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( isdefined( self.parent ) )
|
|
||||||
{
|
|
||||||
self.parent removeChildFixed( self );
|
|
||||||
}
|
|
||||||
|
|
||||||
func = BotBuiltinGetFunction( "maps/mp/gametypes/_hud_util", "destroyelem" );
|
|
||||||
BotBuiltinDisableDetourOnce( func );
|
|
||||||
self [[ func ]]();
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Entry point to the bots
|
Entry point to the bots
|
||||||
*/
|
*/
|
||||||
@ -81,6 +17,8 @@ init()
|
|||||||
{
|
{
|
||||||
level.bw_version = "1.2.0";
|
level.bw_version = "1.2.0";
|
||||||
|
|
||||||
|
level.bot_offline = false;
|
||||||
|
|
||||||
if ( getdvar( "bots_main" ) == "" )
|
if ( getdvar( "bots_main" ) == "" )
|
||||||
{
|
{
|
||||||
setdvar( "bots_main", true );
|
setdvar( "bots_main", true );
|
||||||
@ -252,7 +190,6 @@ init()
|
|||||||
}
|
}
|
||||||
|
|
||||||
level.bot_inittime = gettime();
|
level.bot_inittime = gettime();
|
||||||
level.demorecord_minplayers = max( 0, getdvarint( #"scr_demorecord_minplayers" ) );
|
|
||||||
|
|
||||||
thread fixGamemodes();
|
thread fixGamemodes();
|
||||||
thread onPlayerConnect();
|
thread onPlayerConnect();
|
||||||
@ -357,18 +294,6 @@ connected()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( !isdefined( self.pers[ "isBot" ] ) )
|
|
||||||
{
|
|
||||||
// fast restart...
|
|
||||||
self.pers[ "isBot" ] = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( !isdefined( self.pers[ "isBotWarfare" ] ) )
|
|
||||||
{
|
|
||||||
self.pers[ "isBotWarfare" ] = true;
|
|
||||||
self thread maps\mp\bots\_bot_script::added();
|
|
||||||
}
|
|
||||||
|
|
||||||
self thread maps\mp\bots\_bot_script::connected();
|
self thread maps\mp\bots\_bot_script::connected();
|
||||||
|
|
||||||
level.bots[ level.bots.size ] = self;
|
level.bots[ level.bots.size ] = self;
|
||||||
|
@ -1,37 +1,25 @@
|
|||||||
main()
|
init()
|
||||||
{
|
{
|
||||||
level.bot_builtins[ "printconsole" ] = ::do_printconsole;
|
level.bot_builtins[ "printconsole" ] = ::do_printconsole;
|
||||||
level.bot_builtins[ "botmovementoverride" ] = ::do_botmovementoverride;
|
level.bot_builtins[ "botmovementoverride" ] = ::do_botmovementoverride;
|
||||||
|
level.bot_builtins[ "botclearmovementoverride" ] = ::do_botclearmovementoverride;
|
||||||
|
level.bot_builtins[ "botclearbuttonoverride" ] = ::do_botclearbuttonoverride;
|
||||||
level.bot_builtins[ "botbuttonoverride" ] = ::do_botbuttonoverride;
|
level.bot_builtins[ "botbuttonoverride" ] = ::do_botbuttonoverride;
|
||||||
level.bot_builtins[ "botclearoverride" ] = ::do_botclearoverride;
|
level.bot_builtins[ "botclearoverrides" ] = ::do_botclearoverrides;
|
||||||
level.bot_builtins[ "botmantleoverride" ] = ::do_botmantleoverride;
|
level.bot_builtins[ "botmantleoverride" ] = ::do_botmantleoverride;
|
||||||
|
level.bot_builtins[ "botclearmantleoverride" ] = ::do_botclearmantleoverride;
|
||||||
|
level.bot_builtins[ "botclearweaponoverride" ] = ::do_botclearweaponoverride;
|
||||||
level.bot_builtins[ "botweaponoverride" ] = ::do_botweaponoverride;
|
level.bot_builtins[ "botweaponoverride" ] = ::do_botweaponoverride;
|
||||||
|
level.bot_builtins[ "botclearbuttonoverrides" ] = ::do_botclearbuttonoverrides;
|
||||||
level.bot_builtins[ "botaimoverride" ] = ::do_botaimoverride;
|
level.bot_builtins[ "botaimoverride" ] = ::do_botaimoverride;
|
||||||
level.bot_builtins[ "botmeleeparamsoverride" ] = ::do_botmeleeparamsoverride;
|
level.bot_builtins[ "botclearaimoverride" ] = ::do_botclearaimoverride;
|
||||||
level.bot_builtins[ "replacefunc" ] = ::do_replacefunc;
|
level.bot_builtins[ "botmeleeparams" ] = ::do_botmeleeparams;
|
||||||
level.bot_builtins[ "getfunction" ] = ::do_getfunction;
|
level.bot_builtins[ "clearbotmeleeparams" ] = ::do_clearbotmeleeparams;
|
||||||
level.bot_builtins[ "disabledetouronce" ] = ::do_disabledetouronce;
|
|
||||||
maps\mp\gametypes\_bot::main();
|
|
||||||
}
|
|
||||||
|
|
||||||
do_replacefunc( a, b )
|
|
||||||
{
|
|
||||||
return replacefunc( a, b );
|
|
||||||
}
|
|
||||||
|
|
||||||
do_getfunction( a, b )
|
|
||||||
{
|
|
||||||
return getfunction( a, b );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
do_printconsole( s )
|
do_printconsole( s )
|
||||||
{
|
{
|
||||||
printf( s );
|
println( s );
|
||||||
}
|
|
||||||
|
|
||||||
do_disabledetouronce( s )
|
|
||||||
{
|
|
||||||
disabledetouronce( s );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
do_botmovementoverride( a, b )
|
do_botmovementoverride( a, b )
|
||||||
@ -39,19 +27,39 @@ do_botmovementoverride( a, b )
|
|||||||
self botmovementoverride( a, b );
|
self botmovementoverride( a, b );
|
||||||
}
|
}
|
||||||
|
|
||||||
do_botclearoverride( a )
|
do_botclearmovementoverride()
|
||||||
{
|
{
|
||||||
self botclearoverride( a );
|
self botclearmovementoverride();
|
||||||
}
|
}
|
||||||
|
|
||||||
do_botbuttonoverride( a )
|
do_botclearbuttonoverride( a )
|
||||||
{
|
{
|
||||||
self botbuttonoverride( a );
|
self botclearbuttonoverride( a );
|
||||||
}
|
}
|
||||||
|
|
||||||
do_botmantleoverride( a )
|
do_botbuttonoverride( a, b )
|
||||||
{
|
{
|
||||||
self botmantleoverride( a );
|
self botbuttonoverride( a, b );
|
||||||
|
}
|
||||||
|
|
||||||
|
do_botclearoverrides( a )
|
||||||
|
{
|
||||||
|
self botclearoverrides( a );
|
||||||
|
}
|
||||||
|
|
||||||
|
do_botmantleoverride()
|
||||||
|
{
|
||||||
|
self botmantleoverride();
|
||||||
|
}
|
||||||
|
|
||||||
|
do_botclearmantleoverride()
|
||||||
|
{
|
||||||
|
self botclearmantleoverride();
|
||||||
|
}
|
||||||
|
|
||||||
|
do_botclearweaponoverride()
|
||||||
|
{
|
||||||
|
self botclearweaponoverride();
|
||||||
}
|
}
|
||||||
|
|
||||||
do_botweaponoverride( a )
|
do_botweaponoverride( a )
|
||||||
@ -59,12 +67,27 @@ do_botweaponoverride( a )
|
|||||||
self botweaponoverride( a );
|
self botweaponoverride( a );
|
||||||
}
|
}
|
||||||
|
|
||||||
do_botaimoverride( a )
|
do_botclearbuttonoverrides()
|
||||||
{
|
{
|
||||||
self botaimoverride( a );
|
self botclearbuttonoverrides();
|
||||||
}
|
}
|
||||||
|
|
||||||
do_botmeleeparamsoverride( yaw, dist )
|
do_botaimoverride()
|
||||||
{
|
{
|
||||||
self botmeleeparamsoverride( yaw, dist );
|
self botaimoverride();
|
||||||
|
}
|
||||||
|
|
||||||
|
do_botclearaimoverride()
|
||||||
|
{
|
||||||
|
self botclearaimoverride();
|
||||||
|
}
|
||||||
|
|
||||||
|
do_botmeleeparams( yaw, dist )
|
||||||
|
{
|
||||||
|
self botmeleeparams( yaw, dist );
|
||||||
|
}
|
||||||
|
|
||||||
|
do_clearbotmeleeparams()
|
||||||
|
{
|
||||||
|
self botclearmeleeparams();
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user