From 9e2025e86a22d07355a4703a9a67eb81b0eb99de Mon Sep 17 00:00:00 2001 From: ineed bots Date: Tue, 19 Dec 2023 16:58:31 -0600 Subject: [PATCH] spacing --- maps/bots/_bot.gsc | 66 ++-- maps/bots/_bot_debug.gsc | 54 +-- maps/bots/_bot_internal.gsc | 220 ++++++------ maps/bots/_bot_script.gsc | 440 ++++++++++++------------ maps/bots/_bot_utility.gsc | 388 ++++++++++----------- maps/bots/objectives/_manager.gsc | 32 +- maps/bots/objectives/_perkmachine.gsc | 10 +- maps/bots/objectives/_powerup.gsc | 8 +- maps/bots/objectives/_revive.gsc | 4 +- maps/bots/objectives/_treasurechest.gsc | 4 +- maps/bots/objectives/_utility.gsc | 2 +- maps/bots/objectives/_wallweapon.gsc | 14 +- scripts/sp/bots_adapter_pt4.gsc | 38 +- 13 files changed, 640 insertions(+), 640 deletions(-) diff --git a/maps/bots/_bot.gsc b/maps/bots/_bot.gsc index 507ec17..2f139fe 100644 --- a/maps/bots/_bot.gsc +++ b/maps/bots/_bot.gsc @@ -84,8 +84,8 @@ init() if ( getdvar( "bots_play_opendoors" ) == "" ) setdvar( "bots_play_opendoors", true ); - if ( !isdefined( game["botWarfare"] ) ) - game["botWarfare"] = true; + if ( !isdefined( game[ "botWarfare" ] ) ) + game[ "botWarfare" ] = true; level.bots_minsprintdistance = 315; level.bots_minsprintdistance *= level.bots_minsprintdistance; @@ -106,17 +106,17 @@ init() level.bots = []; level.bots_fullautoguns = []; - level.bots_fullautoguns["thompson"] = true; - level.bots_fullautoguns["mp40"] = true; - level.bots_fullautoguns["type100smg"] = true; - level.bots_fullautoguns["ppsh"] = true; - level.bots_fullautoguns["stg44"] = true; - level.bots_fullautoguns["30cal"] = true; - level.bots_fullautoguns["mg42"] = true; - level.bots_fullautoguns["dp28"] = true; - level.bots_fullautoguns["bar"] = true; - level.bots_fullautoguns["fg42"] = true; - level.bots_fullautoguns["type99lmg"] = true; + level.bots_fullautoguns[ "thompson" ] = true; + level.bots_fullautoguns[ "mp40" ] = true; + level.bots_fullautoguns[ "type100smg" ] = true; + level.bots_fullautoguns[ "ppsh" ] = true; + level.bots_fullautoguns[ "stg44" ] = true; + level.bots_fullautoguns[ "30cal" ] = true; + level.bots_fullautoguns[ "mg42" ] = true; + level.bots_fullautoguns[ "dp28" ] = true; + level.bots_fullautoguns[ "bar" ] = true; + level.bots_fullautoguns[ "fg42" ] = true; + level.bots_fullautoguns[ "type99lmg" ] = true; level thread onPlayerConnect(); level thread handleBots(); @@ -144,7 +144,7 @@ handleBots() for ( i = 0; i < bots.size; i++ ) { - BotBuiltinCmdExec( "clientkick " + bots[i] getentitynumber() ); + BotBuiltinCmdExec( "clientkick " + bots[ i ] getentitynumber() ); } } @@ -171,7 +171,7 @@ onPlayerDamage( eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, self maps\bots\_bot_script::onDamage( eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, modelIndex, psOffsetTime ); } - self [[level.prevcallbackplayerdamage]]( eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, modelIndex, psOffsetTime ); + self [[ level.prevcallbackplayerdamage ]]( eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, modelIndex, psOffsetTime ); } onActorDamage( eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, iModelIndex, iTimeOffset ) @@ -181,7 +181,7 @@ onActorDamage( eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, iDamage += int( self.maxhealth * randomfloatrange( 0.25, 1.25 ) ); } - self [[level.prevcallbackactordamage]]( eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, iModelIndex, iTimeOffset ); + self [[ level.prevcallbackactordamage ]]( eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, iModelIndex, iTimeOffset ); } /* @@ -257,10 +257,10 @@ connected() { self endon( "disconnect" ); - if ( !isdefined( self.pers["bot_host"] ) ) + if ( !isdefined( self.pers[ "bot_host" ] ) ) self thread doHostCheck(); - level.players[level.players.size] = self; + level.players[ level.players.size ] = self; self thread onDisconnectAll(); self thread onSpawnedAll(); @@ -268,22 +268,22 @@ connected() if ( !self is_bot() ) return; - if ( !isdefined( self.pers["isBot"] ) ) + if ( !isdefined( self.pers[ "isBot" ] ) ) { // fast restart... - self.pers["isBot"] = true; + self.pers[ "isBot" ] = true; } - if ( !isdefined( self.pers["isBotWarfare"] ) ) + if ( !isdefined( self.pers[ "isBotWarfare" ] ) ) { - self.pers["isBotWarfare"] = true; + self.pers[ "isBotWarfare" ] = true; self thread added(); } self thread maps\bots\_bot_internal::connected(); self thread maps\bots\_bot_script::connected(); - level.bots[level.bots.size] = self; + level.bots[ level.bots.size ] = self; self thread onDisconnect(); level notify( "bot_connected", self ); @@ -356,8 +356,8 @@ add_bot() if ( isdefined( bot ) ) { - bot.pers["isBot"] = true; - bot.pers["isBotWarfare"] = true; + bot.pers[ "isBot" ] = true; + bot.pers[ "isBotWarfare" ] = true; bot thread added(); } } @@ -380,9 +380,9 @@ diffBots_loop() for ( i = 0; i < playercount; i++ ) { - player = level.players[i]; + player = level.players[ i ]; - if ( !isdefined( player.pers["team"] ) ) + if ( !isdefined( player.pers[ "team" ] ) ) continue; if ( !player is_bot() ) @@ -391,15 +391,15 @@ diffBots_loop() if ( hard < var_hard ) { hard++; - player.pers["bots"]["skill"]["base"] = 7; + player.pers[ "bots" ][ "skill" ][ "base" ] = 7; } else if ( med < var_med ) { med++; - player.pers["bots"]["skill"]["base"] = 4; + player.pers[ "bots" ][ "skill" ][ "base" ] = 4; } else - player.pers["bots"]["skill"]["base"] = 1; + player.pers[ "bots" ][ "skill" ][ "base" ] = 1; } } else if ( var_skill != 0 && var_skill != 9 ) @@ -408,12 +408,12 @@ diffBots_loop() for ( i = 0; i < playercount; i++ ) { - player = level.players[i]; + player = level.players[ i ]; if ( !player is_bot() ) continue; - player.pers["bots"]["skill"]["base"] = var_skill; + player.pers[ "bots" ][ "skill" ][ "base" ] = var_skill; } } } @@ -466,7 +466,7 @@ addBots_loop() for ( i = 0; i < playercount; i++ ) { - player = level.players[i]; + player = level.players[ i ]; if ( player is_bot() ) bots++; diff --git a/maps/bots/_bot_debug.gsc b/maps/bots/_bot_debug.gsc index 8c9ddc7..d2f3d4c 100644 --- a/maps/bots/_bot_debug.gsc +++ b/maps/bots/_bot_debug.gsc @@ -92,7 +92,7 @@ watch_for_unlink() continue; } - firstwp = level.waypoints[self.closest]; + firstwp = level.waypoints[ self.closest ]; self iprintln( "wp selected for unlink: " + firstwp BotBuiltinGetNodeNumber() ); @@ -104,7 +104,7 @@ watch_for_unlink() continue; } - self toggle_link( firstwp, level.waypoints[self.closest] ); + self toggle_link( firstwp, level.waypoints[ self.closest ] ); } } @@ -112,7 +112,7 @@ array_contains( arr, it ) { for ( i = 0; i < arr.size; i++ ) { - if ( arr[i] == it ) + if ( arr[ i ] == it ) return true; } @@ -130,7 +130,7 @@ toggle_link( firstwp, secondwp ) for ( i = 0; i < links.size; i++ ) { - if ( links[i] BotBuiltinGetNodeNumber() == secnum ) + if ( links[ i ] BotBuiltinGetNodeNumber() == secnum ) { linked = true; break; @@ -149,19 +149,19 @@ toggle_link( firstwp, secondwp ) return; } - if ( isdefined( level.bot_ignore_links[key] ) && array_contains( level.bot_ignore_links[key], secnum ) ) + if ( isdefined( level.bot_ignore_links[ key ] ) && array_contains( level.bot_ignore_links[ key ], secnum ) ) { - a = level.bot_ignore_links[key]; + a = level.bot_ignore_links[ key ]; a = array_remove( a, secnum ); if ( a.size <= 0 ) { - level.bot_ignore_links[key] = undefined; + level.bot_ignore_links[ key ] = undefined; } else { - level.bot_ignore_links[key] = a; + level.bot_ignore_links[ key ] = a; } self iprintln( "removed unlink: " + key + " " + secnum ); @@ -169,15 +169,15 @@ toggle_link( firstwp, secondwp ) } else { - if ( !isdefined( level.bot_ignore_links[key] ) ) + if ( !isdefined( level.bot_ignore_links[ key ] ) ) { - level.bot_ignore_links[key] = []; + level.bot_ignore_links[ key ] = []; } - a = level.bot_ignore_links[key]; - a[a.size] = secnum; + a = level.bot_ignore_links[ key ]; + a[ a.size ] = secnum; - level.bot_ignore_links[key] = a; + level.bot_ignore_links[ key ] = a; self iprintln( "added unlink: " + key + " " + secnum ); BotBuiltinPrintConsole( "toggle_link: del: " + key + " " + secnum ); @@ -201,26 +201,26 @@ debug() for ( i = 0; i < level.waypointcount; i++ ) { - if ( closest == -1 || closer( self.origin, level.waypoints[i].origin, level.waypoints[closest].origin ) ) + if ( closest == -1 || closer( self.origin, level.waypoints[ i ].origin, level.waypoints[ closest ].origin ) ) closest = i; - wpOrg = level.waypoints[i].origin + ( 0, 0, 25 ); + wpOrg = level.waypoints[ i ].origin + ( 0, 0, 25 ); - if ( distance( level.waypoints[i].origin, self.origin ) < getdvarfloat( "bots_main_debug_distance" ) && ( sighttracepassed( myEye, wpOrg, false, self ) || getdvarint( "bots_main_debug_drawThrough" ) ) && getConeDot( wpOrg, myEye, myAngles ) > getdvarfloat( "bots_main_debug_cone" ) ) + if ( distance( level.waypoints[ i ].origin, self.origin ) < getdvarfloat( "bots_main_debug_distance" ) && ( sighttracepassed( myEye, wpOrg, false, self ) || getdvarint( "bots_main_debug_drawThrough" ) ) && getConeDot( wpOrg, myEye, myAngles ) > getdvarfloat( "bots_main_debug_cone" ) ) { - linked = level.waypoints[i] BotBuiltinGetLinkedNodes(); - node_num_str = level.waypoints[i] BotBuiltinGetNodeNumber() + ""; + linked = level.waypoints[ i ] BotBuiltinGetLinkedNodes(); + node_num_str = level.waypoints[ i ] BotBuiltinGetNodeNumber() + ""; for ( h = linked.size - 1; h >= 0; h-- ) { - if ( isdefined( level.bot_ignore_links[node_num_str] ) ) + if ( isdefined( level.bot_ignore_links[ node_num_str ] ) ) { found = false; - this_node_num = linked[h] BotBuiltinGetNodeNumber(); + this_node_num = linked[ h ] BotBuiltinGetNodeNumber(); - for ( j = 0; j < level.bot_ignore_links[node_num_str].size; j++ ) + for ( j = 0; j < level.bot_ignore_links[ node_num_str ].size; j++ ) { - if ( level.bot_ignore_links[node_num_str][j] == this_node_num ) + if ( level.bot_ignore_links[ node_num_str ][ j ] == this_node_num ) { found = true; break; @@ -231,20 +231,20 @@ debug() continue; } - line( wpOrg, linked[h].origin + ( 0, 0, 25 ), ( 1, 0, 1 ) ); + line( wpOrg, linked[ h ].origin + ( 0, 0, 25 ), ( 1, 0, 1 ) ); } print3d( wpOrg, node_num_str, ( 1, 0, 0 ), 2 ); - if ( isdefined( level.waypoints[i].animscript ) ) + if ( isdefined( level.waypoints[ i ].animscript ) ) { - line( wpOrg, wpOrg + anglestoforward( level.waypoints[i].angles ) * 64, ( 1, 1, 1 ) ); - print3d( wpOrg + ( 0, 0, 15 ), level.waypoints[i].animscript, ( 1, 0, 0 ), 2 ); + line( wpOrg, wpOrg + anglestoforward( level.waypoints[ i ].angles ) * 64, ( 1, 1, 1 ) ); + print3d( wpOrg + ( 0, 0, 15 ), level.waypoints[ i ].animscript, ( 1, 0, 0 ), 2 ); } } } - if ( distance( self.origin, level.waypoints[closest].origin ) < 64 ) + if ( distance( self.origin, level.waypoints[ closest ].origin ) < 64 ) self.closest = closest; else self.closest = -1; diff --git a/maps/bots/_bot_internal.gsc b/maps/bots/_bot_internal.gsc index 700dcdf..8671f08 100644 --- a/maps/bots/_bot_internal.gsc +++ b/maps/bots/_bot_internal.gsc @@ -10,42 +10,42 @@ added() { self endon( "disconnect" ); - self.pers["bots"] = []; + self.pers[ "bots" ] = []; - self.pers["bots"]["skill"] = []; - self.pers["bots"]["skill"]["base"] = 7; // a base knownledge of the bot - self.pers["bots"]["skill"]["aim_time"] = 0.05; // how long it takes for a bot to aim to a location - self.pers["bots"]["skill"]["init_react_time"] = 0; // the reaction time of the bot for inital targets - self.pers["bots"]["skill"]["reaction_time"] = 0; // reaction time for the bots of reoccuring targets - self.pers["bots"]["skill"]["no_trace_ads_time"] = 2500; // how long a bot ads's when they cant see the target - self.pers["bots"]["skill"]["no_trace_look_time"] = 10000; // how long a bot will look at a target's last position - self.pers["bots"]["skill"]["remember_time"] = 25000; // how long a bot will remember a target before forgetting about it when they cant see the target - self.pers["bots"]["skill"]["fov"] = -1; // the fov of the bot, -1 being 360, 1 being 0 - self.pers["bots"]["skill"]["dist_max"] = 100000 * 2; // the longest distance a bot will target - self.pers["bots"]["skill"]["dist_start"] = 100000; // the start distance before bot's target abilitys diminish - self.pers["bots"]["skill"]["spawn_time"] = 0; // how long a bot waits after spawning before targeting, etc - self.pers["bots"]["skill"]["help_dist"] = 10000; // how far a bot has awareness - self.pers["bots"]["skill"]["semi_time"] = 0.05; // how fast a bot shoots semiauto - self.pers["bots"]["skill"]["shoot_after_time"] = 1; // how long a bot shoots after target dies/cant be seen - self.pers["bots"]["skill"]["aim_offset_time"] = 1; // how long a bot correct's their aim after targeting - self.pers["bots"]["skill"]["aim_offset_amount"] = 1; // how far a bot's incorrect aim is - self.pers["bots"]["skill"]["bone_update_interval"] = 0.05; // how often a bot changes their bone target - self.pers["bots"]["skill"]["bones"] = "j_head"; // a list of comma seperated bones the bot will aim at - self.pers["bots"]["skill"]["ads_fov_multi"] = 0.5; // a factor of how much ads to reduce when adsing - self.pers["bots"]["skill"]["ads_aimspeed_multi"] = 0.5; // a factor of how much more aimspeed delay to add + self.pers[ "bots" ][ "skill" ] = []; + self.pers[ "bots" ][ "skill" ][ "base" ] = 7; // a base knownledge of the bot + self.pers[ "bots" ][ "skill" ][ "aim_time" ] = 0.05; // how long it takes for a bot to aim to a location + self.pers[ "bots" ][ "skill" ][ "init_react_time" ] = 0; // the reaction time of the bot for inital targets + self.pers[ "bots" ][ "skill" ][ "reaction_time" ] = 0; // reaction time for the bots of reoccuring targets + self.pers[ "bots" ][ "skill" ][ "no_trace_ads_time" ] = 2500; // how long a bot ads's when they cant see the target + self.pers[ "bots" ][ "skill" ][ "no_trace_look_time" ] = 10000; // how long a bot will look at a target's last position + self.pers[ "bots" ][ "skill" ][ "remember_time" ] = 25000; // how long a bot will remember a target before forgetting about it when they cant see the target + self.pers[ "bots" ][ "skill" ][ "fov" ] = -1; // the fov of the bot, -1 being 360, 1 being 0 + self.pers[ "bots" ][ "skill" ][ "dist_max" ] = 100000 * 2; // the longest distance a bot will target + self.pers[ "bots" ][ "skill" ][ "dist_start" ] = 100000; // the start distance before bot's target abilitys diminish + self.pers[ "bots" ][ "skill" ][ "spawn_time" ] = 0; // how long a bot waits after spawning before targeting, etc + self.pers[ "bots" ][ "skill" ][ "help_dist" ] = 10000; // how far a bot has awareness + self.pers[ "bots" ][ "skill" ][ "semi_time" ] = 0.05; // how fast a bot shoots semiauto + self.pers[ "bots" ][ "skill" ][ "shoot_after_time" ] = 1; // how long a bot shoots after target dies/cant be seen + self.pers[ "bots" ][ "skill" ][ "aim_offset_time" ] = 1; // how long a bot correct's their aim after targeting + self.pers[ "bots" ][ "skill" ][ "aim_offset_amount" ] = 1; // how far a bot's incorrect aim is + self.pers[ "bots" ][ "skill" ][ "bone_update_interval" ] = 0.05; // how often a bot changes their bone target + self.pers[ "bots" ][ "skill" ][ "bones" ] = "j_head"; // a list of comma seperated bones the bot will aim at + self.pers[ "bots" ][ "skill" ][ "ads_fov_multi" ] = 0.5; // a factor of how much ads to reduce when adsing + self.pers[ "bots" ][ "skill" ][ "ads_aimspeed_multi" ] = 0.5; // a factor of how much more aimspeed delay to add - self.pers["bots"]["behavior"] = []; - self.pers["bots"]["behavior"]["strafe"] = 50; // percentage of how often the bot strafes a target - self.pers["bots"]["behavior"]["nade"] = 50; // percentage of how often the bot will grenade - self.pers["bots"]["behavior"]["sprint"] = 50; // percentage of how often the bot will sprint - self.pers["bots"]["behavior"]["camp"] = 50; // percentage of how often the bot will camp - self.pers["bots"]["behavior"]["follow"] = 50; // percentage of how often the bot will follow - self.pers["bots"]["behavior"]["crouch"] = 10; // percentage of how often the bot will crouch - self.pers["bots"]["behavior"]["switch"] = 1; // percentage of how often the bot will switch weapons - self.pers["bots"]["behavior"]["jump"] = 100; // percentage of how often the bot will jumpshot and dropshot + self.pers[ "bots" ][ "behavior" ] = []; + self.pers[ "bots" ][ "behavior" ][ "strafe" ] = 50; // percentage of how often the bot strafes a target + self.pers[ "bots" ][ "behavior" ][ "nade" ] = 50; // percentage of how often the bot will grenade + self.pers[ "bots" ][ "behavior" ][ "sprint" ] = 50; // percentage of how often the bot will sprint + self.pers[ "bots" ][ "behavior" ][ "camp" ] = 50; // percentage of how often the bot will camp + self.pers[ "bots" ][ "behavior" ][ "follow" ] = 50; // percentage of how often the bot will follow + self.pers[ "bots" ][ "behavior" ][ "crouch" ] = 10; // percentage of how often the bot will crouch + self.pers[ "bots" ][ "behavior" ][ "switch" ] = 1; // percentage of how often the bot will switch weapons + self.pers[ "bots" ][ "behavior" ][ "jump" ] = 100; // percentage of how often the bot will jumpshot and dropshot - self.pers["bots"]["behavior"]["quickscope"] = false; // is a quickscoper - self.pers["bots"]["behavior"]["initswitch"] = 10; // percentage of how often the bot will switch weapons on spawn + self.pers[ "bots" ][ "behavior" ][ "quickscope" ] = false; // is a quickscoper + self.pers[ "bots" ][ "behavior" ][ "initswitch" ] = 10; // percentage of how often the bot will switch weapons on spawn } /* @@ -280,7 +280,7 @@ spawned() self endon( "disconnect" ); self endon( "zombified" ); - wait self.pers["bots"]["skill"]["spawn_time"]; + wait self.pers[ "bots" ][ "skill" ][ "spawn_time" ]; self thread doBotMovement(); self thread walk(); @@ -361,7 +361,7 @@ watchToLook() if ( self.bot.is_cur_sniper ) continue; - if ( randomint( 100 ) > self.pers["bots"]["behavior"]["jump"] ) + if ( randomint( 100 ) > self.pers[ "bots" ][ "behavior" ][ "jump" ] ) continue; if ( !getdvarint( "bots_play_jumpdrop" ) ) @@ -370,7 +370,7 @@ watchToLook() if ( isdefined( self.bot.jump_time ) && gettime() - self.bot.jump_time <= 5000 ) continue; - if ( self.bot.target.rand <= self.pers["bots"]["behavior"]["strafe"] ) + if ( self.bot.target.rand <= self.pers[ "bots" ][ "behavior" ][ "strafe" ] ) { if ( self getstance() != "stand" ) continue; @@ -405,12 +405,12 @@ stance_loop() toStance = "stand"; if ( self.bot.next_wp != -1 ) - toStance = level.waypoints[self.bot.next_wp].type; + toStance = level.waypoints[ self.bot.next_wp ].type; if ( !isdefined( toStance ) ) toStance = "stand"; - if ( toStance == "stand" && randomint( 100 ) <= self.pers["bots"]["behavior"]["crouch"] ) + if ( toStance == "stand" && randomint( 100 ) <= self.pers[ "bots" ][ "behavior" ][ "crouch" ] ) toStance = "crouch"; if ( toStance == "climb" ) @@ -433,7 +433,7 @@ stance_loop() curweap = self getcurrentweapon(); time = gettime(); - chance = self.pers["bots"]["behavior"]["sprint"]; + chance = self.pers[ "bots" ][ "behavior" ][ "sprint" ]; if ( time - self.lastspawntime < 5000 ) chance *= 2; @@ -611,41 +611,41 @@ doBotMovement_loop( data ) if ( distancesquared( self.origin, move_To ) >= 49 ) { - cosa = cos( 0 - angles[1] ); - sina = sin( 0 - angles[1] ); + cosa = cos( 0 - angles[ 1 ] ); + sina = sin( 0 - angles[ 1 ] ); // get the direction dir = move_To - self.origin; // rotate our direction according to our angles - dir = ( dir[0] * cosa - dir[1] * sina, - dir[0] * sina + dir[1] * cosa, + dir = ( dir[ 0 ] * cosa - dir[ 1 ] * sina, + dir[ 0 ] * sina + dir[ 1 ] * cosa, 0 ); // make the length 127 dir = vectornormalize( dir ) * 127; // invert the second component as the engine requires this - dir = ( dir[0], 0 - dir[1], 0 ); + dir = ( dir[ 0 ], 0 - dir[ 1 ], 0 ); } startPos = self.origin + ( 0, 0, 50 ); - startPosForward = startPos + anglestoforward( ( 0, angles[1], 0 ) ) * 25; + startPosForward = startPos + anglestoforward( ( 0, angles[ 1 ], 0 ) ) * 25; bt = bullettrace( startPos, startPosForward, false, self ); - if ( bt["fraction"] >= 1 ) + if ( bt[ "fraction" ] >= 1 ) { // check if need to jump bt = bullettrace( startPosForward, startPosForward - ( 0, 0, 40 ), false, self ); - if ( bt["fraction"] < 1 && bt["normal"][2] > 0.9 && data.i > 1.5 ) + if ( bt[ "fraction" ] < 1 && bt[ "normal" ][ 2 ] > 0.9 && data.i > 1.5 ) { data.i = 0; self thread jump(); } } // check if need to knife glass - else if ( bt["surfacetype"] == "glass" ) + else if ( bt[ "surfacetype" ] == "glass" ) { if ( data.i > 1.5 ) { @@ -662,9 +662,9 @@ doBotMovement_loop( data ) // move! if ( ( self.bot.wantsprint && self.bot.issprinting ) || isdefined( self.bot.knifing_target ) ) - dir = ( 127, dir[1], 0 ); + dir = ( 127, dir[ 1 ], 0 ); - self BotBuiltinBotMovement( int( dir[0] ), int( dir[1] ) ); + self BotBuiltinBotMovement( int( dir[ 0 ] ), int( dir[ 1 ] ) ); } /* @@ -711,15 +711,15 @@ bot_lookat( pos, time, vel, doAimPredict ) myAngle = self getplayerangles(); angles = vectortoangles( ( pos - myEye ) - anglestoforward( myAngle ) ); - X = angleclamp180( angles[0] - myAngle[0] ); + X = angleclamp180( angles[ 0 ] - myAngle[ 0 ] ); X = X / steps; - Y = angleclamp180( angles[1] - myAngle[1] ); + Y = angleclamp180( angles[ 1 ] - myAngle[ 1 ] ); Y = Y / steps; for ( i = 0; i < steps; i++ ) { - myAngle = ( angleclamp180( myAngle[0] + X ), angleclamp180( myAngle[1] + Y ), 0 ); + myAngle = ( angleclamp180( myAngle[ 0 ] + X ), angleclamp180( myAngle[ 1 ] + Y ), 0 ); self setplayerangles( myAngle ); wait 0.05; } @@ -790,14 +790,14 @@ target_loop() myEye = self geteye(); theTime = gettime(); myAngles = self getplayerangles(); - myFov = self.pers["bots"]["skill"]["fov"]; + myFov = self.pers[ "bots" ][ "skill" ][ "fov" ]; bestTargets = []; bestTime = 2147483647; - rememberTime = self.pers["bots"]["skill"]["remember_time"]; - initReactTime = self.pers["bots"]["skill"]["init_react_time"]; + rememberTime = self.pers[ "bots" ][ "skill" ][ "remember_time" ]; + initReactTime = self.pers[ "bots" ][ "skill" ][ "init_react_time" ]; hasTarget = isdefined( self.bot.target ); adsAmount = self playerads(); - adsFovFact = self.pers["bots"]["skill"]["ads_fov_multi"]; + adsFovFact = self.pers[ "bots" ][ "skill" ][ "ads_fov_multi" ]; if ( hasTarget && !isdefined( self.bot.target.entity ) ) { @@ -827,7 +827,7 @@ target_loop() ent = self.bot.script_target; key = ent getentitynumber() + ""; daDist = distancesquared( self.origin, ent.origin ); - obj = self.bot.targets[key]; + obj = self.bot.targets[ key ]; isObjDef = isdefined( obj ); entOrigin = ent.origin; @@ -841,7 +841,7 @@ target_loop() obj = self createTargetObj( ent, theTime ); obj.offset = self.bot.script_target_offset; - self.bot.targets[key] = obj; + self.bot.targets[ key ] = obj; } self targetObjUpdateTraced( obj, daDist, ent, theTime, true ); @@ -855,17 +855,17 @@ target_loop() if ( obj.no_trace_time > rememberTime ) { - self.bot.targets[key] = undefined; + self.bot.targets[ key ] = undefined; continue; } } } else { - enemy = enemies[i]; + enemy = enemies[ i ]; key = enemy getentitynumber() + ""; - obj = self.bot.targets[key]; + obj = self.bot.targets[ key ]; daDist = distancesquared( self.origin, enemy.origin ); isObjDef = isdefined( obj ); @@ -900,9 +900,9 @@ target_loop() sighttracepassed( myEye, targetAnkleLeft, false, enemy ) || sighttracepassed( myEye, targetAnkleRight, false, enemy ) ) - && ( ( traceHead["fraction"] >= 1.0 || traceHead["surfacetype"] == "glass" ) || - ( traceAnkleLeft["fraction"] >= 1.0 || traceAnkleLeft["surfacetype"] == "glass" ) || - ( traceAnkleRight["fraction"] >= 1.0 || traceAnkleRight["surfacetype"] == "glass" ) ) + && ( ( traceHead[ "fraction" ] >= 1.0 || traceHead[ "surfacetype" ] == "glass" ) || + ( traceAnkleLeft[ "fraction" ] >= 1.0 || traceAnkleLeft[ "surfacetype" ] == "glass" ) || + ( traceAnkleRight[ "fraction" ] >= 1.0 || traceAnkleRight[ "surfacetype" ] == "glass" ) ) && ( getConeDot( enemy.origin, self.origin, myAngles ) >= myFov || ( isObjDef && obj.trace_time ) ) @@ -922,7 +922,7 @@ target_loop() { obj = self createTargetObj( enemy, theTime ); - self.bot.targets[key] = obj; + self.bot.targets[ key ] = obj; } self targetObjUpdateTraced( obj, daDist, enemy, theTime, false ); @@ -936,7 +936,7 @@ target_loop() if ( obj.no_trace_time > rememberTime ) { - self.bot.targets[key] = undefined; + self.bot.targets[ key ] = undefined; continue; } } @@ -957,10 +957,10 @@ target_loop() } if ( timeDiff == bestTime ) - bestTargets[key] = obj; + bestTargets[ key ] = obj; } - if ( hasTarget && isdefined( bestTargets[self.bot.target.entity getentitynumber() + ""] ) ) + if ( hasTarget && isdefined( bestTargets[ self.bot.target.entity getentitynumber() + "" ] ) ) return; closest = 2147483647; @@ -970,13 +970,13 @@ target_loop() for ( i = bestKeys.size - 1; i >= 0; i-- ) { - theDist = bestTargets[bestKeys[i]].dist; + theDist = bestTargets[ bestKeys[ i ] ].dist; if ( theDist > closest ) continue; closest = theDist; - toBeTarget = bestTargets[bestKeys[i]]; + toBeTarget = bestTargets[ bestKeys[ i ] ]; } beforeTargetID = -1; @@ -1039,8 +1039,8 @@ updateBones() self endon( "disconnect" ); self endon( "zombified" ); - bones = strtok( self.pers["bots"]["skill"]["bones"], "," ); - waittime = self.pers["bots"]["skill"]["bone_update_interval"]; + bones = strtok( self.pers[ "bots" ][ "skill" ][ "bones" ], "," ); + waittime = self.pers[ "bots" ][ "skill" ][ "bone_update_interval" ]; for ( ;; ) { @@ -1083,7 +1083,7 @@ updateAimOffset( obj ) { if ( !isdefined( obj.aim_offset_base ) ) { - diffAimAmount = self.pers["bots"]["skill"]["aim_offset_amount"]; + diffAimAmount = self.pers[ "bots" ][ "skill" ][ "aim_offset_amount" ]; if ( diffAimAmount > 0 ) obj.aim_offset_base = ( randomfloatrange( 0 - diffAimAmount, diffAimAmount ), @@ -1093,7 +1093,7 @@ updateAimOffset( obj ) obj.aim_offset_base = ( 0, 0, 0 ); } - aimDiffTime = self.pers["bots"]["skill"]["aim_offset_time"] * 1000; + aimDiffTime = self.pers[ "bots" ][ "skill" ][ "aim_offset_time" ] * 1000; objCreatedFor = obj.trace_time; if ( objCreatedFor >= aimDiffTime ) @@ -1109,11 +1109,11 @@ updateAimOffset( obj ) */ targetObjUpdateTraced( obj, daDist, ent, theTime, isScriptObj ) { - distClose = self.pers["bots"]["skill"]["dist_start"]; + distClose = self.pers[ "bots" ][ "skill" ][ "dist_start" ]; distClose *= self.bot.cur_weap_dist_multi; distClose *= distClose; - distMax = self.pers["bots"]["skill"]["dist_max"]; + distMax = self.pers[ "bots" ][ "skill" ][ "dist_max" ]; distMax *= self.bot.cur_weap_dist_multi; distMax *= distMax; @@ -1160,7 +1160,7 @@ start_bot_after_target( who ) self notify( "kill_after_target" ); self endon( "kill_after_target" ); - wait self.pers["bots"]["skill"]["shoot_after_time"]; + wait self.pers[ "bots" ][ "skill" ][ "shoot_after_time" ]; self.bot.after_target = undefined; } @@ -1179,13 +1179,13 @@ clear_bot_after_target() */ aim_loop() { - aimspeed = self.pers["bots"]["skill"]["aim_time"]; + aimspeed = self.pers[ "bots" ][ "skill" ][ "aim_time" ]; eyePos = self geteye(); curweap = self getcurrentweapon(); angles = self getplayerangles(); adsAmount = self playerads(); - adsAimSpeedFact = self.pers["bots"]["skill"]["ads_aimspeed_multi"]; + adsAimSpeedFact = self.pers[ "bots" ][ "skill" ][ "ads_aimspeed_multi" ]; // reduce aimspeed if ads'ing if ( adsAmount > 0 ) @@ -1196,7 +1196,7 @@ aim_loop() if ( isdefined( self.bot.target ) && isdefined( self.bot.target.entity ) && !( self.bot.prio_objective && isdefined( self.bot.script_aimpos ) ) ) { no_trace_time = self.bot.target.no_trace_time; - no_trace_look_time = self.pers["bots"]["skill"]["no_trace_look_time"]; + no_trace_look_time = self.pers[ "bots" ][ "skill" ][ "no_trace_look_time" ]; if ( no_trace_time <= no_trace_look_time ) { @@ -1218,8 +1218,8 @@ aim_loop() dist = self.bot.target.dist; rand = self.bot.target.rand; - no_trace_ads_time = self.pers["bots"]["skill"]["no_trace_ads_time"]; - reaction_time = self.pers["bots"]["skill"]["reaction_time"]; + no_trace_ads_time = self.pers[ "bots" ][ "skill" ][ "no_trace_ads_time" ]; + reaction_time = self.pers[ "bots" ][ "skill" ][ "reaction_time" ]; nadeAimOffset = 0; bone = self.bot.target.bone; @@ -1248,7 +1248,7 @@ aim_loop() { nade = self getValidGrenade(); - if ( isdefined( nade ) && rand <= self.pers["bots"]["behavior"]["nade"] && bullettracepassed( eyePos, eyePos + ( 0, 0, 75 ), false, self ) && bullettracepassed( last_pos, last_pos + ( 0, 0, 100 ), false, target ) && dist > level.bots_mingrenadedistance && dist < level.bots_maxgrenadedistance && getdvarint( "bots_play_nade" ) ) + if ( isdefined( nade ) && rand <= self.pers[ "bots" ][ "behavior" ][ "nade" ] && bullettracepassed( eyePos, eyePos + ( 0, 0, 75 ), false, self ) && bullettracepassed( last_pos, last_pos + ( 0, 0, 100 ), false, target ) && dist > level.bots_mingrenadedistance && dist < level.bots_maxgrenadedistance && getdvarint( "bots_play_nade" ) ) { time = 0.5; @@ -1269,7 +1269,7 @@ aim_loop() { if ( self canFire( curweap ) && self isInRange( dist, curweap ) && self canAds( dist, curweap ) ) { - if ( !self.bot.is_cur_sniper || !self.pers["bots"]["behavior"]["quickscope"] ) + if ( !self.bot.is_cur_sniper || !self.pers[ "bots" ][ "behavior" ][ "quickscope" ] ) self thread pressADS(); } } @@ -1333,7 +1333,7 @@ aim_loop() if ( self.bot.is_cur_sniper ) { - if ( self.pers["bots"]["behavior"]["quickscope"] && self.bot.last_fire_time != -1 && gettime() - self.bot.last_fire_time < 1000 ) + if ( self.pers[ "bots" ][ "behavior" ][ "quickscope" ] && self.bot.last_fire_time != -1 && gettime() - self.bot.last_fire_time < 1000 ) stopAdsOverride = true; else self notify( "kill_goal" ); @@ -1389,7 +1389,7 @@ aim_loop() if ( self.bot.is_cur_sniper ) { - if ( self.pers["bots"]["behavior"]["quickscope"] && self.bot.last_fire_time != -1 && gettime() - self.bot.last_fire_time < 1000 ) + if ( self.pers[ "bots" ][ "behavior" ][ "quickscope" ] && self.bot.last_fire_time != -1 && gettime() - self.bot.last_fire_time < 1000 ) stopAdsOverride = true; else self notify( "kill_goal" ); @@ -1405,9 +1405,9 @@ aim_loop() return; } - if ( self.bot.next_wp != -1 && isdefined( level.waypoints[self.bot.next_wp].angles ) && false ) + if ( self.bot.next_wp != -1 && isdefined( level.waypoints[ self.bot.next_wp ].angles ) && false ) { - forwardPos = anglestoforward( level.waypoints[self.bot.next_wp].angles ) * 1024; + forwardPos = anglestoforward( level.waypoints[ self.bot.next_wp ].angles ) * 1024; self thread bot_lookat( eyePos + forwardPos, aimspeed ); } @@ -1420,7 +1420,7 @@ aim_loop() lookat = undefined; if ( self.bot.second_next_wp != -1 && !self.bot.issprinting && !self.bot.climbing ) - lookat = level.waypoints[self.bot.second_next_wp].origin; + lookat = level.waypoints[ self.bot.second_next_wp ].origin; else if ( isdefined( self.bot.towards_goal ) ) lookat = self.bot.towards_goal; @@ -1493,7 +1493,7 @@ walk_loop() if ( self inLastStand() || self getstance() == "prone" || ( self.bot.is_cur_sniper && self playerads() > 0 ) ) return; - if ( self.bot.target.rand <= self.pers["bots"]["behavior"]["strafe"] ) + if ( self.bot.target.rand <= self.pers[ "bots" ][ "behavior" ][ "strafe" ] ) self strafe( self.bot.target.entity ); return; @@ -1555,25 +1555,25 @@ doWalk( goal, dist, isScriptGoal ) } // skip waypoints we already completed to prevent rubber banding - if ( current > 0 && self.bot.astar[current] == self.bot.last_next_wp && self.bot.astar[current - 1] == self.bot.last_second_next_wp ) + if ( current > 0 && self.bot.astar[ current ] == self.bot.last_next_wp && self.bot.astar[ current - 1 ] == self.bot.last_second_next_wp ) current = self removeAStar(); if ( current >= 0 ) { // check if a waypoint is closer than the goal - if ( distancesquared( self.origin, level.waypoints[self.bot.astar[current]].origin ) < distancesquared( self.origin, goal ) || distancesquared( level.waypoints[self.bot.astar[current]].origin, playerphysicstrace( self.origin + ( 0, 0, 32 ), level.waypoints[self.bot.astar[current]].origin ) ) > 1.0 ) + if ( distancesquared( self.origin, level.waypoints[ self.bot.astar[ current ] ].origin ) < distancesquared( self.origin, goal ) || distancesquared( level.waypoints[ self.bot.astar[ current ] ].origin, playerphysicstrace( self.origin + ( 0, 0, 32 ), level.waypoints[ self.bot.astar[ current ] ].origin ) ) > 1.0 ) { while ( current >= 0 ) { - self.bot.next_wp = self.bot.astar[current]; + self.bot.next_wp = self.bot.astar[ current ]; self.bot.second_next_wp = -1; if ( current > 0 ) - self.bot.second_next_wp = self.bot.astar[current - 1]; + self.bot.second_next_wp = self.bot.astar[ current - 1 ]; self notify( "new_static_waypoint" ); - self movetowards( level.waypoints[self.bot.next_wp].origin ); + self movetowards( level.waypoints[ self.bot.next_wp ].origin ); self.bot.last_next_wp = self.bot.next_wp; self.bot.last_second_next_wp = self.bot.second_next_wp; @@ -1670,7 +1670,7 @@ movetowards( goal ) if ( distancesquared( self.origin, lastOri ) < 32 * 32 ) { // check if directly above or below - if ( abs( goal[2] - self.origin[2] ) > 64 && getConeDot( goal + ( 1, 1, 0 ), self.origin + ( -1, -1, 0 ), vectortoangles( ( goal[0], goal[1], self.origin[2] ) - self.origin ) ) < 0.64 && distancesquared2D( self.origin, goal ) < 32 * 32 ) + if ( abs( goal[ 2 ] - self.origin[ 2 ] ) > 64 && getConeDot( goal + ( 1, 1, 0 ), self.origin + ( -1, -1, 0 ), vectortoangles( ( goal[ 0 ], goal[ 1 ], self.origin[ 2 ] ) - self.origin ) ) < 0.64 && distancesquared2D( self.origin, goal ) < 32 * 32 ) { stucks = 2; } @@ -1707,8 +1707,8 @@ strafe( target ) self thread killWalkOnEvents(); angles = vectortoangles( vectornormalize( target.origin - self.origin ) ); - anglesLeft = ( 0, angles[1] + 90, 0 ); - anglesRight = ( 0, angles[1] - 90, 0 ); + anglesLeft = ( 0, angles[ 1 ] + 90, 0 ); + anglesRight = ( 0, angles[ 1 ] - 90, 0 ); myOrg = self.origin + ( 0, 0, 16 ); left = myOrg + anglestoforward( anglesLeft ) * 500; @@ -1717,10 +1717,10 @@ strafe( target ) traceLeft = bullettrace( myOrg, left, false, self ); traceRight = bullettrace( myOrg, right, false, self ); - strafe = traceLeft["position"]; + strafe = traceLeft[ "position" ]; - if ( traceRight["fraction"] > traceLeft["fraction"] ) - strafe = traceRight["position"]; + if ( traceRight[ "fraction" ] > traceLeft[ "fraction" ] ) + strafe = traceRight[ "position" ]; self.bot.last_next_wp = -1; self.bot.last_second_next_wp = -1; @@ -1749,17 +1749,17 @@ getRandomLargestStafe( dist ) toptraces = []; - top = traces.data[0]; - toptraces[toptraces.size] = top; + top = traces.data[ 0 ]; + toptraces[ toptraces.size ] = top; traces HeapRemove(); - while ( traces.data.size && top["fraction"] - traces.data[0]["fraction"] < 0.1 ) + while ( traces.data.size && top[ "fraction" ] - traces.data[ 0 ][ "fraction" ] < 0.1 ) { - toptraces[toptraces.size] = traces.data[0]; + toptraces[ toptraces.size ] = traces.data[ 0 ]; traces HeapRemove(); } - return toptraces[randomint( toptraces.size )]["position"]; + return toptraces[ randomint( toptraces.size ) ][ "position" ]; } /* @@ -1800,7 +1800,7 @@ removeAStar() { remove = self.bot.astar.size - 1; - self.bot.astar[remove] = undefined; + self.bot.astar[ remove ] = undefined; return self.bot.astar.size - 1; } @@ -1956,7 +1956,7 @@ doSemiTime() self endon( "bot_semi_time" ); self.bot.semi_time = true; - wait self.pers["bots"]["skill"]["semi_time"]; + wait self.pers[ "bots" ][ "skill" ][ "semi_time" ]; self.bot.semi_time = false; } @@ -2067,7 +2067,7 @@ do_knife_target( target ) self.bot.knifing_target = target; angles = vectortoangles( target.origin - self.origin ); - self BotBuiltinBotMeleeParams( angles[1], dist ); + self BotBuiltinBotMeleeParams( angles[ 1 ], dist ); wait 1; diff --git a/maps/bots/_bot_script.gsc b/maps/bots/_bot_script.gsc index 5331db8..51509cf 100644 --- a/maps/bots/_bot_script.gsc +++ b/maps/bots/_bot_script.gsc @@ -74,223 +74,223 @@ difficulty() { if ( getdvarint( "bots_skill" ) != 9 ) { - switch ( self.pers["bots"]["skill"]["base"] ) + switch ( self.pers[ "bots" ][ "skill" ][ "base" ] ) { case 1: - self.pers["bots"]["skill"]["aim_time"] = 0.6; - self.pers["bots"]["skill"]["init_react_time"] = 1500; - self.pers["bots"]["skill"]["reaction_time"] = 1000; - self.pers["bots"]["skill"]["no_trace_ads_time"] = 500; - self.pers["bots"]["skill"]["no_trace_look_time"] = 600; - self.pers["bots"]["skill"]["remember_time"] = 750; - self.pers["bots"]["skill"]["fov"] = 0.7; - self.pers["bots"]["skill"]["dist_max"] = 2500; - self.pers["bots"]["skill"]["dist_start"] = 1000; - self.pers["bots"]["skill"]["spawn_time"] = 0.75; - self.pers["bots"]["skill"]["help_dist"] = 0; - self.pers["bots"]["skill"]["semi_time"] = 0.9; - self.pers["bots"]["skill"]["shoot_after_time"] = 1; - self.pers["bots"]["skill"]["aim_offset_time"] = 1.5; - self.pers["bots"]["skill"]["aim_offset_amount"] = 4; - self.pers["bots"]["skill"]["bone_update_interval"] = 2; - self.pers["bots"]["skill"]["bones"] = "j_spineupper,j_ankle_le,j_ankle_ri"; - self.pers["bots"]["skill"]["ads_fov_multi"] = 0.5; - self.pers["bots"]["skill"]["ads_aimspeed_multi"] = 0.5; + self.pers[ "bots" ][ "skill" ][ "aim_time" ] = 0.6; + self.pers[ "bots" ][ "skill" ][ "init_react_time" ] = 1500; + self.pers[ "bots" ][ "skill" ][ "reaction_time" ] = 1000; + self.pers[ "bots" ][ "skill" ][ "no_trace_ads_time" ] = 500; + self.pers[ "bots" ][ "skill" ][ "no_trace_look_time" ] = 600; + self.pers[ "bots" ][ "skill" ][ "remember_time" ] = 750; + self.pers[ "bots" ][ "skill" ][ "fov" ] = 0.7; + self.pers[ "bots" ][ "skill" ][ "dist_max" ] = 2500; + self.pers[ "bots" ][ "skill" ][ "dist_start" ] = 1000; + self.pers[ "bots" ][ "skill" ][ "spawn_time" ] = 0.75; + self.pers[ "bots" ][ "skill" ][ "help_dist" ] = 0; + self.pers[ "bots" ][ "skill" ][ "semi_time" ] = 0.9; + self.pers[ "bots" ][ "skill" ][ "shoot_after_time" ] = 1; + self.pers[ "bots" ][ "skill" ][ "aim_offset_time" ] = 1.5; + self.pers[ "bots" ][ "skill" ][ "aim_offset_amount" ] = 4; + self.pers[ "bots" ][ "skill" ][ "bone_update_interval" ] = 2; + self.pers[ "bots" ][ "skill" ][ "bones" ] = "j_spineupper,j_ankle_le,j_ankle_ri"; + self.pers[ "bots" ][ "skill" ][ "ads_fov_multi" ] = 0.5; + self.pers[ "bots" ][ "skill" ][ "ads_aimspeed_multi" ] = 0.5; - self.pers["bots"]["behavior"]["strafe"] = 0; - self.pers["bots"]["behavior"]["nade"] = 10; - self.pers["bots"]["behavior"]["sprint"] = 30; - self.pers["bots"]["behavior"]["camp"] = 5; - self.pers["bots"]["behavior"]["follow"] = 5; - self.pers["bots"]["behavior"]["crouch"] = 20; - self.pers["bots"]["behavior"]["switch"] = 2; - self.pers["bots"]["behavior"]["jump"] = 0; + self.pers[ "bots" ][ "behavior" ][ "strafe" ] = 0; + self.pers[ "bots" ][ "behavior" ][ "nade" ] = 10; + self.pers[ "bots" ][ "behavior" ][ "sprint" ] = 30; + self.pers[ "bots" ][ "behavior" ][ "camp" ] = 5; + self.pers[ "bots" ][ "behavior" ][ "follow" ] = 5; + self.pers[ "bots" ][ "behavior" ][ "crouch" ] = 20; + self.pers[ "bots" ][ "behavior" ][ "switch" ] = 2; + self.pers[ "bots" ][ "behavior" ][ "jump" ] = 0; break; case 2: - self.pers["bots"]["skill"]["aim_time"] = 0.55; - self.pers["bots"]["skill"]["init_react_time"] = 1000; - self.pers["bots"]["skill"]["reaction_time"] = 800; - self.pers["bots"]["skill"]["no_trace_ads_time"] = 1000; - self.pers["bots"]["skill"]["no_trace_look_time"] = 1250; - self.pers["bots"]["skill"]["remember_time"] = 1500; - self.pers["bots"]["skill"]["fov"] = 0.65; - self.pers["bots"]["skill"]["dist_max"] = 3000; - self.pers["bots"]["skill"]["dist_start"] = 1500; - self.pers["bots"]["skill"]["spawn_time"] = 0.65; - self.pers["bots"]["skill"]["help_dist"] = 500; - self.pers["bots"]["skill"]["semi_time"] = 0.75; - self.pers["bots"]["skill"]["shoot_after_time"] = 0.75; - self.pers["bots"]["skill"]["aim_offset_time"] = 1; - self.pers["bots"]["skill"]["aim_offset_amount"] = 3; - self.pers["bots"]["skill"]["bone_update_interval"] = 1.5; - self.pers["bots"]["skill"]["bones"] = "j_spineupper,j_ankle_le,j_ankle_ri,j_head"; - self.pers["bots"]["skill"]["ads_fov_multi"] = 0.5; - self.pers["bots"]["skill"]["ads_aimspeed_multi"] = 0.5; + self.pers[ "bots" ][ "skill" ][ "aim_time" ] = 0.55; + self.pers[ "bots" ][ "skill" ][ "init_react_time" ] = 1000; + self.pers[ "bots" ][ "skill" ][ "reaction_time" ] = 800; + self.pers[ "bots" ][ "skill" ][ "no_trace_ads_time" ] = 1000; + self.pers[ "bots" ][ "skill" ][ "no_trace_look_time" ] = 1250; + self.pers[ "bots" ][ "skill" ][ "remember_time" ] = 1500; + self.pers[ "bots" ][ "skill" ][ "fov" ] = 0.65; + self.pers[ "bots" ][ "skill" ][ "dist_max" ] = 3000; + self.pers[ "bots" ][ "skill" ][ "dist_start" ] = 1500; + self.pers[ "bots" ][ "skill" ][ "spawn_time" ] = 0.65; + self.pers[ "bots" ][ "skill" ][ "help_dist" ] = 500; + self.pers[ "bots" ][ "skill" ][ "semi_time" ] = 0.75; + self.pers[ "bots" ][ "skill" ][ "shoot_after_time" ] = 0.75; + self.pers[ "bots" ][ "skill" ][ "aim_offset_time" ] = 1; + self.pers[ "bots" ][ "skill" ][ "aim_offset_amount" ] = 3; + self.pers[ "bots" ][ "skill" ][ "bone_update_interval" ] = 1.5; + self.pers[ "bots" ][ "skill" ][ "bones" ] = "j_spineupper,j_ankle_le,j_ankle_ri,j_head"; + self.pers[ "bots" ][ "skill" ][ "ads_fov_multi" ] = 0.5; + self.pers[ "bots" ][ "skill" ][ "ads_aimspeed_multi" ] = 0.5; - self.pers["bots"]["behavior"]["strafe"] = 10; - self.pers["bots"]["behavior"]["nade"] = 15; - self.pers["bots"]["behavior"]["sprint"] = 45; - self.pers["bots"]["behavior"]["camp"] = 5; - self.pers["bots"]["behavior"]["follow"] = 5; - self.pers["bots"]["behavior"]["crouch"] = 15; - self.pers["bots"]["behavior"]["switch"] = 2; - self.pers["bots"]["behavior"]["jump"] = 10; + self.pers[ "bots" ][ "behavior" ][ "strafe" ] = 10; + self.pers[ "bots" ][ "behavior" ][ "nade" ] = 15; + self.pers[ "bots" ][ "behavior" ][ "sprint" ] = 45; + self.pers[ "bots" ][ "behavior" ][ "camp" ] = 5; + self.pers[ "bots" ][ "behavior" ][ "follow" ] = 5; + self.pers[ "bots" ][ "behavior" ][ "crouch" ] = 15; + self.pers[ "bots" ][ "behavior" ][ "switch" ] = 2; + self.pers[ "bots" ][ "behavior" ][ "jump" ] = 10; break; case 3: - self.pers["bots"]["skill"]["aim_time"] = 0.4; - self.pers["bots"]["skill"]["init_react_time"] = 750; - self.pers["bots"]["skill"]["reaction_time"] = 500; - self.pers["bots"]["skill"]["no_trace_ads_time"] = 1000; - self.pers["bots"]["skill"]["no_trace_look_time"] = 1500; - self.pers["bots"]["skill"]["remember_time"] = 2000; - self.pers["bots"]["skill"]["fov"] = 0.6; - self.pers["bots"]["skill"]["dist_max"] = 4000; - self.pers["bots"]["skill"]["dist_start"] = 2250; - self.pers["bots"]["skill"]["spawn_time"] = 0.5; - self.pers["bots"]["skill"]["help_dist"] = 750; - self.pers["bots"]["skill"]["semi_time"] = 0.65; - self.pers["bots"]["skill"]["shoot_after_time"] = 0.65; - self.pers["bots"]["skill"]["aim_offset_time"] = 0.75; - self.pers["bots"]["skill"]["aim_offset_amount"] = 2.5; - self.pers["bots"]["skill"]["bone_update_interval"] = 1; - self.pers["bots"]["skill"]["bones"] = "j_spineupper,j_spineupper,j_ankle_le,j_ankle_ri,j_head"; - self.pers["bots"]["skill"]["ads_fov_multi"] = 0.5; - self.pers["bots"]["skill"]["ads_aimspeed_multi"] = 0.5; + self.pers[ "bots" ][ "skill" ][ "aim_time" ] = 0.4; + self.pers[ "bots" ][ "skill" ][ "init_react_time" ] = 750; + self.pers[ "bots" ][ "skill" ][ "reaction_time" ] = 500; + self.pers[ "bots" ][ "skill" ][ "no_trace_ads_time" ] = 1000; + self.pers[ "bots" ][ "skill" ][ "no_trace_look_time" ] = 1500; + self.pers[ "bots" ][ "skill" ][ "remember_time" ] = 2000; + self.pers[ "bots" ][ "skill" ][ "fov" ] = 0.6; + self.pers[ "bots" ][ "skill" ][ "dist_max" ] = 4000; + self.pers[ "bots" ][ "skill" ][ "dist_start" ] = 2250; + self.pers[ "bots" ][ "skill" ][ "spawn_time" ] = 0.5; + self.pers[ "bots" ][ "skill" ][ "help_dist" ] = 750; + self.pers[ "bots" ][ "skill" ][ "semi_time" ] = 0.65; + self.pers[ "bots" ][ "skill" ][ "shoot_after_time" ] = 0.65; + self.pers[ "bots" ][ "skill" ][ "aim_offset_time" ] = 0.75; + self.pers[ "bots" ][ "skill" ][ "aim_offset_amount" ] = 2.5; + self.pers[ "bots" ][ "skill" ][ "bone_update_interval" ] = 1; + self.pers[ "bots" ][ "skill" ][ "bones" ] = "j_spineupper,j_spineupper,j_ankle_le,j_ankle_ri,j_head"; + self.pers[ "bots" ][ "skill" ][ "ads_fov_multi" ] = 0.5; + self.pers[ "bots" ][ "skill" ][ "ads_aimspeed_multi" ] = 0.5; - self.pers["bots"]["behavior"]["strafe"] = 20; - self.pers["bots"]["behavior"]["nade"] = 20; - self.pers["bots"]["behavior"]["sprint"] = 50; - self.pers["bots"]["behavior"]["camp"] = 5; - self.pers["bots"]["behavior"]["follow"] = 5; - self.pers["bots"]["behavior"]["crouch"] = 10; - self.pers["bots"]["behavior"]["switch"] = 2; - self.pers["bots"]["behavior"]["jump"] = 25; + self.pers[ "bots" ][ "behavior" ][ "strafe" ] = 20; + self.pers[ "bots" ][ "behavior" ][ "nade" ] = 20; + self.pers[ "bots" ][ "behavior" ][ "sprint" ] = 50; + self.pers[ "bots" ][ "behavior" ][ "camp" ] = 5; + self.pers[ "bots" ][ "behavior" ][ "follow" ] = 5; + self.pers[ "bots" ][ "behavior" ][ "crouch" ] = 10; + self.pers[ "bots" ][ "behavior" ][ "switch" ] = 2; + self.pers[ "bots" ][ "behavior" ][ "jump" ] = 25; break; case 4: - self.pers["bots"]["skill"]["aim_time"] = 0.3; - self.pers["bots"]["skill"]["init_react_time"] = 600; - self.pers["bots"]["skill"]["reaction_time"] = 400; - self.pers["bots"]["skill"]["no_trace_ads_time"] = 1000; - self.pers["bots"]["skill"]["no_trace_look_time"] = 1500; - self.pers["bots"]["skill"]["remember_time"] = 3000; - self.pers["bots"]["skill"]["fov"] = 0.55; - self.pers["bots"]["skill"]["dist_max"] = 5000; - self.pers["bots"]["skill"]["dist_start"] = 3350; - self.pers["bots"]["skill"]["spawn_time"] = 0.35; - self.pers["bots"]["skill"]["help_dist"] = 1000; - self.pers["bots"]["skill"]["semi_time"] = 0.5; - self.pers["bots"]["skill"]["shoot_after_time"] = 0.5; - self.pers["bots"]["skill"]["aim_offset_time"] = 0.5; - self.pers["bots"]["skill"]["aim_offset_amount"] = 2; - self.pers["bots"]["skill"]["bone_update_interval"] = 0.75; - self.pers["bots"]["skill"]["bones"] = "j_spineupper,j_spineupper,j_ankle_le,j_ankle_ri,j_head,j_head"; - self.pers["bots"]["skill"]["ads_fov_multi"] = 0.5; - self.pers["bots"]["skill"]["ads_aimspeed_multi"] = 0.5; + self.pers[ "bots" ][ "skill" ][ "aim_time" ] = 0.3; + self.pers[ "bots" ][ "skill" ][ "init_react_time" ] = 600; + self.pers[ "bots" ][ "skill" ][ "reaction_time" ] = 400; + self.pers[ "bots" ][ "skill" ][ "no_trace_ads_time" ] = 1000; + self.pers[ "bots" ][ "skill" ][ "no_trace_look_time" ] = 1500; + self.pers[ "bots" ][ "skill" ][ "remember_time" ] = 3000; + self.pers[ "bots" ][ "skill" ][ "fov" ] = 0.55; + self.pers[ "bots" ][ "skill" ][ "dist_max" ] = 5000; + self.pers[ "bots" ][ "skill" ][ "dist_start" ] = 3350; + self.pers[ "bots" ][ "skill" ][ "spawn_time" ] = 0.35; + self.pers[ "bots" ][ "skill" ][ "help_dist" ] = 1000; + self.pers[ "bots" ][ "skill" ][ "semi_time" ] = 0.5; + self.pers[ "bots" ][ "skill" ][ "shoot_after_time" ] = 0.5; + self.pers[ "bots" ][ "skill" ][ "aim_offset_time" ] = 0.5; + self.pers[ "bots" ][ "skill" ][ "aim_offset_amount" ] = 2; + self.pers[ "bots" ][ "skill" ][ "bone_update_interval" ] = 0.75; + self.pers[ "bots" ][ "skill" ][ "bones" ] = "j_spineupper,j_spineupper,j_ankle_le,j_ankle_ri,j_head,j_head"; + self.pers[ "bots" ][ "skill" ][ "ads_fov_multi" ] = 0.5; + self.pers[ "bots" ][ "skill" ][ "ads_aimspeed_multi" ] = 0.5; - self.pers["bots"]["behavior"]["strafe"] = 30; - self.pers["bots"]["behavior"]["nade"] = 25; - self.pers["bots"]["behavior"]["sprint"] = 55; - self.pers["bots"]["behavior"]["camp"] = 5; - self.pers["bots"]["behavior"]["follow"] = 5; - self.pers["bots"]["behavior"]["crouch"] = 10; - self.pers["bots"]["behavior"]["switch"] = 2; - self.pers["bots"]["behavior"]["jump"] = 35; + self.pers[ "bots" ][ "behavior" ][ "strafe" ] = 30; + self.pers[ "bots" ][ "behavior" ][ "nade" ] = 25; + self.pers[ "bots" ][ "behavior" ][ "sprint" ] = 55; + self.pers[ "bots" ][ "behavior" ][ "camp" ] = 5; + self.pers[ "bots" ][ "behavior" ][ "follow" ] = 5; + self.pers[ "bots" ][ "behavior" ][ "crouch" ] = 10; + self.pers[ "bots" ][ "behavior" ][ "switch" ] = 2; + self.pers[ "bots" ][ "behavior" ][ "jump" ] = 35; break; case 5: - self.pers["bots"]["skill"]["aim_time"] = 0.25; - self.pers["bots"]["skill"]["init_react_time"] = 500; - self.pers["bots"]["skill"]["reaction_time"] = 300; - self.pers["bots"]["skill"]["no_trace_ads_time"] = 1500; - self.pers["bots"]["skill"]["no_trace_look_time"] = 2000; - self.pers["bots"]["skill"]["remember_time"] = 4000; - self.pers["bots"]["skill"]["fov"] = 0.5; - self.pers["bots"]["skill"]["dist_max"] = 7500; - self.pers["bots"]["skill"]["dist_start"] = 5000; - self.pers["bots"]["skill"]["spawn_time"] = 0.25; - self.pers["bots"]["skill"]["help_dist"] = 1500; - self.pers["bots"]["skill"]["semi_time"] = 0.4; - self.pers["bots"]["skill"]["shoot_after_time"] = 0.35; - self.pers["bots"]["skill"]["aim_offset_time"] = 0.35; - self.pers["bots"]["skill"]["aim_offset_amount"] = 1.5; - self.pers["bots"]["skill"]["bone_update_interval"] = 0.5; - self.pers["bots"]["skill"]["bones"] = "j_spineupper,j_head"; - self.pers["bots"]["skill"]["ads_fov_multi"] = 0.5; - self.pers["bots"]["skill"]["ads_aimspeed_multi"] = 0.5; + self.pers[ "bots" ][ "skill" ][ "aim_time" ] = 0.25; + self.pers[ "bots" ][ "skill" ][ "init_react_time" ] = 500; + self.pers[ "bots" ][ "skill" ][ "reaction_time" ] = 300; + self.pers[ "bots" ][ "skill" ][ "no_trace_ads_time" ] = 1500; + self.pers[ "bots" ][ "skill" ][ "no_trace_look_time" ] = 2000; + self.pers[ "bots" ][ "skill" ][ "remember_time" ] = 4000; + self.pers[ "bots" ][ "skill" ][ "fov" ] = 0.5; + self.pers[ "bots" ][ "skill" ][ "dist_max" ] = 7500; + self.pers[ "bots" ][ "skill" ][ "dist_start" ] = 5000; + self.pers[ "bots" ][ "skill" ][ "spawn_time" ] = 0.25; + self.pers[ "bots" ][ "skill" ][ "help_dist" ] = 1500; + self.pers[ "bots" ][ "skill" ][ "semi_time" ] = 0.4; + self.pers[ "bots" ][ "skill" ][ "shoot_after_time" ] = 0.35; + self.pers[ "bots" ][ "skill" ][ "aim_offset_time" ] = 0.35; + self.pers[ "bots" ][ "skill" ][ "aim_offset_amount" ] = 1.5; + self.pers[ "bots" ][ "skill" ][ "bone_update_interval" ] = 0.5; + self.pers[ "bots" ][ "skill" ][ "bones" ] = "j_spineupper,j_head"; + self.pers[ "bots" ][ "skill" ][ "ads_fov_multi" ] = 0.5; + self.pers[ "bots" ][ "skill" ][ "ads_aimspeed_multi" ] = 0.5; - self.pers["bots"]["behavior"]["strafe"] = 40; - self.pers["bots"]["behavior"]["nade"] = 35; - self.pers["bots"]["behavior"]["sprint"] = 60; - self.pers["bots"]["behavior"]["camp"] = 5; - self.pers["bots"]["behavior"]["follow"] = 5; - self.pers["bots"]["behavior"]["crouch"] = 10; - self.pers["bots"]["behavior"]["switch"] = 2; - self.pers["bots"]["behavior"]["jump"] = 50; + self.pers[ "bots" ][ "behavior" ][ "strafe" ] = 40; + self.pers[ "bots" ][ "behavior" ][ "nade" ] = 35; + self.pers[ "bots" ][ "behavior" ][ "sprint" ] = 60; + self.pers[ "bots" ][ "behavior" ][ "camp" ] = 5; + self.pers[ "bots" ][ "behavior" ][ "follow" ] = 5; + self.pers[ "bots" ][ "behavior" ][ "crouch" ] = 10; + self.pers[ "bots" ][ "behavior" ][ "switch" ] = 2; + self.pers[ "bots" ][ "behavior" ][ "jump" ] = 50; break; case 6: - self.pers["bots"]["skill"]["aim_time"] = 0.2; - self.pers["bots"]["skill"]["init_react_time"] = 250; - self.pers["bots"]["skill"]["reaction_time"] = 150; - self.pers["bots"]["skill"]["no_trace_ads_time"] = 2000; - self.pers["bots"]["skill"]["no_trace_look_time"] = 3000; - self.pers["bots"]["skill"]["remember_time"] = 5000; - self.pers["bots"]["skill"]["fov"] = 0.45; - self.pers["bots"]["skill"]["dist_max"] = 10000; - self.pers["bots"]["skill"]["dist_start"] = 7500; - self.pers["bots"]["skill"]["spawn_time"] = 0.2; - self.pers["bots"]["skill"]["help_dist"] = 2000; - self.pers["bots"]["skill"]["semi_time"] = 0.25; - self.pers["bots"]["skill"]["shoot_after_time"] = 0.25; - self.pers["bots"]["skill"]["aim_offset_time"] = 0.25; - self.pers["bots"]["skill"]["aim_offset_amount"] = 1; - self.pers["bots"]["skill"]["bone_update_interval"] = 0.25; - self.pers["bots"]["skill"]["bones"] = "j_spineupper,j_head,j_head"; - self.pers["bots"]["skill"]["ads_fov_multi"] = 0.5; - self.pers["bots"]["skill"]["ads_aimspeed_multi"] = 0.5; + self.pers[ "bots" ][ "skill" ][ "aim_time" ] = 0.2; + self.pers[ "bots" ][ "skill" ][ "init_react_time" ] = 250; + self.pers[ "bots" ][ "skill" ][ "reaction_time" ] = 150; + self.pers[ "bots" ][ "skill" ][ "no_trace_ads_time" ] = 2000; + self.pers[ "bots" ][ "skill" ][ "no_trace_look_time" ] = 3000; + self.pers[ "bots" ][ "skill" ][ "remember_time" ] = 5000; + self.pers[ "bots" ][ "skill" ][ "fov" ] = 0.45; + self.pers[ "bots" ][ "skill" ][ "dist_max" ] = 10000; + self.pers[ "bots" ][ "skill" ][ "dist_start" ] = 7500; + self.pers[ "bots" ][ "skill" ][ "spawn_time" ] = 0.2; + self.pers[ "bots" ][ "skill" ][ "help_dist" ] = 2000; + self.pers[ "bots" ][ "skill" ][ "semi_time" ] = 0.25; + self.pers[ "bots" ][ "skill" ][ "shoot_after_time" ] = 0.25; + self.pers[ "bots" ][ "skill" ][ "aim_offset_time" ] = 0.25; + self.pers[ "bots" ][ "skill" ][ "aim_offset_amount" ] = 1; + self.pers[ "bots" ][ "skill" ][ "bone_update_interval" ] = 0.25; + self.pers[ "bots" ][ "skill" ][ "bones" ] = "j_spineupper,j_head,j_head"; + self.pers[ "bots" ][ "skill" ][ "ads_fov_multi" ] = 0.5; + self.pers[ "bots" ][ "skill" ][ "ads_aimspeed_multi" ] = 0.5; - self.pers["bots"]["behavior"]["strafe"] = 50; - self.pers["bots"]["behavior"]["nade"] = 45; - self.pers["bots"]["behavior"]["sprint"] = 65; - self.pers["bots"]["behavior"]["camp"] = 5; - self.pers["bots"]["behavior"]["follow"] = 5; - self.pers["bots"]["behavior"]["crouch"] = 10; - self.pers["bots"]["behavior"]["switch"] = 2; - self.pers["bots"]["behavior"]["jump"] = 75; + self.pers[ "bots" ][ "behavior" ][ "strafe" ] = 50; + self.pers[ "bots" ][ "behavior" ][ "nade" ] = 45; + self.pers[ "bots" ][ "behavior" ][ "sprint" ] = 65; + self.pers[ "bots" ][ "behavior" ][ "camp" ] = 5; + self.pers[ "bots" ][ "behavior" ][ "follow" ] = 5; + self.pers[ "bots" ][ "behavior" ][ "crouch" ] = 10; + self.pers[ "bots" ][ "behavior" ][ "switch" ] = 2; + self.pers[ "bots" ][ "behavior" ][ "jump" ] = 75; break; case 7: - self.pers["bots"]["skill"]["aim_time"] = 0.1; - self.pers["bots"]["skill"]["init_react_time"] = 100; - self.pers["bots"]["skill"]["reaction_time"] = 50; - self.pers["bots"]["skill"]["no_trace_ads_time"] = 2500; - self.pers["bots"]["skill"]["no_trace_look_time"] = 4000; - self.pers["bots"]["skill"]["remember_time"] = 7500; - self.pers["bots"]["skill"]["fov"] = 0.4; - self.pers["bots"]["skill"]["dist_max"] = 15000; - self.pers["bots"]["skill"]["dist_start"] = 10000; - self.pers["bots"]["skill"]["spawn_time"] = 0.05; - self.pers["bots"]["skill"]["help_dist"] = 3000; - self.pers["bots"]["skill"]["semi_time"] = 0.1; - self.pers["bots"]["skill"]["shoot_after_time"] = 0; - self.pers["bots"]["skill"]["aim_offset_time"] = 0; - self.pers["bots"]["skill"]["aim_offset_amount"] = 0; - self.pers["bots"]["skill"]["bone_update_interval"] = 0.05; - self.pers["bots"]["skill"]["bones"] = "j_head"; - self.pers["bots"]["skill"]["ads_fov_multi"] = 0.5; - self.pers["bots"]["skill"]["ads_aimspeed_multi"] = 0.5; + self.pers[ "bots" ][ "skill" ][ "aim_time" ] = 0.1; + self.pers[ "bots" ][ "skill" ][ "init_react_time" ] = 100; + self.pers[ "bots" ][ "skill" ][ "reaction_time" ] = 50; + self.pers[ "bots" ][ "skill" ][ "no_trace_ads_time" ] = 2500; + self.pers[ "bots" ][ "skill" ][ "no_trace_look_time" ] = 4000; + self.pers[ "bots" ][ "skill" ][ "remember_time" ] = 7500; + self.pers[ "bots" ][ "skill" ][ "fov" ] = 0.4; + self.pers[ "bots" ][ "skill" ][ "dist_max" ] = 15000; + self.pers[ "bots" ][ "skill" ][ "dist_start" ] = 10000; + self.pers[ "bots" ][ "skill" ][ "spawn_time" ] = 0.05; + self.pers[ "bots" ][ "skill" ][ "help_dist" ] = 3000; + self.pers[ "bots" ][ "skill" ][ "semi_time" ] = 0.1; + self.pers[ "bots" ][ "skill" ][ "shoot_after_time" ] = 0; + self.pers[ "bots" ][ "skill" ][ "aim_offset_time" ] = 0; + self.pers[ "bots" ][ "skill" ][ "aim_offset_amount" ] = 0; + self.pers[ "bots" ][ "skill" ][ "bone_update_interval" ] = 0.05; + self.pers[ "bots" ][ "skill" ][ "bones" ] = "j_head"; + self.pers[ "bots" ][ "skill" ][ "ads_fov_multi" ] = 0.5; + self.pers[ "bots" ][ "skill" ][ "ads_aimspeed_multi" ] = 0.5; - self.pers["bots"]["behavior"]["strafe"] = 65; - self.pers["bots"]["behavior"]["nade"] = 65; - self.pers["bots"]["behavior"]["sprint"] = 70; - self.pers["bots"]["behavior"]["camp"] = 5; - self.pers["bots"]["behavior"]["follow"] = 5; - self.pers["bots"]["behavior"]["crouch"] = 5; - self.pers["bots"]["behavior"]["switch"] = 2; - self.pers["bots"]["behavior"]["jump"] = 90; + self.pers[ "bots" ][ "behavior" ][ "strafe" ] = 65; + self.pers[ "bots" ][ "behavior" ][ "nade" ] = 65; + self.pers[ "bots" ][ "behavior" ][ "sprint" ] = 70; + self.pers[ "bots" ][ "behavior" ][ "camp" ] = 5; + self.pers[ "bots" ][ "behavior" ][ "follow" ] = 5; + self.pers[ "bots" ][ "behavior" ][ "crouch" ] = 5; + self.pers[ "bots" ][ "behavior" ][ "switch" ] = 2; + self.pers[ "bots" ][ "behavior" ][ "jump" ] = 90; break; } } @@ -309,47 +309,47 @@ set_diff() switch ( rankVar ) { case 0: - self.pers["bots"]["skill"]["base"] = Round( random_normal_distribution( 3.5, 1.75, 1, 7 ) ); + self.pers[ "bots" ][ "skill" ][ "base" ] = Round( random_normal_distribution( 3.5, 1.75, 1, 7 ) ); break; case 8: break; case 9: - self.pers["bots"]["skill"]["base"] = randomintrange( 1, 7 ); - self.pers["bots"]["skill"]["aim_time"] = 0.05 * randomintrange( 1, 20 ); - self.pers["bots"]["skill"]["init_react_time"] = 50 * randomint( 100 ); - self.pers["bots"]["skill"]["reaction_time"] = 50 * randomint( 100 ); - self.pers["bots"]["skill"]["no_trace_ads_time"] = 50 * randomint( 100 ); - self.pers["bots"]["skill"]["no_trace_look_time"] = 50 * randomint( 100 ); - self.pers["bots"]["skill"]["remember_time"] = 50 * randomint( 100 ); - self.pers["bots"]["skill"]["fov"] = randomfloatrange( -1, 1 ); + self.pers[ "bots" ][ "skill" ][ "base" ] = randomintrange( 1, 7 ); + self.pers[ "bots" ][ "skill" ][ "aim_time" ] = 0.05 * randomintrange( 1, 20 ); + self.pers[ "bots" ][ "skill" ][ "init_react_time" ] = 50 * randomint( 100 ); + self.pers[ "bots" ][ "skill" ][ "reaction_time" ] = 50 * randomint( 100 ); + self.pers[ "bots" ][ "skill" ][ "no_trace_ads_time" ] = 50 * randomint( 100 ); + self.pers[ "bots" ][ "skill" ][ "no_trace_look_time" ] = 50 * randomint( 100 ); + self.pers[ "bots" ][ "skill" ][ "remember_time" ] = 50 * randomint( 100 ); + self.pers[ "bots" ][ "skill" ][ "fov" ] = randomfloatrange( -1, 1 ); randomNum = randomintrange( 500, 25000 ); - self.pers["bots"]["skill"]["dist_start"] = randomNum; - self.pers["bots"]["skill"]["dist_max"] = randomNum * 2; + self.pers[ "bots" ][ "skill" ][ "dist_start" ] = randomNum; + self.pers[ "bots" ][ "skill" ][ "dist_max" ] = randomNum * 2; - self.pers["bots"]["skill"]["spawn_time"] = 0.05 * randomint( 20 ); - self.pers["bots"]["skill"]["help_dist"] = randomintrange( 500, 25000 ); - self.pers["bots"]["skill"]["semi_time"] = randomfloatrange( 0.05, 1 ); - self.pers["bots"]["skill"]["shoot_after_time"] = randomfloatrange( 0.05, 1 ); - self.pers["bots"]["skill"]["aim_offset_time"] = randomfloatrange( 0.05, 1 ); - self.pers["bots"]["skill"]["aim_offset_amount"] = randomfloatrange( 0.05, 1 ); - self.pers["bots"]["skill"]["bone_update_interval"] = randomfloatrange( 0.05, 1 ); - self.pers["bots"]["skill"]["bones"] = "j_head,j_spineupper,j_ankle_ri,j_ankle_le"; + self.pers[ "bots" ][ "skill" ][ "spawn_time" ] = 0.05 * randomint( 20 ); + self.pers[ "bots" ][ "skill" ][ "help_dist" ] = randomintrange( 500, 25000 ); + self.pers[ "bots" ][ "skill" ][ "semi_time" ] = randomfloatrange( 0.05, 1 ); + self.pers[ "bots" ][ "skill" ][ "shoot_after_time" ] = randomfloatrange( 0.05, 1 ); + self.pers[ "bots" ][ "skill" ][ "aim_offset_time" ] = randomfloatrange( 0.05, 1 ); + self.pers[ "bots" ][ "skill" ][ "aim_offset_amount" ] = randomfloatrange( 0.05, 1 ); + self.pers[ "bots" ][ "skill" ][ "bone_update_interval" ] = randomfloatrange( 0.05, 1 ); + self.pers[ "bots" ][ "skill" ][ "bones" ] = "j_head,j_spineupper,j_ankle_ri,j_ankle_le"; - self.pers["bots"]["behavior"]["strafe"] = randomint( 100 ); - self.pers["bots"]["behavior"]["nade"] = randomint( 100 ); - self.pers["bots"]["behavior"]["sprint"] = randomint( 100 ); - self.pers["bots"]["behavior"]["camp"] = randomint( 100 ); - self.pers["bots"]["behavior"]["follow"] = randomint( 100 ); - self.pers["bots"]["behavior"]["crouch"] = randomint( 100 ); - self.pers["bots"]["behavior"]["switch"] = randomint( 100 ); - self.pers["bots"]["behavior"]["jump"] = randomint( 100 ); + self.pers[ "bots" ][ "behavior" ][ "strafe" ] = randomint( 100 ); + self.pers[ "bots" ][ "behavior" ][ "nade" ] = randomint( 100 ); + self.pers[ "bots" ][ "behavior" ][ "sprint" ] = randomint( 100 ); + self.pers[ "bots" ][ "behavior" ][ "camp" ] = randomint( 100 ); + self.pers[ "bots" ][ "behavior" ][ "follow" ] = randomint( 100 ); + self.pers[ "bots" ][ "behavior" ][ "crouch" ] = randomint( 100 ); + self.pers[ "bots" ][ "behavior" ][ "switch" ] = randomint( 100 ); + self.pers[ "bots" ][ "behavior" ][ "jump" ] = randomint( 100 ); break; default: - self.pers["bots"]["skill"]["base"] = rankVar; + self.pers[ "bots" ][ "skill" ][ "base" ] = rankVar; break; } } @@ -450,7 +450,7 @@ doReloadCancel_loop() } // check difficulty - if ( self.pers["bots"]["skill"]["base"] <= 3 ) + if ( self.pers[ "bots" ][ "skill" ][ "base" ] <= 3 ) return; // check if got another weapon @@ -459,7 +459,7 @@ doReloadCancel_loop() while ( weaponslist.size ) { - weapon = weaponslist[randomint( weaponslist.size )]; + weapon = weaponslist[ randomint( weaponslist.size ) ]; weaponslist = array_remove( weaponslist, weapon ); if ( !self isWeaponPrimary( weapon ) ) diff --git a/maps/bots/_bot_utility.gsc b/maps/bots/_bot_utility.gsc index db6fd62..725fd45 100644 --- a/maps/bots/_bot_utility.gsc +++ b/maps/bots/_bot_utility.gsc @@ -25,9 +25,9 @@ wait_for_builtins() */ BotBuiltinPrintConsole( s ) { - if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins["printconsole"] ) ) + if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins[ "printconsole" ] ) ) { - [[ level.bot_builtins["printconsole" ]]]( s ); + [[ level.bot_builtins[ "printconsole" ] ]]( s ); } } @@ -37,9 +37,9 @@ BotBuiltinPrintConsole( s ) */ BotBuiltinBotAction( action ) { - if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins["botaction"] ) ) + if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins[ "botaction" ] ) ) { - self [[ level.bot_builtins["botaction" ]]]( action ); + self [[ level.bot_builtins[ "botaction" ] ]]( action ); } } @@ -49,9 +49,9 @@ BotBuiltinBotAction( action ) */ BotBuiltinBotStop() { - if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins["botstop"] ) ) + if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins[ "botstop" ] ) ) { - self [[ level.bot_builtins["botstop" ]]](); + self [[ level.bot_builtins[ "botstop" ] ]](); } } @@ -61,9 +61,9 @@ BotBuiltinBotStop() */ BotBuiltinBotMovement( left, forward ) { - if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins["botmovement"] ) ) + if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins[ "botmovement" ] ) ) { - self [[ level.bot_builtins["botmovement" ]]]( left, forward ); + self [[ level.bot_builtins[ "botmovement" ] ]]( left, forward ); } } @@ -72,9 +72,9 @@ BotBuiltinBotMovement( left, forward ) */ BotBuiltinBotMeleeParams( yaw, dist ) { - if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins["botmeleeparams"] ) ) + if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins[ "botmeleeparams" ] ) ) { - self [[ level.bot_builtins["botmeleeparams" ]]]( yaw, dist ); + self [[ level.bot_builtins[ "botmeleeparams" ] ]]( yaw, dist ); } } @@ -84,9 +84,9 @@ BotBuiltinBotMeleeParams( yaw, dist ) */ BotBuiltinIsBot() { - if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins["isbot"] ) ) + if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins[ "isbot" ] ) ) { - return self [[ level.bot_builtins["isbot" ]]](); + return self [[ level.bot_builtins[ "isbot" ] ]](); } return false; @@ -97,9 +97,9 @@ BotBuiltinIsBot() */ BotBuiltinGeneratePath( from, to, team, best_effort ) { - if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins["generatepath"] ) ) + if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins[ "generatepath" ] ) ) { - return [[ level.bot_builtins["generatepath" ]]]( from, to, team, best_effort ); + return [[ level.bot_builtins[ "generatepath" ] ]]( from, to, team, best_effort ); } return []; @@ -110,9 +110,9 @@ BotBuiltinGeneratePath( from, to, team, best_effort ) */ BotBuiltinGetFunction( file, threadname ) { - if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins["getfunction"] ) ) + if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins[ "getfunction" ] ) ) { - return [[ level.bot_builtins["getfunction" ]]]( file, threadname ); + return [[ level.bot_builtins[ "getfunction" ] ]]( file, threadname ); } return undefined; @@ -123,9 +123,9 @@ BotBuiltinGetFunction( file, threadname ) */ BotBuiltinGetMins() { - if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins["getmins"] ) ) + if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins[ "getmins" ] ) ) { - return self [[ level.bot_builtins["getmins" ]]](); + return self [[ level.bot_builtins[ "getmins" ] ]](); } return ( 0, 0, 0 ); @@ -136,9 +136,9 @@ BotBuiltinGetMins() */ BotBuiltinGetMaxs() { - if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins["getmaxs"] ) ) + if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins[ "getmaxs" ] ) ) { - return self [[ level.bot_builtins["getmaxs" ]]](); + return self [[ level.bot_builtins[ "getmaxs" ] ]](); } return ( 0, 0, 0 ); @@ -149,9 +149,9 @@ BotBuiltinGetMaxs() */ BotBuiltinGetGuid() { - if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins["getguid"] ) ) + if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins[ "getguid" ] ) ) { - return self [[ level.bot_builtins["getguid" ]]](); + return self [[ level.bot_builtins[ "getguid" ] ]](); } return 0; @@ -161,9 +161,9 @@ BotBuiltinGetGuid() */ BotBuiltinSetAllowedTraversals( bot_allowed_negotiation_links ) { - if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins["setallowedtraversals"] ) ) + if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins[ "setallowedtraversals" ] ) ) { - [[ level.bot_builtins["setallowedtraversals" ]]]( bot_allowed_negotiation_links ); + [[ level.bot_builtins[ "setallowedtraversals" ] ]]( bot_allowed_negotiation_links ); } } @@ -171,9 +171,9 @@ BotBuiltinSetAllowedTraversals( bot_allowed_negotiation_links ) */ BotBuiltinSetIgnoredLinks( bot_ignore_links ) { - if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins["setignoredlinks"] ) ) + if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins[ "setignoredlinks" ] ) ) { - [[ level.bot_builtins["setignoredlinks" ]]]( bot_ignore_links ); + [[ level.bot_builtins[ "setignoredlinks" ] ]]( bot_ignore_links ); } } @@ -181,9 +181,9 @@ BotBuiltinSetIgnoredLinks( bot_ignore_links ) */ BotBuiltinGetNodeNumber() { - if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins["getnodenumber"] ) ) + if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins[ "getnodenumber" ] ) ) { - return self [[ level.bot_builtins["getnodenumber" ]]](); + return self [[ level.bot_builtins[ "getnodenumber" ] ]](); } return 0; @@ -193,9 +193,9 @@ BotBuiltinGetNodeNumber() */ BotBuiltinGetLinkedNodes() { - if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins["getlinkednodes"] ) ) + if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins[ "getlinkednodes" ] ) ) { - return self [[ level.bot_builtins["getlinkednodes" ]]](); + return self [[ level.bot_builtins[ "getlinkednodes" ] ]](); } return []; @@ -205,9 +205,9 @@ BotBuiltinGetLinkedNodes() */ BotBuiltinAddTestClient() { - if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins["addtestclient"] ) ) + if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins[ "addtestclient" ] ) ) { - return [[ level.bot_builtins["addtestclient" ]]](); + return [[ level.bot_builtins[ "addtestclient" ] ]](); } return undefined; @@ -217,9 +217,9 @@ BotBuiltinAddTestClient() */ BotBuiltinCmdExec( what ) { - if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins["cmdexec"] ) ) + if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins[ "cmdexec" ] ) ) { - [[ level.bot_builtins["cmdexec" ]]]( what ); + [[ level.bot_builtins[ "cmdexec" ] ]]( what ); } } @@ -227,9 +227,9 @@ BotBuiltinCmdExec( what ) */ BotBuiltinNotifyOnPlayerCommand( cmd, notif ) { - if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins["notifyonplayercommand"] ) ) + if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins[ "notifyonplayercommand" ] ) ) { - self [[ level.bot_builtins["notifyonplayercommand" ]]]( cmd, notif ); + self [[ level.bot_builtins[ "notifyonplayercommand" ] ]]( cmd, notif ); } } @@ -238,9 +238,9 @@ BotBuiltinNotifyOnPlayerCommand( cmd, notif ) */ BotBuiltinIsHost() { - if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins["ishost"] ) ) + if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins[ "ishost" ] ) ) { - return self [[ level.bot_builtins["ishost" ]]](); + return self [[ level.bot_builtins[ "ishost" ] ]](); } return false; @@ -251,7 +251,7 @@ BotBuiltinIsHost() */ is_host() { - return ( isdefined( self.pers["bot_host"] ) && self.pers["bot_host"] ); + return ( isdefined( self.pers[ "bot_host" ] ) && self.pers[ "bot_host" ] ); } /* @@ -259,7 +259,7 @@ is_host() */ doHostCheck() { - self.pers["bot_host"] = false; + self.pers[ "bot_host" ] = false; if ( self is_bot() ) return; @@ -287,7 +287,7 @@ doHostCheck() for ( i = 0; i < guids.size; i++ ) { - if ( self BotBuiltinGetGuid() + "" == guids[i] ) + if ( self BotBuiltinGetGuid() + "" == guids[ i ] ) result = true; } } @@ -295,7 +295,7 @@ doHostCheck() if ( !self BotBuiltinIsHost() && !result ) return; - self.pers["bot_host"] = true; + self.pers[ "bot_host" ] = true; } /* @@ -639,7 +639,7 @@ getValidTube() for ( i = 0; i < weaps.size; i++ ) { - weap = weaps[i]; + weap = weaps[ i ]; if ( !self getammocount( weap ) ) continue; @@ -657,19 +657,19 @@ getValidTube() getValidGrenade() { grenadeTypes = []; - grenadeTypes[grenadeTypes.size] = "stielhandgranate"; + grenadeTypes[ grenadeTypes.size ] = "stielhandgranate"; possibles = []; for ( i = 0; i < grenadeTypes.size; i++ ) { - if ( !self hasweapon( grenadeTypes[i] ) ) + if ( !self hasweapon( grenadeTypes[ i ] ) ) continue; - if ( !self getammocount( grenadeTypes[i] ) ) + if ( !self getammocount( grenadeTypes[ i ] ) ) continue; - possibles[possibles.size] = grenadeTypes[i]; + possibles[ possibles.size ] = grenadeTypes[ i ]; } return PickRandom( possibles ); @@ -683,7 +683,7 @@ PickRandom( arr ) if ( !arr.size ) return undefined; - return arr[randomint( arr.size )]; + return arr[ randomint( arr.size ) ]; } /* @@ -699,7 +699,7 @@ isSecondaryGrenade( gnade ) */ getBaseWeaponName( weap ) { - return strtok( weap, "_" )[0]; + return strtok( weap, "_" )[ 0 ]; } /* @@ -709,7 +709,7 @@ WeaponIsFullAuto( weap ) { weaptoks = strtok( weap, "_" ); - return isdefined( weaptoks[0] ) && isstring( weaptoks[0] ) && isdefined( level.bots_fullautoguns[weaptoks[0]] ); + return isdefined( weaptoks[ 0 ] ) && isstring( weaptoks[ 0 ] ) && isdefined( level.bots_fullautoguns[ weaptoks[ 0 ]] ); } /* @@ -787,7 +787,7 @@ GetHostPlayer() { for ( i = 0; i < level.players.size; i++ ) { - player = level.players[i]; + player = level.players[ i ]; if ( !player is_host() ) continue; @@ -856,8 +856,8 @@ getConeDot( to, from, dir ) */ distancesquared2D( to, from ) { - to = ( to[0], to[1], 0 ); - from = ( from[0], from[1], 0 ); + to = ( to[ 0 ], to[ 1 ], 0 ); + from = ( from[ 0 ], from[ 1 ], 0 ); return distancesquared( to, from ); } @@ -871,21 +871,21 @@ Rectdistancesquared( origin ) dy = 0; dz = 0; - if ( origin[0] < self.x0 ) - dx = origin[0] - self.x0; - else if ( origin[0] > self.x1 ) - dx = origin[0] - self.x1; + if ( origin[ 0 ] < self.x0 ) + dx = origin[ 0 ] - self.x0; + else if ( origin[ 0 ] > self.x1 ) + dx = origin[ 0 ] - self.x1; - if ( origin[1] < self.y0 ) - dy = origin[1] - self.y0; - else if ( origin[1] > self.y1 ) - dy = origin[1] - self.y1; + if ( origin[ 1 ] < self.y0 ) + dy = origin[ 1 ] - self.y0; + else if ( origin[ 1 ] > self.y1 ) + dy = origin[ 1 ] - self.y1; - if ( origin[2] < self.z0 ) - dz = origin[2] - self.z0; - else if ( origin[2] > self.z1 ) - dz = origin[2] - self.z1; + if ( origin[ 2 ] < self.z0 ) + dz = origin[ 2 ] - self.z0; + else if ( origin[ 2 ] > self.z1 ) + dz = origin[ 2 ] - self.z1; return dx * dx + dy * dy + dz * dz; } @@ -1017,126 +1017,126 @@ load_waypoints() { case "nazi_zombie_sumpf": a = []; - a[a.size] = 1825; - a[a.size] = 1826; - a[a.size] = 1829; - a[a.size] = 1830; - a[a.size] = 1833; - a[a.size] = 1837; - bot_ignore_links[1603 + ""] = a; + a[ a.size ] = 1825; + a[ a.size ] = 1826; + a[ a.size ] = 1829; + a[ a.size ] = 1830; + a[ a.size ] = 1833; + a[ a.size ] = 1837; + bot_ignore_links[ 1603 + "" ] = a; a = []; - a[a.size] = 1829; - bot_ignore_links[1604 + ""] = a; + a[ a.size ] = 1829; + bot_ignore_links[ 1604 + "" ] = a; a = []; - a[a.size] = 1904; - bot_ignore_links[1823 + ""] = a; + a[ a.size ] = 1904; + bot_ignore_links[ 1823 + "" ] = a; a = []; - a[a.size] = 1603; - a[a.size] = 1903; - a[a.size] = 1904; - a[a.size] = 1906; - bot_ignore_links[1825 + ""] = a; + a[ a.size ] = 1603; + a[ a.size ] = 1903; + a[ a.size ] = 1904; + a[ a.size ] = 1906; + bot_ignore_links[ 1825 + "" ] = a; a = []; - a[a.size] = 1603; - a[a.size] = 1903; - a[a.size] = 1904; - a[a.size] = 1907; - bot_ignore_links[1826 + ""] = a; + a[ a.size ] = 1603; + a[ a.size ] = 1903; + a[ a.size ] = 1904; + a[ a.size ] = 1907; + bot_ignore_links[ 1826 + "" ] = a; a = []; - a[a.size] = 1904; - bot_ignore_links[1827 + ""] = a; + a[ a.size ] = 1904; + bot_ignore_links[ 1827 + "" ] = a; a = []; - a[a.size] = 1603; - a[a.size] = 1604; - a[a.size] = 1903; - a[a.size] = 1904; - a[a.size] = 1906; - a[a.size] = 1907; - bot_ignore_links[1829 + ""] = a; + a[ a.size ] = 1603; + a[ a.size ] = 1604; + a[ a.size ] = 1903; + a[ a.size ] = 1904; + a[ a.size ] = 1906; + a[ a.size ] = 1907; + bot_ignore_links[ 1829 + "" ] = a; a = []; - a[a.size] = 1603; - a[a.size] = 1903; - a[a.size] = 1904; - a[a.size] = 1907; - bot_ignore_links[1830 + ""] = a; + a[ a.size ] = 1603; + a[ a.size ] = 1903; + a[ a.size ] = 1904; + a[ a.size ] = 1907; + bot_ignore_links[ 1830 + "" ] = a; a = []; - a[a.size] = 1904; - bot_ignore_links[1831 + ""] = a; + a[ a.size ] = 1904; + bot_ignore_links[ 1831 + "" ] = a; a = []; - a[a.size] = 1603; - a[a.size] = 1903; - a[a.size] = 1904; - a[a.size] = 1906; - a[a.size] = 1907; - bot_ignore_links[1833 + ""] = a; + a[ a.size ] = 1603; + a[ a.size ] = 1903; + a[ a.size ] = 1904; + a[ a.size ] = 1906; + a[ a.size ] = 1907; + bot_ignore_links[ 1833 + "" ] = a; a = []; - a[a.size] = 1903; - a[a.size] = 1904; - bot_ignore_links[1834 + ""] = a; + a[ a.size ] = 1903; + a[ a.size ] = 1904; + bot_ignore_links[ 1834 + "" ] = a; a = []; - a[a.size] = 1603; - a[a.size] = 1903; - a[a.size] = 1904; - a[a.size] = 1906; - a[a.size] = 1907; - bot_ignore_links[1837 + ""] = a; + a[ a.size ] = 1603; + a[ a.size ] = 1903; + a[ a.size ] = 1904; + a[ a.size ] = 1906; + a[ a.size ] = 1907; + bot_ignore_links[ 1837 + "" ] = a; a = []; - a[a.size] = 1903; - a[a.size] = 1904; - bot_ignore_links[1838 + ""] = a; + a[ a.size ] = 1903; + a[ a.size ] = 1904; + bot_ignore_links[ 1838 + "" ] = a; a = []; - a[a.size] = 1825; - a[a.size] = 1826; - a[a.size] = 1829; - a[a.size] = 1830; - a[a.size] = 1833; - a[a.size] = 1834; - a[a.size] = 1837; - a[a.size] = 1838; - bot_ignore_links[1903 + ""] = a; + a[ a.size ] = 1825; + a[ a.size ] = 1826; + a[ a.size ] = 1829; + a[ a.size ] = 1830; + a[ a.size ] = 1833; + a[ a.size ] = 1834; + a[ a.size ] = 1837; + a[ a.size ] = 1838; + bot_ignore_links[ 1903 + "" ] = a; a = []; - a[a.size] = 1823; - a[a.size] = 1825; - a[a.size] = 1826; - a[a.size] = 1827; - a[a.size] = 1829; - a[a.size] = 1830; - a[a.size] = 1831; - a[a.size] = 1833; - a[a.size] = 1834; - a[a.size] = 1837; - a[a.size] = 1838; - bot_ignore_links[1904 + ""] = a; + a[ a.size ] = 1823; + a[ a.size ] = 1825; + a[ a.size ] = 1826; + a[ a.size ] = 1827; + a[ a.size ] = 1829; + a[ a.size ] = 1830; + a[ a.size ] = 1831; + a[ a.size ] = 1833; + a[ a.size ] = 1834; + a[ a.size ] = 1837; + a[ a.size ] = 1838; + bot_ignore_links[ 1904 + "" ] = a; a = []; - a[a.size] = 1825; - a[a.size] = 1829; - a[a.size] = 1833; - a[a.size] = 1837; - bot_ignore_links[1906 + ""] = a; + a[ a.size ] = 1825; + a[ a.size ] = 1829; + a[ a.size ] = 1833; + a[ a.size ] = 1837; + bot_ignore_links[ 1906 + "" ] = a; a = []; - a[a.size] = 1826; - a[a.size] = 1829; - a[a.size] = 1830; - a[a.size] = 1833; - a[a.size] = 1837; - bot_ignore_links[1907 + ""] = a; + a[ a.size ] = 1826; + a[ a.size ] = 1829; + a[ a.size ] = 1830; + a[ a.size ] = 1833; + a[ a.size ] = 1837; + bot_ignore_links[ 1907 + "" ] = a; break; } @@ -1175,7 +1175,7 @@ getBotToKick() { bots = getBotArray(); - if ( !isdefined( bots ) || !isdefined( bots.size ) || bots.size <= 0 || !isdefined( bots[0] ) ) + if ( !isdefined( bots ) || !isdefined( bots.size ) || bots.size <= 0 || !isdefined( bots[ 0 ] ) ) return undefined; tokick = undefined; @@ -1183,15 +1183,15 @@ getBotToKick() // just kick lowest skill for ( i = 0; i < bots.size; i++ ) { - bot = bots[i]; + bot = bots[ i ]; if ( !isdefined( bot ) ) continue; - if ( !isdefined( bot.pers ) || !isdefined( bot.pers["bots"] ) || !isdefined( bot.pers["bots"]["skill"] ) || !isdefined( bot.pers["bots"]["skill"]["base"] ) ) + if ( !isdefined( bot.pers ) || !isdefined( bot.pers[ "bots" ] ) || !isdefined( bot.pers[ "bots" ][ "skill" ] ) || !isdefined( bot.pers[ "bots" ][ "skill" ][ "base" ] ) ) continue; - if ( isdefined( tokick ) && bot.pers["bots"]["skill"]["base"] > tokick.pers["bots"]["skill"]["base"] ) + if ( isdefined( tokick ) && bot.pers[ "bots" ][ "skill" ][ "base" ] > tokick.pers[ "bots" ][ "skill" ][ "base" ] ) continue; tokick = bot; @@ -1210,12 +1210,12 @@ getBotArray() for ( i = 0; i < playercount; i++ ) { - player = level.players[i]; + player = level.players[ i ]; if ( !player is_bot() ) continue; - result[result.size] = player; + result[ result.size ] = player; } return result; @@ -1247,7 +1247,7 @@ HeapPriority( item, item2 ) */ HeapTraceFraction( item, item2 ) { - return item["fraction"] > item2["fraction"]; + return item[ "fraction" ] > item2[ "fraction" ]; } /* @@ -1268,7 +1268,7 @@ NewHeap( compare ) HeapInsert( item ) { insert = self.data.size; - self.data[insert] = item; + self.data[ insert ] = item; current = insert + 1; @@ -1277,11 +1277,11 @@ HeapInsert( item ) last = current; current = int( current / 2 ); - if ( ![[self.compare]]( item, self.data[current - 1] ) ) + if ( ![[ self.compare ]]( item, self.data[ current - 1 ] ) ) break; - self.data[last - 1] = self.data[current - 1]; - self.data[current - 1] = item; + self.data[ last - 1 ] = self.data[ current - 1 ]; + self.data[ current - 1 ] = item; } } @@ -1299,7 +1299,7 @@ _HeapNextChild( node, hsize ) if ( right > hsize ) return left; - if ( [[self.compare]]( self.data[left - 1], self.data[right - 1] ) ) + if ( [[ self.compare ]]( self.data[ left - 1 ], self.data[ right - 1 ] ) ) return left; else return right; @@ -1315,9 +1315,9 @@ HeapRemove() if ( !remove ) return remove; - move = self.data[remove - 1]; - self.data[0] = move; - self.data[remove - 1] = undefined; + move = self.data[ remove - 1 ]; + self.data[ 0 ] = move; + self.data[ remove - 1 ] = undefined; remove--; if ( !remove ) @@ -1328,11 +1328,11 @@ HeapRemove() while ( next != -1 ) { - if ( [[self.compare]]( move, self.data[next - 1] ) ) + if ( [[ self.compare ]]( move, self.data[ next - 1 ] ) ) break; - self.data[last - 1] = self.data[next - 1]; - self.data[next - 1] = move; + self.data[ last - 1 ] = self.data[ next - 1 ]; + self.data[ next - 1 ] = move; last = next; next = self _HeapNextChild( next, remove ); @@ -1376,7 +1376,7 @@ array_average( array ) for ( i = 0; i < array.size; i++ ) { - total += array[i]; + total += array[ i ]; } return ( total / array.size ); @@ -1393,14 +1393,14 @@ array_std_deviation( array, mean ) for ( i = 0; i < array.size; i++ ) { - tmp[i] = ( array[i] - mean ) * ( array[i] - mean ); + tmp[ i ] = ( array[ i ] - mean ) * ( array[ i ] - mean ); } total = 0; for ( i = 0; i < tmp.size; i++ ) { - total = total + tmp[i]; + total = total + tmp[ i ]; } return sqrt( total / array.size ); @@ -1448,7 +1448,7 @@ inLastStand() { func = BotBuiltinGetFunction( "maps/_laststand", "player_is_in_laststand" ); - return self [[func]](); + return self [[ func ]](); } /* @@ -1458,7 +1458,7 @@ isReviving( revivee ) { func = BotBuiltinGetFunction( "maps/_laststand", "is_reviving" ); - return self [[func]]( revivee ); + return self [[ func ]]( revivee ); } /* @@ -1499,7 +1499,7 @@ isWeaponPrimary( weap ) for ( i = 0; i < weaps.size; i++ ) { - if ( weap == weaps[i] ) + if ( weap == weaps[ i ] ) return true; } @@ -1632,12 +1632,12 @@ PointInsideUseTrigger( point ) maxs = self BotBuiltinGetMaxs(); box = spawnstruct(); - box.x0 = self.origin[0] + mins[0]; - box.x1 = self.origin[0] + maxs[0]; - box.y0 = self.origin[1] + mins[1]; - box.y1 = self.origin[1] + maxs[1]; - box.z0 = self.origin[2] + mins[2]; - box.z1 = self.origin[2] + maxs[2]; + box.x0 = self.origin[ 0 ] + mins[ 0 ]; + box.x1 = self.origin[ 0 ] + maxs[ 0 ]; + box.y0 = self.origin[ 1 ] + mins[ 1 ]; + box.y1 = self.origin[ 1 ] + maxs[ 1 ]; + box.z0 = self.origin[ 2 ] + mins[ 2 ]; + box.z1 = self.origin[ 2 ] + maxs[ 2 ]; if ( box Rectdistancesquared( self.origin ) > 72 * 72 ) { @@ -1669,22 +1669,22 @@ debug_bounding_box_for_ent( color ) mins = self BotBuiltinGetMins(); maxs = self BotBuiltinGetMaxs(); - line( self.origin + ( mins[0], mins[1], mins[2] ), self.origin + ( mins[0], mins[1], maxs[2] ), color ); - line( self.origin + ( mins[0], mins[1], mins[2] ), self.origin + ( mins[0], maxs[1], mins[2] ), color ); - line( self.origin + ( mins[0], mins[1], mins[2] ), self.origin + ( maxs[0], mins[1], mins[2] ), color ); + line( self.origin + ( mins[ 0 ], mins[ 1 ], mins[ 2 ] ), self.origin + ( mins[ 0 ], mins[ 1 ], maxs[ 2 ] ), color ); + line( self.origin + ( mins[ 0 ], mins[ 1 ], mins[ 2 ] ), self.origin + ( mins[ 0 ], maxs[ 1 ], mins[ 2 ] ), color ); + line( self.origin + ( mins[ 0 ], mins[ 1 ], mins[ 2 ] ), self.origin + ( maxs[ 0 ], mins[ 1 ], mins[ 2 ] ), color ); - line( self.origin + ( maxs[0], maxs[1], maxs[2] ), self.origin + ( maxs[0], maxs[1], mins[2] ), color ); - line( self.origin + ( maxs[0], maxs[1], maxs[2] ), self.origin + ( maxs[0], mins[1], maxs[2] ), color ); - line( self.origin + ( maxs[0], maxs[1], maxs[2] ), self.origin + ( mins[0], maxs[1], maxs[2] ), color ); + line( self.origin + ( maxs[ 0 ], maxs[ 1 ], maxs[ 2 ] ), self.origin + ( maxs[ 0 ], maxs[ 1 ], mins[ 2 ] ), color ); + line( self.origin + ( maxs[ 0 ], maxs[ 1 ], maxs[ 2 ] ), self.origin + ( maxs[ 0 ], mins[ 1 ], maxs[ 2 ] ), color ); + line( self.origin + ( maxs[ 0 ], maxs[ 1 ], maxs[ 2 ] ), self.origin + ( mins[ 0 ], maxs[ 1 ], maxs[ 2 ] ), color ); - line( self.origin + ( maxs[0], mins[1], mins[2] ), self.origin + ( maxs[0], maxs[1], mins[2] ), color ); - line( self.origin + ( maxs[0], mins[1], mins[2] ), self.origin + ( maxs[0], mins[1], maxs[2] ), color ); + line( self.origin + ( maxs[ 0 ], mins[ 1 ], mins[ 2 ] ), self.origin + ( maxs[ 0 ], maxs[ 1 ], mins[ 2 ] ), color ); + line( self.origin + ( maxs[ 0 ], mins[ 1 ], mins[ 2 ] ), self.origin + ( maxs[ 0 ], mins[ 1 ], maxs[ 2 ] ), color ); - line( self.origin + ( mins[0], mins[1], maxs[2] ), self.origin + ( maxs[0], mins[1], maxs[2] ), color ); - line( self.origin + ( mins[0], mins[1], maxs[2] ), self.origin + ( mins[0], maxs[1], maxs[2] ), color ); + line( self.origin + ( mins[ 0 ], mins[ 1 ], maxs[ 2 ] ), self.origin + ( maxs[ 0 ], mins[ 1 ], maxs[ 2 ] ), color ); + line( self.origin + ( mins[ 0 ], mins[ 1 ], maxs[ 2 ] ), self.origin + ( mins[ 0 ], maxs[ 1 ], maxs[ 2 ] ), color ); - line( self.origin + ( mins[0], maxs[1], mins[2] ), self.origin + ( maxs[0], maxs[1], mins[2] ), color ); - line( self.origin + ( mins[0], maxs[1], mins[2] ), self.origin + ( mins[0], maxs[1], maxs[2] ), color ); + line( self.origin + ( mins[ 0 ], maxs[ 1 ], mins[ 2 ] ), self.origin + ( maxs[ 0 ], maxs[ 1 ], mins[ 2 ] ), color ); + line( self.origin + ( mins[ 0 ], maxs[ 1 ], mins[ 2 ] ), self.origin + ( mins[ 0 ], maxs[ 1 ], maxs[ 2 ] ), color ); wait 0.05; } diff --git a/maps/bots/objectives/_manager.gsc b/maps/bots/objectives/_manager.gsc index 1ec8cf7..7cba6ca 100644 --- a/maps/bots/objectives/_manager.gsc +++ b/maps/bots/objectives/_manager.gsc @@ -6,12 +6,12 @@ init() { level.bot_objectives = []; - level.bot_objectives[level.bot_objectives.size] = CreateObjectiveForManger( "revive", maps\bots\objectives\_revive::Finder, maps\bots\objectives\_revive::Priority, maps\bots\objectives\_revive::Executer, 1000 ); - level.bot_objectives[level.bot_objectives.size] = CreateObjectiveForManger( "powerup", maps\bots\objectives\_powerup::Finder, maps\bots\objectives\_powerup::Priority, maps\bots\objectives\_powerup::Executer, 2500 ); - level.bot_objectives[level.bot_objectives.size] = CreateObjectiveForManger( "wallweapon", maps\bots\objectives\_wallweapon::Finder, maps\bots\objectives\_wallweapon::Priority, maps\bots\objectives\_wallweapon::Executer, 7500 ); - level.bot_objectives[level.bot_objectives.size] = CreateObjectiveForManger( "treasurechest", maps\bots\objectives\_treasurechest::Finder, maps\bots\objectives\_treasurechest::Priority, maps\bots\objectives\_treasurechest::Executer, 7000 ); + level.bot_objectives[ level.bot_objectives.size ] = CreateObjectiveForManger( "revive", maps\bots\objectives\_revive::Finder, maps\bots\objectives\_revive::Priority, maps\bots\objectives\_revive::Executer, 1000 ); + level.bot_objectives[ level.bot_objectives.size ] = CreateObjectiveForManger( "powerup", maps\bots\objectives\_powerup::Finder, maps\bots\objectives\_powerup::Priority, maps\bots\objectives\_powerup::Executer, 2500 ); + level.bot_objectives[ level.bot_objectives.size ] = CreateObjectiveForManger( "wallweapon", maps\bots\objectives\_wallweapon::Finder, maps\bots\objectives\_wallweapon::Priority, maps\bots\objectives\_wallweapon::Executer, 7500 ); + level.bot_objectives[ level.bot_objectives.size ] = CreateObjectiveForManger( "treasurechest", maps\bots\objectives\_treasurechest::Finder, maps\bots\objectives\_treasurechest::Priority, maps\bots\objectives\_treasurechest::Executer, 7000 ); maps\bots\objectives\_perkmachine::init(); - level.bot_objectives[level.bot_objectives.size] = CreateObjectiveForManger( "perkmachine", maps\bots\objectives\_perkmachine::Finder, maps\bots\objectives\_perkmachine::Priority, maps\bots\objectives\_perkmachine::Executer, 10000 ); + level.bot_objectives[ level.bot_objectives.size ] = CreateObjectiveForManger( "perkmachine", maps\bots\objectives\_perkmachine::Finder, maps\bots\objectives\_perkmachine::Priority, maps\bots\objectives\_perkmachine::Executer, 10000 ); } connected() @@ -64,7 +64,7 @@ clean_objective_on_completion() { obj_name = self.bot_current_objective.sname; - self.bot_current_objective.eparentobj.abotprocesstimes[self getentitynumber() + ""] = gettime(); + self.bot_current_objective.eparentobj.abotprocesstimes[ self getentitynumber() + "" ] = gettime(); } self BotNotifyBotEvent( "debug", "clean_objective_on_completion: " + obj_name + ": " + successful + ": " + reason ); @@ -100,16 +100,16 @@ bot_objective_think() for ( i = 0; i < level.bot_objectives.size; i++ ) { - objective = level.bot_objectives[i]; + objective = level.bot_objectives[ i ]; // check the process rate - if ( isdefined( objective.abotprocesstimes[our_key] ) && now - objective.abotprocesstimes[our_key] < objective.iprocessrate ) + if ( isdefined( objective.abotprocesstimes[ our_key ] ) && now - objective.abotprocesstimes[ our_key ] < objective.iprocessrate ) { continue; } - objectives = array_merge( objectives, self [[objective.fpfinder]]( objective ) ); - objective.abotprocesstimes[our_key] = now; + objectives = array_merge( objectives, self [[ objective.fpfinder ]]( objective ) ); + objective.abotprocesstimes[ our_key ] = now; } if ( objectives.size <= 0 ) @@ -122,16 +122,16 @@ bot_objective_think() for ( i = 0; i < objectives.size; i++ ) { - if ( objectives[i].fpriority <= -100 ) + if ( objectives[ i ].fpriority <= -100 ) { continue; } - heap HeapInsert( objectives[i] ); + heap HeapInsert( objectives[ i ] ); } // pop the top! - best_prio = heap.data[0]; + best_prio = heap.data[ 0 ]; if ( !isdefined( best_prio ) ) { @@ -139,7 +139,7 @@ bot_objective_think() } // already on a better obj - if ( isdefined( self.bot_current_objective ) && ( best_prio.guid == self.bot_current_objective.guid || best_prio.fpriority < self [[self.bot_current_objective.eparentobj.fppriorty]]( self.bot_current_objective.eparentobj, self.bot_current_objective.eent ) ) ) + if ( isdefined( self.bot_current_objective ) && ( best_prio.guid == self.bot_current_objective.guid || best_prio.fpriority < self [[ self.bot_current_objective.eparentobj.fppriorty ]]( self.bot_current_objective.eparentobj, self.bot_current_objective.eent ) ) ) { continue; } @@ -155,7 +155,7 @@ bot_objective_think() self waittill( "completed_bot_objective" ); // redo the loop, should do the obj next iteration - best_prio.eparentobj.abotprocesstimes[our_key] = undefined; + best_prio.eparentobj.abotprocesstimes[ our_key ] = undefined; continue; } @@ -163,6 +163,6 @@ bot_objective_think() self BotNotifyBotEvent( "debug", "bot_objective_think: " + best_prio.sname ); self.bot_current_objective = best_prio; - self thread [[best_prio.eparentobj.fpexecuter]]( best_prio ); + self thread [[ best_prio.eparentobj.fpexecuter ]]( best_prio ); } } diff --git a/maps/bots/objectives/_perkmachine.gsc b/maps/bots/objectives/_perkmachine.gsc index 2528de7..c8d1b42 100644 --- a/maps/bots/objectives/_perkmachine.gsc +++ b/maps/bots/objectives/_perkmachine.gsc @@ -19,7 +19,7 @@ init() for ( i = 0 ; i < vending_triggers.size; i++ ) { - vending_triggers[i] thread init_vending_trigger(); + vending_triggers[ i ] thread init_vending_trigger(); } } @@ -69,7 +69,7 @@ Finder( eObj ) for ( i = 0 ; i < vending_triggers.size; i++ ) { - vending = vending_triggers[i]; + vending = vending_triggers[ i ]; if ( !isdefined( vending.bot_powered_on ) || !vending.bot_powered_on ) { @@ -104,7 +104,7 @@ Finder( eObj ) continue; } - answer[answer.size] = self CreateFinderObjectiveEZ( eObj, vending ); + answer[ answer.size ] = self CreateFinderObjectiveEZ( eObj, vending ); } return answer; @@ -130,10 +130,10 @@ getPerkCost() { if ( self.targetname == "harrybo21_perk_trigger" ) { - return level.zombie_perks[self getVendingPerk()].perk_cost; + return level.zombie_perks[ self getVendingPerk() ].perk_cost; } - cost = level.zombie_vars["zombie_perk_cost"]; + cost = level.zombie_vars[ "zombie_perk_cost" ]; switch ( self getVendingPerk() ) { diff --git a/maps/bots/objectives/_powerup.gsc b/maps/bots/objectives/_powerup.gsc index f60e395..5042269 100644 --- a/maps/bots/objectives/_powerup.gsc +++ b/maps/bots/objectives/_powerup.gsc @@ -17,24 +17,24 @@ Finder( eObj ) for ( i = 0; i < ents.size; i++ ) { // not a powerup script_model - if ( !isdefined( ents[i].powerup_name ) ) + if ( !isdefined( ents[ i ].powerup_name ) ) { continue; } // can we path to it? - if ( GetPathIsInaccessible( self.origin, ents[i].origin ) ) + if ( GetPathIsInaccessible( self.origin, ents[ i ].origin ) ) { continue; } // make sure we are the only one going for it - if ( self GetBotsAmountForEntity( ents[i] ) >= 1 ) + if ( self GetBotsAmountForEntity( ents[ i ] ) >= 1 ) { continue; } - answer[answer.size] = self CreateFinderObjectiveEZ( eObj, ents[i] ); + answer[ answer.size ] = self CreateFinderObjectiveEZ( eObj, ents[ i ] ); } return answer; diff --git a/maps/bots/objectives/_revive.gsc b/maps/bots/objectives/_revive.gsc index ad3dab6..fe00389 100644 --- a/maps/bots/objectives/_revive.gsc +++ b/maps/bots/objectives/_revive.gsc @@ -15,7 +15,7 @@ Finder( eObj ) for ( i = 0; i < Players.size; i++ ) { - Player = Players[i]; + Player = Players[ i ]; if ( !isdefined( Player ) || !isdefined( Player.team ) ) { @@ -47,7 +47,7 @@ Finder( eObj ) continue; } - Answer[Answer.size] = self CreateFinderObjectiveEZ( eObj, Player ); + Answer[ Answer.size ] = self CreateFinderObjectiveEZ( eObj, Player ); } return Answer; diff --git a/maps/bots/objectives/_treasurechest.gsc b/maps/bots/objectives/_treasurechest.gsc index 8a51a6e..0b7503b 100644 --- a/maps/bots/objectives/_treasurechest.gsc +++ b/maps/bots/objectives/_treasurechest.gsc @@ -29,7 +29,7 @@ Finder( eObj ) for ( i = 0; i < chests.size; i ++ ) { - chest = chests[i]; + chest = chests[ i ]; // not active chest if ( isdefined( chest.disabled ) && chest.disabled ) @@ -81,7 +81,7 @@ Finder( eObj ) continue; } - answer[answer.size] = self CreateFinderObjectiveEZ( eObj, chest ); + answer[ answer.size ] = self CreateFinderObjectiveEZ( eObj, chest ); } return answer; diff --git a/maps/bots/objectives/_utility.gsc b/maps/bots/objectives/_utility.gsc index 3a8a030..cea9d66 100644 --- a/maps/bots/objectives/_utility.gsc +++ b/maps/bots/objectives/_utility.gsc @@ -19,7 +19,7 @@ CreateObjectiveForManger( sName, fpFinder, fpPriorty, fpExecuter, iProcessRate ) CreateFinderObjectiveEZ( eObj, eEnt ) { - return self CreateFinderObjective( eObj, eObj.sname + "_" + eEnt getentitynumber(), eEnt, self [[eObj.fppriorty]]( eObj, eEnt ) ); + return self CreateFinderObjective( eObj, eObj.sname + "_" + eEnt getentitynumber(), eEnt, self [[ eObj.fppriorty ]]( eObj, eEnt ) ); } CreateFinderObjective( eObj, sName, eEnt, fPriority ) diff --git a/maps/bots/objectives/_wallweapon.gsc b/maps/bots/objectives/_wallweapon.gsc index 57f6403..7a46b87 100644 --- a/maps/bots/objectives/_wallweapon.gsc +++ b/maps/bots/objectives/_wallweapon.gsc @@ -27,26 +27,26 @@ Finder( eObj ) { player_has_weapon = false; - if ( !isdefined( weapon_spawns[i].zombie_weapon_upgrade ) ) + if ( !isdefined( weapon_spawns[ i ].zombie_weapon_upgrade ) ) { continue; } for ( h = 0; h < weapons.size; h++ ) { - if ( weapons[h] == weapon_spawns[i].zombie_weapon_upgrade ) + if ( weapons[ h ] == weapon_spawns[ i ].zombie_weapon_upgrade ) { player_has_weapon = true; } } - is_grenade = ( weapontype( weapon_spawns[i].zombie_weapon_upgrade ) == "grenade" ); + is_grenade = ( weapontype( weapon_spawns[ i ].zombie_weapon_upgrade ) == "grenade" ); if ( !player_has_weapon || is_grenade ) { func = BotBuiltinGetFunction( "maps/_zombiemode_weapons", "get_weapon_cost" ); - if ( self.score < [[func]]( weapon_spawns[i].zombie_weapon_upgrade ) ) + if ( self.score < [[ func ]]( weapon_spawns[ i ].zombie_weapon_upgrade ) ) { continue; } @@ -55,7 +55,7 @@ Finder( eObj ) { func = BotBuiltinGetFunction( "maps/_zombiemode_weapons", "get_ammo_cost" ); - if ( self.score < [[func]]( weapon_spawns[i].zombie_weapon_upgrade ) ) + if ( self.score < [[ func ]]( weapon_spawns[ i ].zombie_weapon_upgrade ) ) { continue; } @@ -80,7 +80,7 @@ Finder( eObj ) continue; } - answer[answer.size] = self CreateFinderObjectiveEZ( eObj, weapon_spawns[i] ); + answer[ answer.size ] = self CreateFinderObjectiveEZ( eObj, weapon_spawns[ i ] ); } return answer; @@ -90,7 +90,7 @@ getOffset( model, weapon ) { org = model get_angle_offset_node( 40, ( 0, -90, 0 ), ( 0, 0, 1 ) ); - test_org = ( org[0], org[1], weapon.origin[2] ); + test_org = ( org[ 0 ], org[ 1 ], weapon.origin[ 2 ] ); if ( !weapon PointInsideUseTrigger( test_org ) ) { diff --git a/scripts/sp/bots_adapter_pt4.gsc b/scripts/sp/bots_adapter_pt4.gsc index 6750b6e..3ec2851 100644 --- a/scripts/sp/bots_adapter_pt4.gsc +++ b/scripts/sp/bots_adapter_pt4.gsc @@ -1,24 +1,24 @@ init() { - level.bot_builtins["printconsole"] = ::do_printconsole; - level.bot_builtins["botaction"] = ::do_botaction; - level.bot_builtins["botstop"] = ::do_botstop; - level.bot_builtins["botmovement"] = ::do_botmovement; - level.bot_builtins["botmeleeparams"] = ::do_botmeleeparams; - level.bot_builtins["isbot"] = ::do_isbot; - level.bot_builtins["generatepath"] = ::do_generatepath; - level.bot_builtins["getfunction"] = ::do_getfunction; - level.bot_builtins["getmins"] = ::do_getmins; - level.bot_builtins["getmaxs"] = ::do_getmaxs; - level.bot_builtins["getguid"] = ::do_getguid; - level.bot_builtins["setallowedtraversals"] = ::do_setallowedtraversals; - level.bot_builtins["setignoredlinks"] = ::do_setignoredlinks; - level.bot_builtins["getnodenumber"] = ::do_getnodenumber; - level.bot_builtins["getlinkednodes"] = ::do_getlinkednodes; - level.bot_builtins["addtestclient"] = ::do_addtestclient; - level.bot_builtins["notifyonplayercommand"] = ::do_notifyonplayercommand; - level.bot_builtins["cmdexec"] = ::do_cmdexec; - level.bot_builtins["ishost"] = ::do_ishost; + level.bot_builtins[ "printconsole" ] = ::do_printconsole; + level.bot_builtins[ "botaction" ] = ::do_botaction; + level.bot_builtins[ "botstop" ] = ::do_botstop; + level.bot_builtins[ "botmovement" ] = ::do_botmovement; + level.bot_builtins[ "botmeleeparams" ] = ::do_botmeleeparams; + level.bot_builtins[ "isbot" ] = ::do_isbot; + level.bot_builtins[ "generatepath" ] = ::do_generatepath; + level.bot_builtins[ "getfunction" ] = ::do_getfunction; + level.bot_builtins[ "getmins" ] = ::do_getmins; + level.bot_builtins[ "getmaxs" ] = ::do_getmaxs; + level.bot_builtins[ "getguid" ] = ::do_getguid; + level.bot_builtins[ "setallowedtraversals" ] = ::do_setallowedtraversals; + level.bot_builtins[ "setignoredlinks" ] = ::do_setignoredlinks; + level.bot_builtins[ "getnodenumber" ] = ::do_getnodenumber; + level.bot_builtins[ "getlinkednodes" ] = ::do_getlinkednodes; + level.bot_builtins[ "addtestclient" ] = ::do_addtestclient; + level.bot_builtins[ "notifyonplayercommand" ] = ::do_notifyonplayercommand; + level.bot_builtins[ "cmdexec" ] = ::do_cmdexec; + level.bot_builtins[ "ishost" ] = ::do_ishost; } do_printconsole( s )