pt5mp rewrite

This commit is contained in:
ineed bots 2025-01-02 10:12:21 -06:00
parent 2e7cf4fb9c
commit 232938dfd7
5 changed files with 64 additions and 164 deletions

2
.gitignore vendored
View File

@ -1,5 +1,5 @@
*.zip *.zip
*.log *.log*
*.stat *.stat
logs/ logs/
demos/ demos/

View File

@ -166,7 +166,7 @@ bot_on_spawn()
for ( ;; ) for ( ;; )
{ {
self waittill( "spawned_player" ); self waittill( "spawned_player" );
self BotBuiltinClearOverrides( true ); self BotBuiltinClearOverride( false );
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(); self BotBuiltinAimOverride( true );
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", "enable" ); self BotBuiltinButtonOverride( "+ads" );
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", "disable" ); self BotBuiltinButtonOverride( "-ads" );
} }
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 BotBuiltinClearAimOverride(); self BotBuiltinAimOverride( false );
self BotBuiltinClearButtonOverride( "ads" ); self BotBuiltinButtonOverride( "~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", "enable" ); self BotBuiltinButtonOverride( "+melee" );
self BotBuiltinAimOverride(); self BotBuiltinAimOverride( true );
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 BotBuiltinClearButtonOverride( "melee" ); self BotBuiltinButtonOverride( "~melee" );
} }
} }
if ( !once ) if ( !once )
{ {
self BotBuiltinClearButtonOverride( "melee" ); self BotBuiltinButtonOverride( "~melee" );
} }
self BotBuiltinClearMeleeParams(); self BotBuiltinBotMeleeParams( false );
self BotBuiltinClearAimOverride(); self BotBuiltinAimOverride( false );
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 BotBuiltinClearMantleOverride(); self BotBuiltinMantleOverride( false );
} }
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(); self BotBuiltinMantleOverride( true );
// drop shot // drop shot
self BotBuiltinMovementOverride( 0, 0 ); self BotBuiltinMovementOverride( 0, 0 );
self BotBuiltinButtonOverride( "prone", "enable" ); self BotBuiltinButtonOverride( "+prone" );
wait 1.5; wait 1.5;
self BotBuiltinClearMovementOverride(); self BotBuiltinMovementOverride( false );
self BotBuiltinClearButtonOverride( "prone" ); self BotBuiltinButtonOverride( "~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(); self BotBuiltinMantleOverride( true );
// jump shot // jump shot
self BotBuiltinButtonOverride( "gostand", "enable" ); self BotBuiltinButtonOverride( "+gostand" );
wait 0.1; wait 0.1;
self BotBuiltinClearButtonOverride( "gostand" ); self BotBuiltinButtonOverride( "~gostand" );
} }
} }

View File

