From f0eeda9b5025ea3b36c067f9c24f98e355d6e8f4 Mon Sep 17 00:00:00 2001 From: ineed bots Date: Tue, 30 Apr 2024 12:50:15 -0600 Subject: [PATCH] small update --- maps/mp/bots/_bot.gsc | 12 ++++++------ maps/mp/bots/_bot_internal.gsc | 8 ++++---- maps/mp/bots/_bot_script.gsc | 6 ++++++ maps/mp/bots/_bot_utility.gsc | 11 +++++++++++ scripts/mp/bots_adapter_pt4.gsc | 7 +++++++ 5 files changed, 34 insertions(+), 10 deletions(-) diff --git a/maps/mp/bots/_bot.gsc b/maps/mp/bots/_bot.gsc index ddcbc01..df18fe4 100644 --- a/maps/mp/bots/_bot.gsc +++ b/maps/mp/bots/_bot.gsc @@ -449,7 +449,7 @@ fixPerksAndScriptKick() onDisconnectPlayer() { name = self.name; - + self waittill( "disconnect" ); waittillframeend; @@ -1014,11 +1014,11 @@ addBots_loop() if ( fillMode == 0 || fillMode == 2 ) { amount += players; - } - - if ( getdvarint( "bots_manage_fill_spec" ) ) - { - amount += spec; + + if ( getdvarint( "bots_manage_fill_spec" ) ) + { + amount += spec; + } } if ( amount < fillAmount ) diff --git a/maps/mp/bots/_bot_internal.gsc b/maps/mp/bots/_bot_internal.gsc index 43abf6c..471419a 100644 --- a/maps/mp/bots/_bot_internal.gsc +++ b/maps/mp/bots/_bot_internal.gsc @@ -1622,7 +1622,7 @@ aim_loop() { self thread bot_lookat( target gettagorigin( "j_spine4" ), 0.05 ); } - else if ( !nadeAimOffset && conedot > 0.999 && lengthsquared( aimoffset ) < 0.05 ) + else if ( !nadeAimOffset && conedot > 0.999995 && lengthsquared( aimoffset ) < 0.05 ) { self thread bot_lookat( aimpos, 0.05 ); } @@ -1646,7 +1646,7 @@ aim_loop() conedot = getConeDot( aimpos, eyePos, angles ); - if ( ( isdefined( self.bot.knifing_target ) && self.bot.knifing_target == target ) || ( !nadeAimOffset && conedot > 0.999 && lengthsquared( aimoffset ) < 0.05 ) ) + if ( ( isdefined( self.bot.knifing_target ) && self.bot.knifing_target == target ) || ( !nadeAimOffset && conedot > 0.999995 && lengthsquared( aimoffset ) < 0.05 ) ) { self thread bot_lookat( aimpos, 0.05 ); } @@ -1664,7 +1664,7 @@ aim_loop() conedot = getConeDot( aimpos, eyePos, angles ); - if ( !nadeAimOffset && conedot > 0.999 && lengthsquared( aimoffset ) < 0.05 ) + if ( !nadeAimOffset && conedot > 0.999995 && lengthsquared( aimoffset ) < 0.05 ) { self thread bot_lookat( aimpos, 0.05 ); } @@ -2940,7 +2940,7 @@ bot_lookat( pos, time, vel, doAimPredict ) for ( i = 0; i < steps; i++ ) { myAngle = ( angleclamp180( myAngle[ 0 ] + X ), angleclamp180( myAngle[ 1 ] + Y ), 0 ); - self setplayerangles( myAngle ); + self BotBuiltinBotAngles( myAngle ); wait 0.05; } } diff --git a/maps/mp/bots/_bot_script.gsc b/maps/mp/bots/_bot_script.gsc index c269a42..0c45603 100644 --- a/maps/mp/bots/_bot_script.gsc +++ b/maps/mp/bots/_bot_script.gsc @@ -3010,6 +3010,12 @@ bot_killstreak_think_loop() { curWeap = self getcurrentweapon(); + if ( curWeap == "radar_mp" || curWeap == "dogs_mp" || curWeap == "artillery_mp" ) + { + self thread changeToWeapon( self.lastdroppableweapon ); + return; + } + if ( curWeap == "none" || !isWeaponDroppable( curWeap ) ) { curWeap = self.lastdroppableweapon; diff --git a/maps/mp/bots/_bot_utility.gsc b/maps/mp/bots/_bot_utility.gsc index da0b82c..15865d2 100644 --- a/maps/mp/bots/_bot_utility.gsc +++ b/maps/mp/bots/_bot_utility.gsc @@ -135,6 +135,17 @@ BotBuiltinBotMeleeParams( yaw, dist ) } } +/* + Sets angles +*/ +BotBuiltinBotAngles( angles ) +{ + if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins[ "botangles" ] ) ) + { + self [[ level.bot_builtins[ "botangles" ] ]]( angles ); + } +} + /* Returns if player is the host */ diff --git a/scripts/mp/bots_adapter_pt4.gsc b/scripts/mp/bots_adapter_pt4.gsc index 987d122..3a00d23 100644 --- a/scripts/mp/bots_adapter_pt4.gsc +++ b/scripts/mp/bots_adapter_pt4.gsc @@ -8,6 +8,7 @@ init() level.bot_builtins[ "botstop" ] = ::do_botstop; level.bot_builtins[ "botmovement" ] = ::do_botmovement; level.bot_builtins[ "botmeleeparams" ] = ::do_botmeleeparams; + level.bot_builtins[ "botangles" ] = ::do_botangles; level.bot_builtins[ "isbot" ] = ::do_isbot; } @@ -54,6 +55,12 @@ do_botmeleeparams( yaw, dist ) self botmeleeparams( yaw, dist ); } +do_botangles( angles ) +{ + self setplayerangles( angles ); + // self botangles( angles[ 0 ], angles[ 1 ], angles[ 2 ] ); +} + do_isbot() { return self isbot();