From 232938dfd7681384751c1e7c542e541b4bc6d5f9 Mon Sep 17 00:00:00 2001 From: ineed bots Date: Thu, 2 Jan 2025 10:12:21 -0600 Subject: [PATCH] pt5mp rewrite --- .gitignore | 2 +- maps/mp/bots/_bot_script.gsc | 40 ++++++------ maps/mp/bots/_bot_utility.gsc | 106 ++++++-------------------------- maps/mp/gametypes/_bot.gsc | 12 ++++ scripts/mp/bots_adapter_pt5.gsc | 68 ++++---------------- 5 files changed, 64 insertions(+), 164 deletions(-) diff --git a/.gitignore b/.gitignore index 46ddfac..cc00050 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,5 @@ *.zip -*.log +*.log* *.stat logs/ demos/ diff --git a/maps/mp/bots/_bot_script.gsc b/maps/mp/bots/_bot_script.gsc index e611761..113c97e 100644 --- a/maps/mp/bots/_bot_script.gsc +++ b/maps/mp/bots/_bot_script.gsc @@ -166,7 +166,7 @@ bot_on_spawn() for ( ;; ) { self waittill( "spawned_player" ); - self BotBuiltinClearOverrides( true ); + self BotBuiltinClearOverride( false ); self BotBuiltinWeaponOverride( self getcurrentweapon() ); self.bot_is_doing_some_other_override = false; @@ -2449,7 +2449,7 @@ do_bot_plane_combat( plane, weap ) self endon( "missile_fire" ); time = 7; - self BotBuiltinAimOverride(); + self BotBuiltinAimOverride( true ); 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 ) ) { self thread bot_lookat( plane.origin, 0.3 ); - self BotBuiltinButtonOverride( "ads", "enable" ); + self BotBuiltinButtonOverride( "+ads" ); if ( isdefined( self.stingerlockfinalized ) && self.stingerlockfinalized ) { @@ -2467,7 +2467,7 @@ do_bot_plane_combat( plane, weap ) } else { - self BotBuiltinButtonOverride( "ads", "disable" ); + self BotBuiltinButtonOverride( "-ads" ); } time -= 0.05; @@ -2499,8 +2499,8 @@ bot_plane_attack( plane ) self do_bot_plane_combat( plane, weap ); self notify( "bots_aim_overlap" ); - self BotBuiltinClearAimOverride(); - self BotBuiltinClearButtonOverride( "ads" ); + self BotBuiltinAimOverride( false ); + self BotBuiltinButtonOverride( "~ads" ); } self.bot_is_doing_some_other_override = false; @@ -6405,8 +6405,8 @@ watch_for_melee_override() angles = vectortoangles( threat.origin - self.origin ); self BotBuiltinBotMeleeParams( angles[ 1 ], dist ); - self BotBuiltinButtonOverride( "melee", "enable" ); - self BotBuiltinAimOverride(); + self BotBuiltinButtonOverride( "+melee" ); + self BotBuiltinAimOverride( true ); time_left = 1; once = false; @@ -6420,17 +6420,17 @@ watch_for_melee_override() if ( !once ) { once = true; - self BotBuiltinClearButtonOverride( "melee" ); + self BotBuiltinButtonOverride( "~melee" ); } } if ( !once ) { - self BotBuiltinClearButtonOverride( "melee" ); + self BotBuiltinButtonOverride( "~melee" ); } - self BotBuiltinClearMeleeParams(); - self BotBuiltinClearAimOverride(); + self BotBuiltinBotMeleeParams( false ); + self BotBuiltinAimOverride( false ); wait 1; break; @@ -6498,7 +6498,7 @@ watch_for_override_stuff() if ( need_to_clear_mantle_override && ( time - last_jump_time ) > 3000 ) { need_to_clear_mantle_override = false; - self BotBuiltinClearMantleOverride(); + self BotBuiltinMantleOverride( false ); } weapon_is_good = true; @@ -6520,28 +6520,28 @@ watch_for_override_stuff() { last_jump_time = time; need_to_clear_mantle_override = true; - self BotBuiltinMantleOverride(); + self BotBuiltinMantleOverride( true ); // drop shot self BotBuiltinMovementOverride( 0, 0 ); - self BotBuiltinButtonOverride( "prone", "enable" ); + self BotBuiltinButtonOverride( "+prone" ); wait 1.5; - self BotBuiltinClearMovementOverride(); - self BotBuiltinClearButtonOverride( "prone" ); + self BotBuiltinMovementOverride( false ); + self BotBuiltinButtonOverride( "~prone" ); } } else { last_jump_time = time; need_to_clear_mantle_override = true; - self BotBuiltinMantleOverride(); + self BotBuiltinMantleOverride( true ); // jump shot - self BotBuiltinButtonOverride( "gostand", "enable" ); + self BotBuiltinButtonOverride( "+gostand" ); wait 0.1; - self BotBuiltinClearButtonOverride( "gostand" ); + self BotBuiltinButtonOverride( "~gostand" ); } } diff --git a/maps/mp/bots/_bot_utility.gsc b/maps/mp/bots/_bot_utility.gsc index a5aa324..42b707a 100644 --- a/maps/mp/bots/_bot_utility.gsc +++ b/maps/mp/bots/_bot_utility.gsc @@ -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 ) @@ -61,71 +71,21 @@ BotBuiltinMovementOverride( a, b ) /* */ -BotBuiltinClearMovementOverride() -{ - 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 ) +BotBuiltinButtonOverride( a ) { 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 ) -{ - if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins[ "botclearoverrides" ] ) ) - { - self [[ level.bot_builtins[ "botclearoverrides" ] ]]( a ); - } -} - -/* -*/ -BotBuiltinMantleOverride() +BotBuiltinMantleOverride( a ) { if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins[ "botmantleoverride" ] ) ) { - 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" ] ]](); + self [[ level.bot_builtins[ "botmantleoverride" ] ]]( a ); } } @@ -141,31 +101,11 @@ BotBuiltinWeaponOverride( a ) /* */ -BotBuiltinClearButtonOverrides() -{ - if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins[ "botclearbuttonoverrides" ] ) ) - { - self [[ level.bot_builtins[ "botclearbuttonoverrides" ] ]](); - } -} - -/* -*/ -BotBuiltinAimOverride() +BotBuiltinAimOverride( a ) { if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins[ "botaimoverride" ] ) ) { - self [[ level.bot_builtins[ "botaimoverride" ] ]](); - } -} - -/* -*/ -BotBuiltinClearAimOverride() -{ - if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins[ "botclearaimoverride" ] ) ) - { - self [[ level.bot_builtins[ "botclearaimoverride" ] ]](); + self [[ level.bot_builtins[ "botaimoverride" ] ]]( a ); } } @@ -174,19 +114,9 @@ BotBuiltinClearAimOverride() */ 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 ); - } -} - -/* -*/ -BotBuiltinClearMeleeParams() -{ - if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins[ "clearbotmeleeparams" ] ) ) - { - self [[ level.bot_builtins[ "clearbotmeleeparams" ] ]](); + self [[ level.bot_builtins[ "botmeleeparamsoverride" ] ]]( yaw, dist ); } } diff --git a/maps/mp/gametypes/_bot.gsc b/maps/mp/gametypes/_bot.gsc index b19bf68..239f22a 100644 --- a/maps/mp/gametypes/_bot.gsc +++ b/maps/mp/gametypes/_bot.gsc @@ -293,6 +293,18 @@ connected() { 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(); diff --git a/scripts/mp/bots_adapter_pt5.gsc b/scripts/mp/bots_adapter_pt5.gsc index 88780e3..853af8b 100644 --- a/scripts/mp/bots_adapter_pt5.gsc +++ b/scripts/mp/bots_adapter_pt5.gsc @@ -2,24 +2,17 @@ init() { level.bot_builtins[ "printconsole" ] = ::do_printconsole; 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[ "botclearoverrides" ] = ::do_botclearoverrides; + level.bot_builtins[ "botclearoverride" ] = ::do_botclearoverride; 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[ "botclearbuttonoverrides" ] = ::do_botclearbuttonoverrides; level.bot_builtins[ "botaimoverride" ] = ::do_botaimoverride; - level.bot_builtins[ "botclearaimoverride" ] = ::do_botclearaimoverride; - level.bot_builtins[ "botmeleeparams" ] = ::do_botmeleeparams; - level.bot_builtins[ "clearbotmeleeparams" ] = ::do_clearbotmeleeparams; + level.bot_builtins[ "botmeleeparamsoverride" ] = ::do_botmeleeparamsoverride; } do_printconsole( s ) { - println( s ); + printf( s ); } do_botmovementoverride( a, b ) @@ -27,39 +20,19 @@ do_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 ); -} - -do_botclearoverrides( a ) -{ - self botclearoverrides( a ); -} - -do_botmantleoverride() -{ - self botmantleoverride(); -} - -do_botclearmantleoverride() -{ - self botclearmantleoverride(); -} - -do_botclearweaponoverride() -{ - self botclearweaponoverride(); + self botmantleoverride( a ); } do_botweaponoverride( a ) @@ -67,27 +40,12 @@ do_botweaponoverride( a ) self botweaponoverride( a ); } -do_botclearbuttonoverrides() +do_botaimoverride( a ) { - self botclearbuttonoverrides(); + self botaimoverride( a ); } -do_botaimoverride() +do_botmeleeparamsoverride( yaw, dist ) { - self botaimoverride(); -} - -do_botclearaimoverride() -{ - self botclearaimoverride(); -} - -do_botmeleeparams( yaw, dist ) -{ - self botmeleeparams( yaw, dist ); -} - -do_clearbotmeleeparams() -{ - self botclearmeleeparams(); + self botmeleeparamsoverride( yaw, dist ); }