@ -49,6 +49,16 @@ BotBuiltinPrintConsole( s )
} }
} }
/*
*/
BotBuiltinClearOverride( a )
{
if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins[ "botclearoverride" ] ) )
{
self [[ level.bot_builtins[ "botclearoverride" ] ]]( a );
}
}
/* /*
*/ */
BotBuiltinMovementOverride( a, b ) BotBuiltinMovementOverride( a, b )
@ -61,71 +71,21 @@ BotBuiltinMovementOverride( a, b )
/* /*
*/ */
BotBuiltinClearMovementOverride() BotBuiltinButtonOverride( a )
{
if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins[ "botclearmovementoverride" ] ) )
{
self [[ level.bot_builtins[ "botclearmovementoverride" ] ]]();
}
}
/*
*/
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" ] ) ) if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins[ "botbuttonoverride" ] ) )
{ {
self [[ level.bot_builtins[ "botbuttonoverride" ] ]]( a, b ); self [[ level.bot_builtins[ "botbuttonoverride" ] ]]( a );
} }
} }
/* /*
*/ */
BotBuiltinClearOverrides( a ) BotBuiltinMantleOverride( 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" ] ]](); self [[ level.bot_builtins[ "botmantleoverride" ] ]]( a );
}
}
/*
*/
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" ] ]]();
} }
} }
@ -141,31 +101,11 @@ BotBuiltinWeaponOverride( a )
/* /*
*/ */
BotBuiltinClearButtonOverrides() BotBuiltinAimOverride( a )
{
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" ] ]](); self [[ level.bot_builtins[ "botaimoverride" ] ]]( a );
}
}
/*
*/
BotBuiltinClearAimOverride()
{
if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins[ "botclearaimoverride" ] ) )
{
self [[ level.bot_builtins[ "botclearaimoverride" ] ]]();
} }
} }
@ -174,19 +114,9 @@ BotBuiltinClearAimOverride()
*/ */
BotBuiltinBotMeleeParams( yaw, dist ) BotBuiltinBotMeleeParams( yaw, dist )
{ {
if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins[ "botmeleeparams" ] ) ) if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins[ "botmeleeparamsoverride" ] ) )
{ {
self [[ level.bot_builtins[ "botmeleeparams" ] ]]( yaw, dist ); self [[ level.bot_builtins[ "botmeleeparamsoverride" ] ]]( yaw, dist );
}
}
/*
*/
BotBuiltinClearMeleeParams()
{
if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins[ "clearbotmeleeparams" ] ) )
{
self [[ level.bot_builtins[ "clearbotmeleeparams" ] ]]();
} }
} }

View File

@ -294,6 +294,18 @@ 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;

View File

@ -2,24 +2,17 @@ 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[ "botclearoverrides" ] = ::do_botclearoverrides; level.bot_builtins[ "botclearoverride" ] = ::do_botclearoverride;
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[ "botclearaimoverride" ] = ::do_botclearaimoverride; level.bot_builtins[ "botmeleeparamsoverride" ] = ::do_botmeleeparamsoverride;
level.bot_builtins[ "botmeleeparams" ] = ::do_botmeleeparams;
level.bot_builtins[ "clearbotmeleeparams" ] = ::do_clearbotmeleeparams;
} }
do_printconsole( s ) do_printconsole( s )
{ {
println( s ); printf( s );
} }
do_botmovementoverride( a, b ) do_botmovementoverride( a, b )
@ -27,39 +20,19 @@ do_botmovementoverride( a, b )
self botmovementoverride( a, b ); self botmovementoverride( a, b );
} }
do_botclearmovementoverride() do_botclearoverride( a )
{ {
self botclearmovementoverride(); self botclearoverride( a );
} }
do_botclearbuttonoverride( a ) do_botbuttonoverride( a )
{ {
self botclearbuttonoverride( a ); self botbuttonoverride( a );
} }
do_botbuttonoverride( a, b ) do_botmantleoverride( a )
{ {
self botbuttonoverride( a, b ); self botmantleoverride( a );
}
do_botclearoverrides( a )
{
self botclearoverrides( a );
}
do_botmantleoverride()
{
self botmantleoverride();
}
do_botclearmantleoverride()
{
self botclearmantleoverride();
}
do_botclearweaponoverride()
{
self botclearweaponoverride();
} }
do_botweaponoverride( a ) do_botweaponoverride( a )
@ -67,27 +40,12 @@ do_botweaponoverride( a )
self botweaponoverride( a ); self botweaponoverride( a );
} }
do_botclearbuttonoverrides() do_botaimoverride( a )
{ {
self botclearbuttonoverrides(); self botaimoverride( a );
} }
do_botaimoverride() do_botmeleeparamsoverride( yaw, dist )
{ {
self botaimoverride(); self botmeleeparamsoverride( yaw, dist );
}
do_botclearaimoverride()
{
self botclearaimoverride();
}
do_botmeleeparams( yaw, dist )
{
self botmeleeparams( yaw, dist );
}
do_clearbotmeleeparams()
{
self botclearmeleeparams();
} }