mirror of
https://github.com/ineedbots/t5_bot_warfare.git
synced 2025-04-19 16:32:53 +00:00
case sensitive
This commit is contained in:
parent
bbc83ce54e
commit
7105b397c3
@ -17,11 +17,11 @@ bot_give_loadout()
|
||||
{
|
||||
self bot_giveKillstreaks();
|
||||
|
||||
self clearPerks();
|
||||
self clearperks();
|
||||
|
||||
self SetPlayerRenderOptions( int( self.pers[ "bot" ][ "class_render_opts" ] ) );
|
||||
self setplayerrenderoptions( int( self.pers[ "bot" ][ "class_render_opts" ] ) );
|
||||
|
||||
if ( !isDefined( self.bot ) )
|
||||
if ( !isdefined( self.bot ) )
|
||||
{
|
||||
self.bot = [];
|
||||
}
|
||||
@ -30,7 +30,7 @@ bot_give_loadout()
|
||||
self.bot[ "specialty2" ] = "specialty_null";
|
||||
self.bot[ "specialty3" ] = "specialty_null";
|
||||
|
||||
if ( self.pers[ "bot" ][ "class_perk1" ] != "" && GetDvarInt( #"scr_game_perks" ) )
|
||||
if ( self.pers[ "bot" ][ "class_perk1" ] != "" && getdvarint( #"scr_game_perks" ) )
|
||||
{
|
||||
self.bot[ "specialty1" ] = self.pers[ "bot" ][ "class_perk1" ];
|
||||
|
||||
@ -39,7 +39,7 @@ bot_give_loadout()
|
||||
|
||||
for ( i = 0; i < tokens.size; i++ )
|
||||
{
|
||||
self setPerk( tokens[ i ] );
|
||||
self setperk( tokens[ i ] );
|
||||
}
|
||||
}
|
||||
|
||||
@ -78,7 +78,7 @@ bot_give_loadout()
|
||||
|
||||
self maps\mp\gametypes\_class::initstaticweaponstime();
|
||||
|
||||
if ( self.pers[ "bot" ][ "class_perk2" ] != "" && GetDvarInt( #"scr_game_perks" ) )
|
||||
if ( self.pers[ "bot" ][ "class_perk2" ] != "" && getdvarint( #"scr_game_perks" ) )
|
||||
{
|
||||
self.bot[ "specialty2" ] = self.pers[ "bot" ][ "class_perk2" ];
|
||||
|
||||
@ -87,11 +87,11 @@ bot_give_loadout()
|
||||
|
||||
for ( i = 0; i < tokens.size; i++ )
|
||||
{
|
||||
self setPerk( tokens[ i ] );
|
||||
self setperk( tokens[ i ] );
|
||||
}
|
||||
}
|
||||
|
||||
if ( self.pers[ "bot" ][ "class_perk3" ] != "" && GetDvarInt( #"scr_game_perks" ) )
|
||||
if ( self.pers[ "bot" ][ "class_perk3" ] != "" && getdvarint( #"scr_game_perks" ) )
|
||||
{
|
||||
self.bot[ "specialty3" ] = self.pers[ "bot" ][ "class_perk3" ];
|
||||
|
||||
@ -100,16 +100,16 @@ bot_give_loadout()
|
||||
|
||||
for ( i = 0; i < tokens.size; i++ )
|
||||
{
|
||||
self setPerk( tokens[ i ] );
|
||||
self setperk( tokens[ i ] );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
self takeAllWeapons();
|
||||
self takeallweapons();
|
||||
|
||||
if ( getDvarInt( "bots_play_knife" ) )
|
||||
if ( getdvarint( "bots_play_knife" ) )
|
||||
{
|
||||
self GiveWeapon( "knife_mp" );
|
||||
self giveweapon( "knife_mp" );
|
||||
}
|
||||
|
||||
weap = self.pers[ "bot" ][ "class_primary" ];
|
||||
@ -124,77 +124,77 @@ bot_give_loadout()
|
||||
|
||||
weap = self.pers[ "bot" ][ "class_primary" ];
|
||||
|
||||
if ( GetDvarInt( #"scr_disable_attachments" ) )
|
||||
if ( getdvarint( #"scr_disable_attachments" ) )
|
||||
{
|
||||
weap = self.pers[ "primaryWeapon" ] + "_mp";
|
||||
}
|
||||
|
||||
self GiveWeapon( weap, 0, int( self.pers[ "bot" ][ "class_primary_opts" ] ) );
|
||||
self giveweapon( weap, 0, int( self.pers[ "bot" ][ "class_primary_opts" ] ) );
|
||||
|
||||
if ( self hasPerk( "specialty_extraammo" ) )
|
||||
if ( self hasperk( "specialty_extraammo" ) )
|
||||
{
|
||||
self giveMaxAmmo( weap );
|
||||
self givemaxammo( weap );
|
||||
}
|
||||
|
||||
if ( self.pers[ "bot" ][ "class_secondary" ] != "" )
|
||||
{
|
||||
self GiveWeapon( self.pers[ "bot" ][ "class_secondary" ], 0, int( self.pers[ "bot" ][ "class_secondary_opts" ] ) );
|
||||
self giveweapon( self.pers[ "bot" ][ "class_secondary" ], 0, int( self.pers[ "bot" ][ "class_secondary_opts" ] ) );
|
||||
|
||||
if ( self hasPerk( "specialty_extraammo" ) )
|
||||
if ( self hasperk( "specialty_extraammo" ) )
|
||||
{
|
||||
self giveMaxAmmo( self.pers[ "bot" ][ "class_secondary" ] );
|
||||
self givemaxammo( self.pers[ "bot" ][ "class_secondary" ] );
|
||||
}
|
||||
}
|
||||
|
||||
self SetActionSlot( 3, "altMode" );
|
||||
self SetActionSlot( 4, "" );
|
||||
self setactionslot( 3, "altMode" );
|
||||
self setactionslot( 4, "" );
|
||||
|
||||
if ( self.pers[ "bot" ][ "class_equipment" ] != "" && self.pers[ "bot" ][ "class_equipment" ] != "weapon_null_mp" && !GetDvarInt( #"scr_disable_equipment" ) )
|
||||
if ( self.pers[ "bot" ][ "class_equipment" ] != "" && self.pers[ "bot" ][ "class_equipment" ] != "weapon_null_mp" && !getdvarint( #"scr_disable_equipment" ) )
|
||||
{
|
||||
self GiveWeapon( self.pers[ "bot" ][ "class_equipment" ] );
|
||||
self giveweapon( self.pers[ "bot" ][ "class_equipment" ] );
|
||||
|
||||
self maps\mp\gametypes\_class::setweaponammooverall( self.pers[ "bot" ][ "class_equipment" ], 1 );
|
||||
|
||||
self SetActionSlot( 1, "weapon", self.pers[ "bot" ][ "class_equipment" ] );
|
||||
self setactionslot( 1, "weapon", self.pers[ "bot" ][ "class_equipment" ] );
|
||||
}
|
||||
|
||||
if ( self.pers[ "bot" ][ "class_lethal" ] != "" )
|
||||
{
|
||||
self GiveWeapon( self.pers[ "bot" ][ "class_lethal" ] );
|
||||
self giveweapon( self.pers[ "bot" ][ "class_lethal" ] );
|
||||
|
||||
if ( self hasPerk( "specialty_twogrenades" ) )
|
||||
if ( self hasperk( "specialty_twogrenades" ) )
|
||||
{
|
||||
self SetWeaponAmmoClip( self.pers[ "bot" ][ "class_lethal" ], 2 );
|
||||
self setweaponammoclip( self.pers[ "bot" ][ "class_lethal" ], 2 );
|
||||
}
|
||||
else
|
||||
{
|
||||
self SetWeaponAmmoClip( self.pers[ "bot" ][ "class_lethal" ], 1 );
|
||||
self setweaponammoclip( self.pers[ "bot" ][ "class_lethal" ], 1 );
|
||||
}
|
||||
|
||||
self SwitchToOffhand( self.pers[ "bot" ][ "class_lethal" ] );
|
||||
self switchtooffhand( self.pers[ "bot" ][ "class_lethal" ] );
|
||||
}
|
||||
|
||||
if ( self.pers[ "bot" ][ "class_tacticle" ] != "" )
|
||||
{
|
||||
self giveWeapon( self.pers[ "bot" ][ "class_tacticle" ] );
|
||||
self giveweapon( self.pers[ "bot" ][ "class_tacticle" ] );
|
||||
|
||||
if ( self.pers[ "bot" ][ "class_tacticle" ] == "willy_pete_mp" )
|
||||
{
|
||||
self SetWeaponAmmoClip( self.pers[ "bot" ][ "class_tacticle" ], 1 );
|
||||
self setweaponammoclip( self.pers[ "bot" ][ "class_tacticle" ], 1 );
|
||||
}
|
||||
else if ( self hasPerk( "specialty_twogrenades" ) )
|
||||
else if ( self hasperk( "specialty_twogrenades" ) )
|
||||
{
|
||||
self SetWeaponAmmoClip( self.pers[ "bot" ][ "class_tacticle" ], 3 );
|
||||
self setweaponammoclip( self.pers[ "bot" ][ "class_tacticle" ], 3 );
|
||||
}
|
||||
else
|
||||
{
|
||||
self SetWeaponAmmoClip( self.pers[ "bot" ][ "class_tacticle" ], 2 );
|
||||
self setweaponammoclip( self.pers[ "bot" ][ "class_tacticle" ], 2 );
|
||||
}
|
||||
|
||||
self setOffhandSecondaryClass( self.pers[ "bot" ][ "class_tacticle" ] );
|
||||
self setoffhandsecondaryclass( self.pers[ "bot" ][ "class_tacticle" ] );
|
||||
}
|
||||
|
||||
self setSpawnWeapon( weap );
|
||||
self setspawnweapon( weap );
|
||||
}
|
||||
|
||||
/*
|
||||
@ -202,7 +202,7 @@ bot_give_loadout()
|
||||
*/
|
||||
bot_get_prestige()
|
||||
{
|
||||
p_dvar = getDvarInt( "bots_loadout_prestige" );
|
||||
p_dvar = getdvarint( "bots_loadout_prestige" );
|
||||
p = 0;
|
||||
|
||||
if ( p_dvar == -1 )
|
||||
@ -211,7 +211,7 @@ bot_get_prestige()
|
||||
{
|
||||
player = level.players[ i ];
|
||||
|
||||
if ( !isDefined( player.team ) )
|
||||
if ( !isdefined( player.team ) )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
@ -227,7 +227,7 @@ bot_get_prestige()
|
||||
}
|
||||
else if ( p_dvar == -2 )
|
||||
{
|
||||
p = randomInt( 17 );
|
||||
p = randomint( 17 );
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -253,11 +253,11 @@ bot_rank()
|
||||
self.pers[ "rank" ] = rankId;
|
||||
self.pers[ "prestige" ] = prestige;
|
||||
self.pers[ "plevel" ] = prestige;
|
||||
self setRank( rankId, prestige );
|
||||
self setrank( rankId, prestige );
|
||||
|
||||
self maps\mp\gametypes\_rank::syncxpstat();
|
||||
|
||||
if ( !level.gameEnded )
|
||||
if ( !level.gameended )
|
||||
{
|
||||
level waittill( "game_ended" );
|
||||
}
|
||||
@ -289,18 +289,18 @@ bot_set_class()
|
||||
|
||||
rank = self maps\mp\gametypes\_rank::getrankforxp( self.pers[ "bot" ][ "rankxp" ] );
|
||||
|
||||
if ( !level.onlineGame )
|
||||
if ( !level.onlinegame )
|
||||
{
|
||||
rank = level.maxRank;
|
||||
rank = level.maxrank;
|
||||
}
|
||||
|
||||
if ( rank < 3 || ( randomint( 100 ) < 3 && !GetDvarInt( "bots_loadout_reasonable" ) ) )
|
||||
if ( rank < 3 || ( randomint( 100 ) < 3 && !getdvarint( "bots_loadout_reasonable" ) ) )
|
||||
{
|
||||
_class = "";
|
||||
|
||||
while ( _class == "" )
|
||||
{
|
||||
switch ( randomInt( 5 ) )
|
||||
switch ( randomint( 5 ) )
|
||||
{
|
||||
case 0:
|
||||
_class = "CLASS_ASSAULT";
|
||||
@ -332,14 +332,14 @@ bot_set_class()
|
||||
}
|
||||
}
|
||||
|
||||
self.pers[ "bot" ][ "class_primary" ] = level.classWeapons[ "axis" ][ _class ][ 0 ];
|
||||
self.pers[ "bot" ][ "class_secondary" ] = level.classSidearm[ "axis" ][ _class ];
|
||||
self.pers[ "bot" ][ "class_perk1" ] = level.default_perkIcon[ _class ][ 0 ];
|
||||
self.pers[ "bot" ][ "class_perk2" ] = level.default_perkIcon[ _class ][ 1 ];
|
||||
self.pers[ "bot" ][ "class_perk3" ] = level.default_perkIcon[ _class ][ 2 ];
|
||||
self.pers[ "bot" ][ "class_primary" ] = level.classweapons[ "axis" ][ _class ][ 0 ];
|
||||
self.pers[ "bot" ][ "class_secondary" ] = level.classsidearm[ "axis" ][ _class ];
|
||||
self.pers[ "bot" ][ "class_perk1" ] = level.default_perkicon[ _class ][ 0 ];
|
||||
self.pers[ "bot" ][ "class_perk2" ] = level.default_perkicon[ _class ][ 1 ];
|
||||
self.pers[ "bot" ][ "class_perk3" ] = level.default_perkicon[ _class ][ 2 ];
|
||||
self.pers[ "bot" ][ "class_equipment" ] = level.default_equipment[ _class ][ "type" ];
|
||||
self.pers[ "bot" ][ "class_lethal" ] = level.classGrenades[ _class ][ "primary" ][ "type" ];
|
||||
self.pers[ "bot" ][ "class_tacticle" ] = level.classGrenades[ _class ][ "secondary" ][ "type" ];
|
||||
self.pers[ "bot" ][ "class_lethal" ] = level.classgrenades[ _class ][ "primary" ][ "type" ];
|
||||
self.pers[ "bot" ][ "class_tacticle" ] = level.classgrenades[ _class ][ "secondary" ][ "type" ];
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -380,7 +380,7 @@ bot_set_class()
|
||||
emblem = 0;
|
||||
}
|
||||
|
||||
if ( isSubStr( self.pers[ "bot" ][ "class_primary" ], "_elbit_" ) || isSubStr( self.pers[ "bot" ][ "class_primary" ], "_reflex_" ) )
|
||||
if ( issubstr( self.pers[ "bot" ][ "class_primary" ], "_elbit_" ) || issubstr( self.pers[ "bot" ][ "class_primary" ], "_reflex_" ) )
|
||||
{
|
||||
if ( rank >= 24 )
|
||||
{
|
||||
@ -406,7 +406,7 @@ bot_set_class()
|
||||
reticle = 0;
|
||||
}
|
||||
|
||||
self.pers[ "bot" ][ "class_primary_opts" ] = self calcWeaponOptions( camo, lens, reticle, tag, emblem );
|
||||
self.pers[ "bot" ][ "class_primary_opts" ] = self calcweaponoptions( camo, lens, reticle, tag, emblem );
|
||||
|
||||
if ( rank >= 30 )
|
||||
{
|
||||
@ -417,10 +417,10 @@ bot_set_class()
|
||||
face = 0;
|
||||
}
|
||||
|
||||
self.pers[ "bot" ][ "class_render_opts" ] = self calcPlayerOptions( face, 0 );
|
||||
self.pers[ "bot" ][ "class_render_opts" ] = self calcplayeroptions( face, 0 );
|
||||
}
|
||||
|
||||
if ( !GetDvarInt( "bots_loadout_allow_op" ) && isSubStr( self.pers[ "bot" ][ "class_perk3" ], "perk_second_chance" ) )
|
||||
if ( !getdvarint( "bots_loadout_allow_op" ) && issubstr( self.pers[ "bot" ][ "class_perk3" ], "perk_second_chance" ) )
|
||||
{
|
||||
self.pers[ "bot" ][ "class_perk3" ] = "";
|
||||
}
|
||||
@ -431,28 +431,28 @@ bot_set_class()
|
||||
*/
|
||||
bot_get_random_weapon( slot, rank )
|
||||
{
|
||||
if ( !isDefined( level.bot_weapon_ids ) )
|
||||
if ( !isdefined( level.bot_weapon_ids ) )
|
||||
{
|
||||
level.bot_weapon_ids = [];
|
||||
}
|
||||
|
||||
if ( !IsDefined( level.bot_weapon_ids[ slot ] ) )
|
||||
if ( !isdefined( level.bot_weapon_ids[ slot ] ) )
|
||||
{
|
||||
level.bot_weapon_ids[ slot ] = [];
|
||||
|
||||
keys = GetArrayKeys( level.tbl_weaponIDs );
|
||||
keys = getarraykeys( level.tbl_weaponids );
|
||||
|
||||
for ( i = 0; i < keys.size; i++ )
|
||||
{
|
||||
key = keys[ i ];
|
||||
id = level.tbl_weaponIDs[ key ];
|
||||
id = level.tbl_weaponids[ key ];
|
||||
|
||||
if ( id[ "reference" ] == "weapon_null" )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if ( isSubStr( id[ "reference" ], "dw" ) )
|
||||
if ( issubstr( id[ "reference" ], "dw" ) )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
@ -469,7 +469,7 @@ bot_get_random_weapon( slot, rank )
|
||||
}
|
||||
}
|
||||
|
||||
reason = GetDvarInt( "bots_loadout_reasonable" );
|
||||
reason = getdvarint( "bots_loadout_reasonable" );
|
||||
diff = self GetBotDiffNum();
|
||||
|
||||
if ( slot == "equipment" && self.pers[ "bot" ][ "cod_points" ] < 2000 )
|
||||
@ -481,7 +481,7 @@ bot_get_random_weapon( slot, rank )
|
||||
{
|
||||
id = PickRandom( level.bot_weapon_ids[ slot ] );
|
||||
|
||||
if ( !isDefined( id ) )
|
||||
if ( !isdefined( id ) )
|
||||
{
|
||||
return;
|
||||
}
|
||||
@ -531,37 +531,37 @@ bot_get_random_weapon( slot, rank )
|
||||
}
|
||||
}
|
||||
|
||||
if ( id[ "reference" ] == "hatchet" && RandomInt( 100 ) > 20 )
|
||||
if ( id[ "reference" ] == "hatchet" && randomint( 100 ) > 20 )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if ( id[ "reference" ] == "willy_pete" && RandomInt( 100 ) > 20 )
|
||||
if ( id[ "reference" ] == "willy_pete" && randomint( 100 ) > 20 )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if ( id[ "reference" ] == "nightingale" && RandomInt( 100 ) > 20 )
|
||||
if ( id[ "reference" ] == "nightingale" && randomint( 100 ) > 20 )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if ( id[ "reference" ] == "claymore" && diff <= 0 && RandomInt( 100 ) > 20 )
|
||||
if ( id[ "reference" ] == "claymore" && diff <= 0 && randomint( 100 ) > 20 )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if ( id[ "reference" ] == "scrambler" && diff <= 0 && RandomInt( 100 ) > 20 )
|
||||
if ( id[ "reference" ] == "scrambler" && diff <= 0 && randomint( 100 ) > 20 )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if ( id[ "reference" ] == "camera_spike" && self IsSplitScreen() )
|
||||
if ( id[ "reference" ] == "camera_spike" && self issplitscreen() )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if ( id[ "reference" ] == level.tacticalInsertionWeapon && level.disable_tacinsert )
|
||||
if ( id[ "reference" ] == level.tacticalinsertionweapon && level.disable_tacinsert )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
@ -577,12 +577,12 @@ bot_get_random_weapon( slot, rank )
|
||||
|
||||
maxAttachs = 1;
|
||||
|
||||
if ( isSubStr( self.pers[ "bot" ][ "class_perk2" ], "perk_professional" ) && slot == "primary" )
|
||||
if ( issubstr( self.pers[ "bot" ][ "class_perk2" ], "perk_professional" ) && slot == "primary" )
|
||||
{
|
||||
maxAttachs = 2;
|
||||
}
|
||||
|
||||
if ( RandomFloatRange( 0, 1 ) < ( ( rank / level.maxRank ) + 0.1 ) )
|
||||
if ( randomfloatrange( 0, 1 ) < ( ( rank / level.maxrank ) + 0.1 ) )
|
||||
{
|
||||
weap = bot_random_attachments( id[ "reference" ], id[ "attachment" ], maxAttachs );
|
||||
}
|
||||
@ -626,18 +626,18 @@ bot_get_random_weapon( slot, rank )
|
||||
*/
|
||||
bot_get_random_perk( slot, rank )
|
||||
{
|
||||
reason = GetDvarInt( "bots_loadout_reasonable" );
|
||||
reason = getdvarint( "bots_loadout_reasonable" );
|
||||
|
||||
for ( ;; )
|
||||
{
|
||||
id = PickRandom( level.allowedPerks[ 0 ] );
|
||||
id = PickRandom( level.allowedperks[ 0 ] );
|
||||
|
||||
if ( !isDefined( id ) )
|
||||
if ( !isdefined( id ) )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
id = level.tbl_PerkData[ id ];
|
||||
id = level.tbl_perkdata[ id ];
|
||||
|
||||
if ( id[ "reference" ] == "specialty_null" )
|
||||
{
|
||||
@ -649,12 +649,12 @@ bot_get_random_perk( slot, rank )
|
||||
continue;
|
||||
}
|
||||
|
||||
if ( isSubStr( id[ "reference_full" ], "_pro" ) && id[ "reference_full" ] != "perk_professional" )
|
||||
if ( issubstr( id[ "reference_full" ], "_pro" ) && id[ "reference_full" ] != "perk_professional" )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
cost = Int( id[ "cost" ] );
|
||||
cost = int( id[ "cost" ] );
|
||||
|
||||
if ( cost > 0 && cost > self.pers[ "bot" ][ "cod_points" ] )
|
||||
{
|
||||
@ -675,9 +675,9 @@ bot_get_random_perk( slot, rank )
|
||||
}
|
||||
|
||||
id = bot_perk_from_reference_full( self.pers[ "bot" ][ "class_perk" + slot ] + "_pro" );
|
||||
cost = Int( id[ "cost" ] );
|
||||
cost = int( id[ "cost" ] );
|
||||
|
||||
if ( Int( cost ) <= self.pers[ "bot" ][ "cod_points" ] && RandomFloatRange( 0, 1 ) < ( ( rank / level.maxRank ) + 0.1 ) )
|
||||
if ( int( cost ) <= self.pers[ "bot" ][ "cod_points" ] && randomfloatrange( 0, 1 ) < ( ( rank / level.maxrank ) + 0.1 ) )
|
||||
{
|
||||
self.pers[ "bot" ][ "cod_points" ] = self.pers[ "bot" ][ "cod_points" ] - cost;
|
||||
self.pers[ "bot" ][ "class_perk" + slot ] = id[ "reference_full" ];
|
||||
@ -826,7 +826,7 @@ bot_random_tag()
|
||||
{
|
||||
for ( ;; )
|
||||
{
|
||||
tag = randomInt( 2 );
|
||||
tag = randomint( 2 );
|
||||
|
||||
if ( tag == 0 )
|
||||
{
|
||||
@ -851,7 +851,7 @@ bot_random_emblem()
|
||||
{
|
||||
for ( ;; )
|
||||
{
|
||||
emblem = randomInt( 2 );
|
||||
emblem = randomint( 2 );
|
||||
|
||||
if ( emblem == 0 )
|
||||
{
|
||||
@ -876,7 +876,7 @@ bot_random_camo()
|
||||
{
|
||||
for ( ;; )
|
||||
{
|
||||
camo = randomInt( 16 );
|
||||
camo = randomint( 16 );
|
||||
|
||||
if ( camo == 0 )
|
||||
{
|
||||
@ -974,7 +974,7 @@ bot_weapon_unlocked( id, rank )
|
||||
}
|
||||
}
|
||||
|
||||
unlock = Int( id[ "unlock_level" ] );
|
||||
unlock = int( id[ "unlock_level" ] );
|
||||
|
||||
if ( unlock <= 3 )
|
||||
{
|
||||
@ -1073,10 +1073,10 @@ bot_validate_weapon( weap )
|
||||
bot_random_attachments( weap, atts, num )
|
||||
{
|
||||
weapon = weap;
|
||||
attachments = StrTok( atts, " " );
|
||||
attachments = strtok( atts, " " );
|
||||
attachments[ attachments.size ] = "";
|
||||
|
||||
reason = GetDvarInt( "bots_loadout_reasonable" );
|
||||
reason = getdvarint( "bots_loadout_reasonable" );
|
||||
|
||||
for ( ;; )
|
||||
{
|
||||
@ -1210,16 +1210,16 @@ bot_random_attachments( weap, atts, num )
|
||||
*/
|
||||
bot_perk_from_reference_full( reference_full )
|
||||
{
|
||||
keys = GetArrayKeys( level.tbl_PerkData );
|
||||
keys = getarraykeys( level.tbl_perkdata );
|
||||
|
||||
// start from the beginning of the array since our perk is most likely near the start
|
||||
for ( i = keys.size - 1; i >= 0; i-- )
|
||||
{
|
||||
key = keys[ i ];
|
||||
|
||||
if ( level.tbl_PerkData[ key ][ "reference_full" ] == reference_full )
|
||||
if ( level.tbl_perkdata[ key ][ "reference_full" ] == reference_full )
|
||||
{
|
||||
return level.tbl_PerkData[ key ];
|
||||
return level.tbl_perkdata[ key ];
|
||||
}
|
||||
}
|
||||
|
||||
@ -1231,13 +1231,13 @@ bot_perk_from_reference_full( reference_full )
|
||||
*/
|
||||
bot_get_cod_points()
|
||||
{
|
||||
if ( !level.onlineGame )
|
||||
if ( !level.onlinegame )
|
||||
{
|
||||
self.pers[ "bot" ][ "cod_points" ] = 999999;
|
||||
return;
|
||||
}
|
||||
|
||||
cp_dvar = getDvarInt( "bots_loadout_codpoints" );
|
||||
cp_dvar = getdvarint( "bots_loadout_codpoints" );
|
||||
|
||||
if ( cp_dvar == -1 )
|
||||
{
|
||||
@ -1251,7 +1251,7 @@ bot_get_cod_points()
|
||||
continue;
|
||||
}
|
||||
|
||||
if ( !isDefined( players[ i ].pers[ "currencyspent" ] ) || !isDefined( players[ i ].pers[ "codpoints" ] ) )
|
||||
if ( !isdefined( players[ i ].pers[ "currencyspent" ] ) || !isdefined( players[ i ].pers[ "codpoints" ] ) )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
@ -1265,7 +1265,7 @@ bot_get_cod_points()
|
||||
}
|
||||
|
||||
point_average = array_average( total_points );
|
||||
self.pers[ "bot" ][ "cod_points" ] = Int( point_average * RandomFloatRange( 0.6, 0.8 ) );
|
||||
self.pers[ "bot" ][ "cod_points" ] = int( point_average * randomfloatrange( 0.6, 0.8 ) );
|
||||
}
|
||||
else if ( cp_dvar == 0 )
|
||||
{
|
||||
@ -1283,7 +1283,7 @@ bot_get_cod_points()
|
||||
bot_get_rank()
|
||||
{
|
||||
rank = 1;
|
||||
rank_dvar = getDvarInt( "bots_loadout_rank" );
|
||||
rank_dvar = getdvarint( "bots_loadout_rank" );
|
||||
|
||||
if ( rank_dvar == -1 )
|
||||
{
|
||||
@ -1300,7 +1300,7 @@ bot_get_rank()
|
||||
continue;
|
||||
}
|
||||
|
||||
if ( !IsDefined( players[ i ].pers[ "rank" ] ) )
|
||||
if ( !isdefined( players[ i ].pers[ "rank" ] ) )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
@ -1317,7 +1317,7 @@ bot_get_rank()
|
||||
|
||||
if ( !human_ranks.size )
|
||||
{
|
||||
human_ranks[ human_ranks.size ] = Round( random_normal_distribution( 35, 20, 0, level.maxRank ) );
|
||||
human_ranks[ human_ranks.size ] = Round( random_normal_distribution( 35, 20, 0, level.maxrank ) );
|
||||
}
|
||||
|
||||
human_avg = array_average( human_ranks );
|
||||
@ -1325,7 +1325,7 @@ bot_get_rank()
|
||||
while ( bot_ranks.size + human_ranks.size < 5 )
|
||||
{
|
||||
// add some random ranks for better random number distribution
|
||||
rank = human_avg + RandomIntRange( -10, 10 );
|
||||
rank = human_avg + randomintrange( -10, 10 );
|
||||
human_ranks[ human_ranks.size ] = rank;
|
||||
}
|
||||
|
||||
@ -1334,15 +1334,15 @@ bot_get_rank()
|
||||
avg = array_average( ranks );
|
||||
s = array_std_deviation( ranks, avg );
|
||||
|
||||
rank = Round( random_normal_distribution( avg, s, 0, level.maxRank ) );
|
||||
rank = Round( random_normal_distribution( avg, s, 0, level.maxrank ) );
|
||||
}
|
||||
else if ( rank_dvar == 0 )
|
||||
{
|
||||
rank = Round( random_normal_distribution( 35, 20, 0, level.maxRank ) );
|
||||
rank = Round( random_normal_distribution( 35, 20, 0, level.maxrank ) );
|
||||
}
|
||||
else
|
||||
{
|
||||
rank = Round( random_normal_distribution( rank_dvar, 5, 0, level.maxRank ) );
|
||||
rank = Round( random_normal_distribution( rank_dvar, 5, 0, level.maxrank ) );
|
||||
}
|
||||
|
||||
self.pers[ "bot" ][ "rankxp" ] = maps\mp\gametypes\_rank::getrankinfominxp( rank );
|
||||
@ -1359,7 +1359,7 @@ bot_setKillstreaks()
|
||||
allowed_killstreaks[ 1 ] = "killstreak_supply_drop";
|
||||
allowed_killstreaks[ 2 ] = "killstreak_helicopter_comlink";
|
||||
|
||||
if ( self maps\mp\gametypes\_rank::getrankforxp( self.pers[ "bot" ][ "rankxp" ] ) >= 9 || !level.onlineGame )
|
||||
if ( self maps\mp\gametypes\_rank::getrankforxp( self.pers[ "bot" ][ "rankxp" ] ) >= 9 || !level.onlinegame )
|
||||
{
|
||||
allowed_killstreaks[ 3 ] = "killstreak_auto_turret_drop";
|
||||
allowed_killstreaks[ 4 ] = "killstreak_tow_turret_drop";
|
||||
@ -1379,13 +1379,13 @@ bot_setKillstreaks()
|
||||
|
||||
self.pers[ "bot" ][ "killstreaks" ] = [];
|
||||
|
||||
reason = GetDvarInt( "bots_loadout_reasonable" );
|
||||
reason = getdvarint( "bots_loadout_reasonable" );
|
||||
|
||||
for ( i = 0; i < 3; i++ )
|
||||
{
|
||||
killstreak = PickRandom( allowed_killstreaks );
|
||||
|
||||
if ( !isDefined( killstreak ) )
|
||||
if ( !isdefined( killstreak ) )
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -16,7 +16,7 @@ wait_for_builtins()
|
||||
{
|
||||
for ( i = 0; i < 20; i++ )
|
||||
{
|
||||
if ( isDefined( level.bot_builtins ) )
|
||||
if ( isdefined( level.bot_builtins ) )
|
||||
{
|
||||
return true;
|
||||
}
|
||||
@ -39,13 +39,13 @@ 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 );
|
||||
}
|
||||
else
|
||||
{
|
||||
PrintLn( s );
|
||||
println( s );
|
||||
}
|
||||
}
|
||||
|
||||
@ -53,7 +53,7 @@ BotBuiltinPrintConsole( s )
|
||||
*/
|
||||
BotBuiltinMovementOverride( a, b )
|
||||
{
|
||||
if ( isDefined( level.bot_builtins ) && isDefined( level.bot_builtins[ "botmovementoverride" ] ) )
|
||||
if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins[ "botmovementoverride" ] ) )
|
||||
{
|
||||
self [[ level.bot_builtins[ "botmovementoverride" ] ]]( a, b );
|
||||
}
|
||||
@ -63,7 +63,7 @@ BotBuiltinMovementOverride( a, b )
|
||||
*/
|
||||
BotBuiltinClearMovementOverride()
|
||||
{
|
||||
if ( isDefined( level.bot_builtins ) && isDefined( level.bot_builtins[ "botclearmovementoverride" ] ) )
|
||||
if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins[ "botclearmovementoverride" ] ) )
|
||||
{
|
||||
self [[ level.bot_builtins[ "botclearmovementoverride" ] ]]();
|
||||
}
|
||||
@ -73,7 +73,7 @@ BotBuiltinClearMovementOverride()
|
||||
*/
|
||||
BotBuiltinClearButtonOverride( a )
|
||||
{
|
||||
if ( isDefined( level.bot_builtins ) && isDefined( level.bot_builtins[ "botclearbuttonoverride" ] ) )
|
||||
if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins[ "botclearbuttonoverride" ] ) )
|
||||
{
|
||||
self [[ level.bot_builtins[ "botclearbuttonoverride" ] ]]( a );
|
||||
}
|
||||
@ -83,7 +83,7 @@ BotBuiltinClearButtonOverride( a )
|
||||
*/
|
||||
BotBuiltinButtonOverride( a, b )
|
||||
{
|
||||
if ( isDefined( level.bot_builtins ) && isDefined( level.bot_builtins[ "botbuttonoverride" ] ) )
|
||||
if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins[ "botbuttonoverride" ] ) )
|
||||
{
|
||||
self [[ level.bot_builtins[ "botbuttonoverride" ] ]]( a, b );
|
||||
}
|
||||
@ -93,7 +93,7 @@ BotBuiltinButtonOverride( a, b )
|
||||
*/
|
||||
BotBuiltinClearOverrides( a )
|
||||
{
|
||||
if ( isDefined( level.bot_builtins ) && isDefined( level.bot_builtins[ "botclearoverrides" ] ) )
|
||||
if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins[ "botclearoverrides" ] ) )
|
||||
{
|
||||
self [[ level.bot_builtins[ "botclearoverrides" ] ]]( a );
|
||||
}
|
||||
@ -103,7 +103,7 @@ BotBuiltinClearOverrides( a )
|
||||
*/
|
||||
BotBuiltinMantleOverride()
|
||||
{
|
||||
if ( isDefined( level.bot_builtins ) && isDefined( level.bot_builtins[ "botmantleoverride" ] ) )
|
||||
if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins[ "botmantleoverride" ] ) )
|
||||
{
|
||||
self [[ level.bot_builtins[ "botmantleoverride" ] ]]();
|
||||
}
|
||||
@ -113,7 +113,7 @@ BotBuiltinMantleOverride()
|
||||
*/
|
||||
BotBuiltinClearMantleOverride()
|
||||
{
|
||||
if ( isDefined( level.bot_builtins ) && isDefined( level.bot_builtins[ "botclearmantleoverride" ] ) )
|
||||
if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins[ "botclearmantleoverride" ] ) )
|
||||
{
|
||||
self [[ level.bot_builtins[ "botclearmantleoverride" ] ]]();
|
||||
}
|
||||
@ -123,7 +123,7 @@ BotBuiltinClearMantleOverride()
|
||||
*/
|
||||
BotBuiltinClearWeaponOverride()
|
||||
{
|
||||
if ( isDefined( level.bot_builtins ) && isDefined( level.bot_builtins[ "botclearweaponoverride" ] ) )
|
||||
if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins[ "botclearweaponoverride" ] ) )
|
||||
{
|
||||
self [[ level.bot_builtins[ "botclearweaponoverride" ] ]]();
|
||||
}
|
||||
@ -133,7 +133,7 @@ BotBuiltinClearWeaponOverride()
|
||||
*/
|
||||
BotBuiltinWeaponOverride( a )
|
||||
{
|
||||
if ( isDefined( level.bot_builtins ) && isDefined( level.bot_builtins[ "botweaponoverride" ] ) )
|
||||
if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins[ "botweaponoverride" ] ) )
|
||||
{
|
||||
self [[ level.bot_builtins[ "botweaponoverride" ] ]]( a );
|
||||
}
|
||||
@ -143,7 +143,7 @@ BotBuiltinWeaponOverride( a )
|
||||
*/
|
||||
BotBuiltinClearButtonOverrides()
|
||||
{
|
||||
if ( isDefined( level.bot_builtins ) && isDefined( level.bot_builtins[ "botclearbuttonoverrides" ] ) )
|
||||
if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins[ "botclearbuttonoverrides" ] ) )
|
||||
{
|
||||
self [[ level.bot_builtins[ "botclearbuttonoverrides" ] ]]();
|
||||
}
|
||||
@ -153,7 +153,7 @@ BotBuiltinClearButtonOverrides()
|
||||
*/
|
||||
BotBuiltinAimOverride()
|
||||
{
|
||||
if ( isDefined( level.bot_builtins ) && isDefined( level.bot_builtins[ "botaimoverride" ] ) )
|
||||
if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins[ "botaimoverride" ] ) )
|
||||
{
|
||||
self [[ level.bot_builtins[ "botaimoverride" ] ]]();
|
||||
}
|
||||
@ -163,7 +163,7 @@ BotBuiltinAimOverride()
|
||||
*/
|
||||
BotBuiltinClearAimOverride()
|
||||
{
|
||||
if ( isDefined( level.bot_builtins ) && isDefined( level.bot_builtins[ "botclearaimoverride" ] ) )
|
||||
if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins[ "botclearaimoverride" ] ) )
|
||||
{
|
||||
self [[ level.bot_builtins[ "botclearaimoverride" ] ]]();
|
||||
}
|
||||
@ -174,7 +174,7 @@ BotBuiltinClearAimOverride()
|
||||
*/
|
||||
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 );
|
||||
}
|
||||
@ -184,7 +184,7 @@ BotBuiltinBotMeleeParams( yaw, dist )
|
||||
*/
|
||||
BotBuiltinClearMeleeParams()
|
||||
{
|
||||
if ( isDefined( level.bot_builtins ) && isDefined( level.bot_builtins[ "clearbotmeleeparams" ] ) )
|
||||
if ( isdefined( level.bot_builtins ) && isdefined( level.bot_builtins[ "clearbotmeleeparams" ] ) )
|
||||
{
|
||||
self [[ level.bot_builtins[ "clearbotmeleeparams" ] ]]();
|
||||
}
|
||||
@ -259,7 +259,7 @@ PickRandom( arr )
|
||||
return undefined;
|
||||
}
|
||||
|
||||
return arr[ randomInt( arr.size ) ];
|
||||
return arr[ randomint( arr.size ) ];
|
||||
}
|
||||
|
||||
/*
|
||||
@ -267,7 +267,7 @@ PickRandom( arr )
|
||||
*/
|
||||
isDefusing()
|
||||
{
|
||||
return ( isDefined( self.isDefusing ) && self.isDefusing );
|
||||
return ( isdefined( self.isdefusing ) && self.isdefusing );
|
||||
}
|
||||
|
||||
/*
|
||||
@ -275,7 +275,7 @@ isDefusing()
|
||||
*/
|
||||
isPlanting()
|
||||
{
|
||||
return ( isDefined( self.isPlanting ) && self.isPlanting );
|
||||
return ( isdefined( self.isplanting ) && self.isplanting );
|
||||
}
|
||||
|
||||
/*
|
||||
@ -283,7 +283,7 @@ isPlanting()
|
||||
*/
|
||||
inLastStand()
|
||||
{
|
||||
return ( isDefined( self.laststand ) && self.laststand );
|
||||
return ( isdefined( self.laststand ) && self.laststand );
|
||||
}
|
||||
|
||||
/*
|
||||
@ -291,7 +291,7 @@ inLastStand()
|
||||
*/
|
||||
isFlagCarrier()
|
||||
{
|
||||
return ( isDefined( self.isFlagCarrier ) && self.isFlagCarrier );
|
||||
return ( isdefined( self.isflagcarrier ) && self.isflagcarrier );
|
||||
}
|
||||
|
||||
/*
|
||||
@ -299,7 +299,7 @@ isFlagCarrier()
|
||||
*/
|
||||
isInUse()
|
||||
{
|
||||
return ( isDefined( self.inUse ) && self.inUse );
|
||||
return ( isdefined( self.inuse ) && self.inuse );
|
||||
}
|
||||
|
||||
/*
|
||||
@ -307,7 +307,7 @@ isInUse()
|
||||
*/
|
||||
isBombCarrier()
|
||||
{
|
||||
return ( isDefined( self.isBombCarrier ) && self.isBombCarrier );
|
||||
return ( isdefined( self.isbombcarrier ) && self.isbombcarrier );
|
||||
}
|
||||
|
||||
/*
|
||||
@ -333,7 +333,7 @@ GetBotDiffNum()
|
||||
{
|
||||
num = 0;
|
||||
|
||||
switch ( getDvar( "bot_difficulty" ) )
|
||||
switch ( getdvar( "bot_difficulty" ) )
|
||||
{
|
||||
case "fu":
|
||||
num = 3;
|
||||
@ -361,7 +361,7 @@ GetBotDiffNum()
|
||||
*/
|
||||
isWeaponAltmode( weap )
|
||||
{
|
||||
if ( isStrStart( weap, "gl_" ) || isStrStart( weap, "ft_" ) || isStrStart( weap, "mk_" ) )
|
||||
if ( isstrstart( weap, "gl_" ) || isstrstart( weap, "ft_" ) || isstrstart( weap, "mk_" ) )
|
||||
{
|
||||
return true;
|
||||
}
|
||||
@ -381,27 +381,27 @@ bot_lookat( pos, time, vel, doAimPredict )
|
||||
self endon( "spawned_player" );
|
||||
level endon ( "game_ended" );
|
||||
|
||||
if ( level.gameEnded || level.inPrematchPeriod || self BotIsFrozen() || !getDvarInt( "bots_play_aim" ) )
|
||||
if ( level.gameended || level.inprematchperiod || self BotIsFrozen() || !getdvarint( "bots_play_aim" ) )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if ( !isDefined( pos ) )
|
||||
if ( !isdefined( pos ) )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if ( !isDefined( doAimPredict ) )
|
||||
if ( !isdefined( doAimPredict ) )
|
||||
{
|
||||
doAimPredict = false;
|
||||
}
|
||||
|
||||
if ( !isDefined( time ) )
|
||||
if ( !isdefined( time ) )
|
||||
{
|
||||
time = 0.05;
|
||||
}
|
||||
|
||||
if ( !isDefined( vel ) )
|
||||
if ( !isdefined( vel ) )
|
||||
{
|
||||
vel = ( 0, 0, 0 );
|
||||
}
|
||||
@ -413,28 +413,28 @@ bot_lookat( pos, time, vel, doAimPredict )
|
||||
steps = 1;
|
||||
}
|
||||
|
||||
myEye = self GetEye(); // get our eye pos
|
||||
myEye = self geteye(); // get our eye pos
|
||||
|
||||
if ( doAimPredict )
|
||||
{
|
||||
myEye += ( self getVelocity() * 0.05 ) * ( steps - 1 ); // account for our velocity
|
||||
myEye += ( self getvelocity() * 0.05 ) * ( steps - 1 ); // account for our velocity
|
||||
|
||||
pos += ( vel * 0.05 ) * ( steps - 1 ); // add the velocity vector
|
||||
}
|
||||
|
||||
myAngle = self getPlayerAngles();
|
||||
angles = VectorToAngles( ( pos - myEye ) - anglesToForward( myAngle ) );
|
||||
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 );
|
||||
self setPlayerAngles( myAngle );
|
||||
myAngle = ( angleclamp180( myAngle[ 0 ] + X ), angleclamp180( myAngle[ 1 ] + Y ), 0 );
|
||||
self setplayerangles( myAngle );
|
||||
wait 0.05;
|
||||
}
|
||||
}
|
||||
@ -449,17 +449,17 @@ getweaponslistall()
|
||||
for ( i = 0; i < weaps.size; i++ )
|
||||
{
|
||||
weap = weaps[ i ];
|
||||
toks = strTok( weap, "_" );
|
||||
toks = strtok( weap, "_" );
|
||||
|
||||
if ( isSubStr( weap, "_gl_" ) )
|
||||
if ( issubstr( weap, "_gl_" ) )
|
||||
{
|
||||
weaps[ weaps.size ] = "gl_" + toks[ 0 ] + "_mp";
|
||||
}
|
||||
else if ( isSubStr( weap, "_ft_" ) )
|
||||
else if ( issubstr( weap, "_ft_" ) )
|
||||
{
|
||||
weaps[ weaps.size ] = "ft_" + toks[ 0 ] + "_mp";
|
||||
}
|
||||
else if ( isSubStr( weap, "_mk_" ) )
|
||||
else if ( issubstr( weap, "_mk_" ) )
|
||||
{
|
||||
weaps[ weaps.size ] = "mk_" + toks[ 0 ] + "_mp";
|
||||
}
|
||||
@ -479,12 +479,12 @@ getValidTube()
|
||||
{
|
||||
weap = weaps[ i ];
|
||||
|
||||
if ( !self getAmmoCount( weap ) )
|
||||
if ( !self getammocount( weap ) )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if ( ( isSubStr( weap, "gl_" ) && !isSubStr( weap, "_gl_" ) ) || weap == "china_lake_mp" )
|
||||
if ( ( issubstr( weap, "gl_" ) && !issubstr( weap, "_gl_" ) ) || weap == "china_lake_mp" )
|
||||
{
|
||||
return weap;
|
||||
}
|
||||
@ -555,7 +555,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;
|
||||
}
|
||||
@ -563,14 +563,14 @@ getBotToKick()
|
||||
tokick = undefined;
|
||||
axis = 0;
|
||||
allies = 0;
|
||||
team = getDvar( "bots_team" );
|
||||
team = getdvar( "bots_team" );
|
||||
|
||||
// count teams
|
||||
for ( i = 0; i < bots.size; i++ )
|
||||
{
|
||||
bot = bots[ i ];
|
||||
|
||||
if ( !isDefined( bot ) || !isDefined( bot.team ) )
|
||||
if ( !isdefined( bot ) || !isdefined( bot.team ) )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
@ -614,7 +614,7 @@ getBotToKick()
|
||||
{
|
||||
bot = bots[ i ];
|
||||
|
||||
if ( !isDefined( bot ) || !isDefined( bot.team ) )
|
||||
if ( !isdefined( bot ) || !isdefined( bot.team ) )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
@ -627,7 +627,7 @@ getBotToKick()
|
||||
tokick = bot;
|
||||
}
|
||||
|
||||
if ( isDefined( tokick ) )
|
||||
if ( isdefined( tokick ) )
|
||||
{
|
||||
return tokick;
|
||||
}
|
||||
@ -637,7 +637,7 @@ getBotToKick()
|
||||
{
|
||||
bot = bots[ i ];
|
||||
|
||||
if ( !isDefined( bot ) || !isDefined( bot.team ) )
|
||||
if ( !isdefined( bot ) || !isdefined( bot.team ) )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
@ -655,16 +655,16 @@ bot_wait_for_host()
|
||||
{
|
||||
host = undefined;
|
||||
|
||||
while ( !isDefined( level ) || !isDefined( level.players ) )
|
||||
while ( !isdefined( level ) || !isdefined( level.players ) )
|
||||
{
|
||||
wait 0.05;
|
||||
}
|
||||
|
||||
for ( i = getDvarFloat( "bots_main_waitForHostTime" ); i > 0; i -= 0.05 )
|
||||
for ( i = getdvarfloat( "bots_main_waitForHostTime" ); i > 0; i -= 0.05 )
|
||||
{
|
||||
host = GetHostPlayer();
|
||||
host = gethostplayer();
|
||||
|
||||
if ( isDefined( host ) )
|
||||
if ( isdefined( host ) )
|
||||
{
|
||||
break;
|
||||
}
|
||||
@ -672,14 +672,14 @@ bot_wait_for_host()
|
||||
wait 0.05;
|
||||
}
|
||||
|
||||
if ( !isDefined( host ) )
|
||||
if ( !isdefined( host ) )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
for ( i = getDvarFloat( "bots_main_waitForHostTime" ); i > 0; i -= 0.05 )
|
||||
for ( i = getdvarfloat( "bots_main_waitForHostTime" ); i > 0; i -= 0.05 )
|
||||
{
|
||||
if ( IsDefined( host.pers[ "team" ] ) )
|
||||
if ( isdefined( host.pers[ "team" ] ) )
|
||||
{
|
||||
break;
|
||||
}
|
||||
@ -687,12 +687,12 @@ bot_wait_for_host()
|
||||
wait 0.05;
|
||||
}
|
||||
|
||||
if ( !IsDefined( host.pers[ "team" ] ) )
|
||||
if ( !isdefined( host.pers[ "team" ] ) )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
for ( i = getDvarFloat( "bots_main_waitForHostTime" ); i > 0; i -= 0.05 )
|
||||
for ( i = getdvarfloat( "bots_main_waitForHostTime" ); i > 0; i -= 0.05 )
|
||||
{
|
||||
if ( host.pers[ "team" ] == "allies" || host.pers[ "team" ] == "axis" )
|
||||
{
|
||||
@ -708,7 +708,7 @@ bot_wait_for_host()
|
||||
*/
|
||||
SetBotGoal( where, dist )
|
||||
{
|
||||
self SetScriptGoal( where, dist );
|
||||
self setscriptgoal( where, dist );
|
||||
waittillframeend;
|
||||
self notify( "new_goal" );
|
||||
}
|
||||
@ -718,7 +718,7 @@ SetBotGoal( where, dist )
|
||||
*/
|
||||
ClearBotGoal()
|
||||
{
|
||||
self ClearScriptGoal();
|
||||
self clearscriptgoal();
|
||||
waittillframeend;
|
||||
self notify( "new_goal" );
|
||||
}
|
||||
@ -728,7 +728,7 @@ ClearBotGoal()
|
||||
*/
|
||||
BotPressUse( time )
|
||||
{
|
||||
self PressUseButton( time );
|
||||
self pressusebutton( time );
|
||||
}
|
||||
|
||||
/*
|
||||
@ -750,7 +750,7 @@ BotIsFrozen()
|
||||
/*
|
||||
Bot stops moving
|
||||
*/
|
||||
BotStopMove( what )
|
||||
botStopMove( what )
|
||||
{
|
||||
self thread botStopMove2( what );
|
||||
}
|
||||
@ -783,8 +783,8 @@ botStopMove2( what )
|
||||
|
||||
for ( ;; )
|
||||
{
|
||||
self setVelocity( ( 0, 0, 0 ) );
|
||||
self setOrigin( og );
|
||||
self setvelocity( ( 0, 0, 0 ) );
|
||||
self setorigin( og );
|
||||
wait 0.05;
|
||||
}
|
||||
}
|
||||
@ -935,8 +935,8 @@ doExtraCheck()
|
||||
*/
|
||||
getConeDot( to, from, dir )
|
||||
{
|
||||
dirToTarget = VectorNormalize( to - from );
|
||||
forward = AnglesToForward( dir );
|
||||
dirToTarget = vectornormalize( to - from );
|
||||
forward = anglestoforward( dir );
|
||||
return vectordot( dirToTarget, forward );
|
||||
}
|
||||
|
||||
@ -949,22 +949,22 @@ bot_onUsePlantObjectFix( player )
|
||||
if ( !self maps\mp\gametypes\_gameobjects::isfriendlyteam( player.pers[ "team" ] ) )
|
||||
{
|
||||
level thread bot_bombPlanted( self, player );
|
||||
player logString( "bomb planted: " + self.label );
|
||||
player logstring( "bomb planted: " + self.label );
|
||||
|
||||
// disable all bomb zones except this one
|
||||
for ( index = 0; index < level.bombZones.size; index++ )
|
||||
for ( index = 0; index < level.bombzones.size; index++ )
|
||||
{
|
||||
if ( level.bombZones[ index ] == self )
|
||||
if ( level.bombzones[ index ] == self )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
level.bombZones[ index ] maps\mp\gametypes\_gameobjects::disableobject();
|
||||
level.bombzones[ index ] maps\mp\gametypes\_gameobjects::disableobject();
|
||||
}
|
||||
|
||||
thread playSoundOnPlayers( "mus_sd_planted" + "_" + level.teamPostfix[ player.pers[ "team" ] ] );
|
||||
thread playsoundonplayers( "mus_sd_planted" + "_" + level.teampostfix[ player.pers[ "team" ] ] );
|
||||
// removed plant audio until finalization of assest TODO : new plant sounds when assests are online
|
||||
// player playSound( "mpl_sd_bomb_plant" );
|
||||
// player playsound( "mpl_sd_bomb_plant" );
|
||||
player notify ( "bomb_planted" );
|
||||
|
||||
level thread maps\mp\_popups::displayteammessagetoall( &"MP_EXPLOSIVES_PLANTED_BY", player );
|
||||
@ -981,7 +981,7 @@ bot_onUsePlantObjectFix( player )
|
||||
maps\mp\gametypes\_globallogic_audio::leaderdialog( "bomb_planted" );
|
||||
|
||||
maps\mp\gametypes\_globallogic_score::giveplayerscore( "plant", player );
|
||||
// player thread [[ level.onXPEvent ]]( "plant" );
|
||||
// player thread [[ level.onxpevent ]]( "plant" );
|
||||
}
|
||||
}
|
||||
|
||||
@ -991,48 +991,48 @@ bot_onUsePlantObjectFix( player )
|
||||
bot_bombPlanted( destroyedObj, player )
|
||||
{
|
||||
maps\mp\gametypes\_globallogic_utils::pausetimer();
|
||||
level.bombPlanted = true;
|
||||
level.bombplanted = true;
|
||||
|
||||
destroyedObj.visuals[ 0 ] thread maps\mp\gametypes\_globallogic_utils::playtickingsound( "mpl_sab_ui_suitcasebomb_timer" );
|
||||
// Play suspense music
|
||||
level thread maps\mp\gametypes\sd::bombplantedmusicselay();
|
||||
level thread maps\mp\gametypes\sd::bombplantedmusicdelay();
|
||||
|
||||
// thread maps\mp\gametypes\_globallogic_audio::actionmusicset();
|
||||
|
||||
level.tickingObject = destroyedObj.visuals[ 0 ];
|
||||
level.tickingobject = destroyedObj.visuals[ 0 ];
|
||||
|
||||
level.timeLimitOverride = true;
|
||||
setGameEndTime( int( gettime() + ( level.bombTimer * 1000 ) ) );
|
||||
setMatchFlag( "bomb_timer", 1 );
|
||||
level.timelimitoverride = true;
|
||||
setgameendtime( int( gettime() + ( level.bombtimer * 1000 ) ) );
|
||||
setmatchflag( "bomb_timer", 1 );
|
||||
|
||||
if ( !level.multiBomb )
|
||||
if ( !level.multibomb )
|
||||
{
|
||||
level.sdBomb maps\mp\gametypes\_gameobjects::allowcarry( "none" );
|
||||
level.sdBomb maps\mp\gametypes\_gameobjects::setvisibleteam( "none" );
|
||||
level.sdBomb maps\mp\gametypes\_gameobjects::setdropped();
|
||||
level.sdBombModel = level.sdBomb.visuals[ 0 ];
|
||||
level.sdbomb maps\mp\gametypes\_gameobjects::allowcarry( "none" );
|
||||
level.sdbomb maps\mp\gametypes\_gameobjects::setvisibleteam( "none" );
|
||||
level.sdbomb maps\mp\gametypes\_gameobjects::setdropped();
|
||||
level.sdbombmodel = level.sdbomb.visuals[ 0 ];
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
for ( index = 0; index < level.players.size; index++ )
|
||||
{
|
||||
if ( isDefined( level.players[ index ].carryIcon ) )
|
||||
if ( isdefined( level.players[ index ].carryicon ) )
|
||||
{
|
||||
level.players[ index ].carryIcon destroyelem();
|
||||
level.players[ index ].carryicon destroyelem();
|
||||
}
|
||||
}
|
||||
|
||||
trace = bulletTrace( player.origin + ( 0, 0, 20 ), player.origin - ( 0, 0, 2000 ), false, player );
|
||||
trace = bullettrace( player.origin + ( 0, 0, 20 ), player.origin - ( 0, 0, 2000 ), false, player );
|
||||
|
||||
tempAngle = randomfloat( 360 );
|
||||
forward = ( cos( tempAngle ), sin( tempAngle ), 0 );
|
||||
forward = vectornormalize( forward - vector_scale( trace[ "normal" ], vectordot( forward, trace[ "normal" ] ) ) );
|
||||
dropAngles = vectortoangles( forward );
|
||||
|
||||
level.sdBombModel = spawn( "script_model", trace[ "position" ] );
|
||||
level.sdBombModel.angles = dropAngles;
|
||||
level.sdBombModel setModel( "prop_suitcase_bomb" );
|
||||
level.sdbombmodel = spawn( "script_model", trace[ "position" ] );
|
||||
level.sdbombmodel.angles = dropAngles;
|
||||
level.sdbombmodel setmodel( "prop_suitcase_bomb" );
|
||||
}
|
||||
|
||||
destroyedObj maps\mp\gametypes\_gameobjects::allowuse( "none" );
|
||||
@ -1046,12 +1046,12 @@ bot_bombPlanted( destroyedObj, player )
|
||||
label = destroyedObj maps\mp\gametypes\_gameobjects::getlabel();
|
||||
|
||||
// create a new object to defuse with.
|
||||
trigger = destroyedObj.bombDefuseTrig;
|
||||
trigger.origin = level.sdBombModel.origin;
|
||||
trigger = destroyedObj.bombdefusetrig;
|
||||
trigger.origin = level.sdbombmodel.origin;
|
||||
visuals = [];
|
||||
defuseObject = maps\mp\gametypes\_gameobjects::createuseobject( game[ "defenders" ], trigger, visuals, ( 0, 0, 32 ) );
|
||||
defuseObject maps\mp\gametypes\_gameobjects::allowuse( "friendly" );
|
||||
defuseObject maps\mp\gametypes\_gameobjects::setusetime( level.defuseTime );
|
||||
defuseObject maps\mp\gametypes\_gameobjects::setusetime( level.defusetime );
|
||||
defuseObject maps\mp\gametypes\_gameobjects::setusetext( &"MP_DEFUSING_EXPLOSIVE" );
|
||||
defuseObject maps\mp\gametypes\_gameobjects::setusehinttext( &"PLATFORM_HOLD_TO_DEFUSE_EXPLOSIVES" );
|
||||
defuseObject maps\mp\gametypes\_gameobjects::setvisibleteam( "any" );
|
||||
@ -1060,59 +1060,59 @@ bot_bombPlanted( destroyedObj, player )
|
||||
defuseObject maps\mp\gametypes\_gameobjects::set3dicon( "friendly", "waypoint_defuse" + label );
|
||||
defuseObject maps\mp\gametypes\_gameobjects::set3dicon( "enemy", "waypoint_defend" + label );
|
||||
defuseObject.label = label;
|
||||
defuseObject.onBeginUse = maps\mp\gametypes\sd::onbeginuse;
|
||||
defuseObject.onEndUse = maps\mp\gametypes\sd::onenduse;
|
||||
defuseObject.onUse = maps\mp\gametypes\sd::onusedefuseobject;
|
||||
defuseObject.useWeapon = "briefcase_bomb_defuse_mp";
|
||||
defuseObject.onbeginuse = maps\mp\gametypes\sd::onbeginuse;
|
||||
defuseObject.onenduse = maps\mp\gametypes\sd::onenduse;
|
||||
defuseObject.onuse = maps\mp\gametypes\sd::onusedefuseobject;
|
||||
defuseObject.useweapon = "briefcase_bomb_defuse_mp";
|
||||
|
||||
level.defuseObject = defuseObject; // every cod...
|
||||
level.defuseobject = defuseObject; // every cod...
|
||||
|
||||
player.isBombCarrier = false;
|
||||
player.isbombcarrier = false;
|
||||
|
||||
maps\mp\gametypes\sd::bombtimerwait();
|
||||
setMatchFlag( "bomb_timer", 0 );
|
||||
setmatchflag( "bomb_timer", 0 );
|
||||
|
||||
destroyedObj.visuals[ 0 ] maps\mp\gametypes\_globallogic_utils::stoptickingsound();
|
||||
|
||||
if ( level.gameEnded || level.bombDefused )
|
||||
if ( level.gameended || level.bombdefused )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
level.bombExploded = true;
|
||||
level.bombexploded = true;
|
||||
|
||||
|
||||
|
||||
explosionOrigin = level.sdBombModel.origin + ( 0, 0, 12 );
|
||||
level.sdBombModel hide();
|
||||
explosionOrigin = level.sdbombmodel.origin + ( 0, 0, 12 );
|
||||
level.sdbombmodel hide();
|
||||
|
||||
if ( isdefined( player ) )
|
||||
{
|
||||
destroyedObj.visuals[ 0 ] radiusDamage( explosionOrigin, 512, 200, 20, player, "MOD_EXPLOSIVE", "briefcase_bomb_mp" );
|
||||
destroyedObj.visuals[ 0 ] radiusdamage( explosionOrigin, 512, 200, 20, player, "MOD_EXPLOSIVE", "briefcase_bomb_mp" );
|
||||
level thread maps\mp\_popups::displayteammessagetoall( &"MP_EXPLOSIVES_BLOWUP_BY", player );
|
||||
player maps\mp\_medals::bomber();
|
||||
player maps\mp\gametypes\_persistence::stataddwithgametype( "DESTRUCTIONS", 1 );
|
||||
}
|
||||
else
|
||||
{
|
||||
destroyedObj.visuals[ 0 ] radiusDamage( explosionOrigin, 512, 200, 20, undefined, "MOD_EXPLOSIVE", "briefcase_bomb_mp" );
|
||||
destroyedObj.visuals[ 0 ] radiusdamage( explosionOrigin, 512, 200, 20, undefined, "MOD_EXPLOSIVE", "briefcase_bomb_mp" );
|
||||
}
|
||||
|
||||
rot = randomfloat( 360 );
|
||||
explosionEffect = spawnFx( level._effect[ "bombexplosion" ], explosionOrigin + ( 0, 0, 50 ), ( 0, 0, 1 ), ( cos( rot ), sin( rot ), 0 ) );
|
||||
triggerFx( explosionEffect );
|
||||
explosionEffect = spawnfx( level._effect[ "bombexplosion" ], explosionOrigin + ( 0, 0, 50 ), ( 0, 0, 1 ), ( cos( rot ), sin( rot ), 0 ) );
|
||||
triggerfx( explosionEffect );
|
||||
|
||||
thread playSoundinSpace( "mpl_sd_exp_suitcase_bomb_main", explosionOrigin );
|
||||
thread playsoundinspace( "mpl_sd_exp_suitcase_bomb_main", explosionOrigin );
|
||||
// thread maps\mp\gametypes\_globallogic_audio::set_music_on_team( "SILENT", "both" );
|
||||
|
||||
if ( isDefined( destroyedObj.exploderIndex ) )
|
||||
if ( isdefined( destroyedObj.exploderindex ) )
|
||||
{
|
||||
exploder( destroyedObj.exploderIndex );
|
||||
exploder( destroyedObj.exploderindex );
|
||||
}
|
||||
|
||||
for ( index = 0; index < level.bombZones.size; index++ )
|
||||
for ( index = 0; index < level.bombzones.size; index++ )
|
||||
{
|
||||
level.bombZones[ index ] maps\mp\gametypes\_gameobjects::disableobject();
|
||||
level.bombzones[ index ] maps\mp\gametypes\_gameobjects::disableobject();
|
||||
}
|
||||
|
||||
defuseObject maps\mp\gametypes\_gameobjects::disableobject();
|
||||
|
@ -15,170 +15,170 @@
|
||||
*/
|
||||
init()
|
||||
{
|
||||
level.bw_VERSION = "1.1.1";
|
||||
level.bw_version = "1.1.1";
|
||||
|
||||
level.bot_offline = false;
|
||||
|
||||
if ( getDvar( "bots_main" ) == "" )
|
||||
if ( getdvar( "bots_main" ) == "" )
|
||||
{
|
||||
setDvar( "bots_main", true );
|
||||
setdvar( "bots_main", true );
|
||||
}
|
||||
|
||||
if ( !getDvarInt( "bots_main" ) )
|
||||
if ( !getdvarint( "bots_main" ) )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if ( !wait_for_builtins() )
|
||||
{
|
||||
PrintLn( "FATAL: NO BUILT-INS FOR BOTS" );
|
||||
println( "FATAL: NO BUILT-INS FOR BOTS" );
|
||||
}
|
||||
|
||||
if ( getDvar( "bots_main_waitForHostTime" ) == "" )
|
||||
if ( getdvar( "bots_main_waitForHostTime" ) == "" )
|
||||
{
|
||||
setDvar( "bots_main_waitForHostTime", 10.0 ); // how long to wait to wait for the host player
|
||||
setdvar( "bots_main_waitForHostTime", 10.0 ); // how long to wait to wait for the host player
|
||||
}
|
||||
|
||||
if ( getDvar( "bots_main_kickBotsAtEnd" ) == "" )
|
||||
if ( getdvar( "bots_main_kickBotsAtEnd" ) == "" )
|
||||
{
|
||||
setDvar( "bots_main_kickBotsAtEnd", false ); // kicks the bots at game end
|
||||
setdvar( "bots_main_kickBotsAtEnd", false ); // kicks the bots at game end
|
||||
}
|
||||
|
||||
if ( getDvar( "bots_manage_add" ) == "" )
|
||||
if ( getdvar( "bots_manage_add" ) == "" )
|
||||
{
|
||||
setDvar( "bots_manage_add", 0 ); // amount of bots to add to the game
|
||||
setdvar( "bots_manage_add", 0 ); // amount of bots to add to the game
|
||||
}
|
||||
|
||||
if ( getDvar( "bots_manage_fill" ) == "" )
|
||||
if ( getdvar( "bots_manage_fill" ) == "" )
|
||||
{
|
||||
setDvar( "bots_manage_fill", 0 ); // amount of bots to maintain
|
||||
setdvar( "bots_manage_fill", 0 ); // amount of bots to maintain
|
||||
}
|
||||
|
||||
if ( getDvar( "bots_manage_fill_spec" ) == "" )
|
||||
if ( getdvar( "bots_manage_fill_spec" ) == "" )
|
||||
{
|
||||
setDvar( "bots_manage_fill_spec", true ); // to count for fill if player is on spec team
|
||||
setdvar( "bots_manage_fill_spec", true ); // to count for fill if player is on spec team
|
||||
}
|
||||
|
||||
if ( getDvar( "bots_manage_fill_mode" ) == "" )
|
||||
if ( getdvar( "bots_manage_fill_mode" ) == "" )
|
||||
{
|
||||
setDvar( "bots_manage_fill_mode", 0 ); // fill mode, 0 adds everyone, 1 just bots, 2 maintains at maps, 3 is 2 with 1
|
||||
setdvar( "bots_manage_fill_mode", 0 ); // fill mode, 0 adds everyone, 1 just bots, 2 maintains at maps, 3 is 2 with 1
|
||||
}
|
||||
|
||||
if ( getDvar( "bots_manage_fill_kick" ) == "" )
|
||||
if ( getdvar( "bots_manage_fill_kick" ) == "" )
|
||||
{
|
||||
setDvar( "bots_manage_fill_kick", false ); // kick bots if too many
|
||||
setdvar( "bots_manage_fill_kick", false ); // kick bots if too many
|
||||
}
|
||||
|
||||
if ( getDvar( "bots_skill" ) == "" ) // alias for bot_difficulty
|
||||
if ( getdvar( "bots_skill" ) == "" ) // alias for bot_difficulty
|
||||
{
|
||||
setDvar( "bots_skill", "" );
|
||||
setdvar( "bots_skill", "" );
|
||||
}
|
||||
|
||||
if ( getDvar( "bots_team" ) == "" )
|
||||
if ( getdvar( "bots_team" ) == "" )
|
||||
{
|
||||
setDvar( "bots_team", "autoassign" ); // which team for bots to join
|
||||
setdvar( "bots_team", "autoassign" ); // which team for bots to join
|
||||
}
|
||||
|
||||
if ( getDvar( "bots_team_amount" ) == "" )
|
||||
if ( getdvar( "bots_team_amount" ) == "" )
|
||||
{
|
||||
setDvar( "bots_team_amount", 0 ); // amount of bots on axis team
|
||||
setdvar( "bots_team_amount", 0 ); // amount of bots on axis team
|
||||
}
|
||||
|
||||
if ( getDvar( "bots_team_force" ) == "" )
|
||||
if ( getdvar( "bots_team_force" ) == "" )
|
||||
{
|
||||
setDvar( "bots_team_force", false ); // force bots on team
|
||||
setdvar( "bots_team_force", false ); // force bots on team
|
||||
}
|
||||
|
||||
if ( getDvar( "bots_team_mode" ) == "" )
|
||||
if ( getdvar( "bots_team_mode" ) == "" )
|
||||
{
|
||||
setDvar( "bots_team_mode", 0 ); // counts just bots when 1
|
||||
setdvar( "bots_team_mode", 0 ); // counts just bots when 1
|
||||
}
|
||||
|
||||
if ( getDvar( "bots_loadout_reasonable" ) == "" ) // filter out the bad 'guns' and perks
|
||||
if ( getdvar( "bots_loadout_reasonable" ) == "" ) // filter out the bad 'guns' and perks
|
||||
{
|
||||
setDvar( "bots_loadout_reasonable", false );
|
||||
setdvar( "bots_loadout_reasonable", false );
|
||||
}
|
||||
|
||||
if ( getDvar( "bots_loadout_allow_op" ) == "" ) // allows jug, marty and laststand
|
||||
if ( getdvar( "bots_loadout_allow_op" ) == "" ) // allows jug, marty and laststand
|
||||
{
|
||||
setDvar( "bots_loadout_allow_op", true );
|
||||
setdvar( "bots_loadout_allow_op", true );
|
||||
}
|
||||
|
||||
if ( getDvar( "bots_loadout_rank" ) == "" ) // what rank the bots should be around, -1 is around the players, 0 is all random
|
||||
if ( getdvar( "bots_loadout_rank" ) == "" ) // what rank the bots should be around, -1 is around the players, 0 is all random
|
||||
{
|
||||
setDvar( "bots_loadout_rank", -1 );
|
||||
setdvar( "bots_loadout_rank", -1 );
|
||||
}
|
||||
|
||||
if ( getDvar( "bots_loadout_codpoints" ) == "" ) // how much cod points a bot should have, -1 is around the players, 0 is all random
|
||||
if ( getdvar( "bots_loadout_codpoints" ) == "" ) // how much cod points a bot should have, -1 is around the players, 0 is all random
|
||||
{
|
||||
setDvar( "bots_loadout_codpoints", -1 );
|
||||
setdvar( "bots_loadout_codpoints", -1 );
|
||||
}
|
||||
|
||||
if ( getDvar( "bots_loadout_prestige" ) == "" ) // what pretige the bots will be, -1 is the players, -2 is random
|
||||
if ( getdvar( "bots_loadout_prestige" ) == "" ) // what pretige the bots will be, -1 is the players, -2 is random
|
||||
{
|
||||
setDvar( "bots_loadout_prestige", -1 );
|
||||
setdvar( "bots_loadout_prestige", -1 );
|
||||
}
|
||||
|
||||
if ( getDvar( "bots_play_target_other" ) == "" ) // bot target non play ents (vehicles)
|
||||
if ( getdvar( "bots_play_target_other" ) == "" ) // bot target non play ents (vehicles)
|
||||
{
|
||||
setDvar( "bots_play_target_other", true );
|
||||
setdvar( "bots_play_target_other", true );
|
||||
}
|
||||
|
||||
if ( getDvar( "bots_play_killstreak" ) == "" ) // bot use killstreaks
|
||||
if ( getdvar( "bots_play_killstreak" ) == "" ) // bot use killstreaks
|
||||
{
|
||||
setDvar( "bots_play_killstreak", true );
|
||||
setdvar( "bots_play_killstreak", true );
|
||||
}
|
||||
|
||||
if ( getDvar( "bots_play_nade" ) == "" ) // bots grenade
|
||||
if ( getdvar( "bots_play_nade" ) == "" ) // bots grenade
|
||||
{
|
||||
setDvar( "bots_play_nade", true );
|
||||
setdvar( "bots_play_nade", true );
|
||||
}
|
||||
|
||||
if ( getDvar( "bots_play_knife" ) == "" ) // bots knife
|
||||
if ( getdvar( "bots_play_knife" ) == "" ) // bots knife
|
||||
{
|
||||
setDvar( "bots_play_knife", true );
|
||||
setdvar( "bots_play_knife", true );
|
||||
}
|
||||
|
||||
if ( getDvar( "bots_play_fire" ) == "" ) // bots fire
|
||||
if ( getdvar( "bots_play_fire" ) == "" ) // bots fire
|
||||
{
|
||||
setDvar( "bots_play_fire", true );
|
||||
setdvar( "bots_play_fire", true );
|
||||
}
|
||||
|
||||
if ( getDvar( "bots_play_move" ) == "" ) // bots move
|
||||
if ( getdvar( "bots_play_move" ) == "" ) // bots move
|
||||
{
|
||||
setDvar( "bots_play_move", true );
|
||||
setdvar( "bots_play_move", true );
|
||||
}
|
||||
|
||||
if ( getDvar( "bots_play_take_carepackages" ) == "" ) // bots take carepackages
|
||||
if ( getdvar( "bots_play_take_carepackages" ) == "" ) // bots take carepackages
|
||||
{
|
||||
setDvar( "bots_play_take_carepackages", true );
|
||||
setdvar( "bots_play_take_carepackages", true );
|
||||
}
|
||||
|
||||
if ( getDvar( "bots_play_obj" ) == "" ) // bots play the obj
|
||||
if ( getdvar( "bots_play_obj" ) == "" ) // bots play the obj
|
||||
{
|
||||
setDvar( "bots_play_obj", true );
|
||||
setdvar( "bots_play_obj", true );
|
||||
}
|
||||
|
||||
if ( getDvar( "bots_play_camp" ) == "" ) // bots camp and follow
|
||||
if ( getdvar( "bots_play_camp" ) == "" ) // bots camp and follow
|
||||
{
|
||||
setDvar( "bots_play_camp", true );
|
||||
setdvar( "bots_play_camp", true );
|
||||
}
|
||||
|
||||
if ( getDvar( "bots_play_aim" ) == "" )
|
||||
if ( getdvar( "bots_play_aim" ) == "" )
|
||||
{
|
||||
setDvar( "bots_play_aim", true );
|
||||
setdvar( "bots_play_aim", true );
|
||||
}
|
||||
|
||||
if ( getDvar( "bots_play_jumpdrop" ) == "" ) // bots jump and dropshot
|
||||
if ( getdvar( "bots_play_jumpdrop" ) == "" ) // bots jump and dropshot
|
||||
{
|
||||
setDvar( "bots_play_jumpdrop", true );
|
||||
setdvar( "bots_play_jumpdrop", true );
|
||||
}
|
||||
|
||||
level.bots = [];
|
||||
level.bot_decoys = [];
|
||||
level.bot_planes = [];
|
||||
|
||||
if ( !isDefined( game[ "botWarfare" ] ) )
|
||||
if ( !isdefined( game[ "botWarfare" ] ) )
|
||||
{
|
||||
game[ "botWarfare" ] = true;
|
||||
}
|
||||
@ -221,9 +221,9 @@ handleBots()
|
||||
wait 0.05;
|
||||
}
|
||||
|
||||
setDvar( "bots_manage_add", getBotArray().size );
|
||||
setdvar( "bots_manage_add", getBotArray().size );
|
||||
|
||||
if ( !getDvarInt( "bots_main_kickBotsAtEnd" ) )
|
||||
if ( !getdvarint( "bots_main_kickBotsAtEnd" ) )
|
||||
{
|
||||
return;
|
||||
}
|
||||
@ -232,7 +232,7 @@ handleBots()
|
||||
|
||||
for ( i = 0; i < bots.size; i++ )
|
||||
{
|
||||
kick( bots[ i ] getEntityNumber() );
|
||||
kick( bots[ i ] getentitynumber() );
|
||||
}
|
||||
}
|
||||
|
||||
@ -279,43 +279,43 @@ watchBotDebugEvent()
|
||||
{
|
||||
self waittill( "bot_event", msg, str, b, c, d, e, f, g );
|
||||
|
||||
if ( GetDvarInt( "bots_main_debug" ) >= 2 )
|
||||
if ( getdvarint( "bots_main_debug" ) >= 2 )
|
||||
{
|
||||
big_str = "Bot Warfare debug: " + self.name + ": " + msg + ": " + str;
|
||||
|
||||
if ( isDefined( b ) && isString( b ) )
|
||||
if ( isdefined( b ) && isstring( b ) )
|
||||
{
|
||||
big_str += ": " + b;
|
||||
}
|
||||
|
||||
if ( isDefined( c ) && isString( c ) )
|
||||
if ( isdefined( c ) && isstring( c ) )
|
||||
{
|
||||
big_str += ": " + c;
|
||||
}
|
||||
|
||||
if ( isDefined( d ) && isString( d ) )
|
||||
if ( isdefined( d ) && isstring( d ) )
|
||||
{
|
||||
big_str += ": " + d;
|
||||
}
|
||||
|
||||
if ( isDefined( e ) && isString( e ) )
|
||||
if ( isdefined( e ) && isstring( e ) )
|
||||
{
|
||||
big_str += ": " + e;
|
||||
}
|
||||
|
||||
if ( isDefined( f ) && isString( f ) )
|
||||
if ( isdefined( f ) && isstring( f ) )
|
||||
{
|
||||
big_str += ": " + f;
|
||||
}
|
||||
|
||||
if ( isDefined( g ) && isString( g ) )
|
||||
if ( isdefined( g ) && isstring( g ) )
|
||||
{
|
||||
big_str += ": " + g;
|
||||
}
|
||||
|
||||
BotBuiltinPrintConsole( big_str );
|
||||
}
|
||||
else if ( msg == "debug" && GetDvarInt( "bots_main_debug" ) )
|
||||
else if ( msg == "debug" && getdvarint( "bots_main_debug" ) )
|
||||
{
|
||||
BotBuiltinPrintConsole( "Bot Warfare debug: " + self.name + ": " + str );
|
||||
}
|
||||
@ -333,13 +333,13 @@ diffBots()
|
||||
|
||||
// we dont use 'bots_skill' so that we can still use the .menu dvar
|
||||
|
||||
if ( getDvar( "bots_skill" ) != "" )
|
||||
if ( getdvar( "bots_skill" ) != "" )
|
||||
{
|
||||
SetDvar( "bot_difficulty", getDvar( "bots_skill" ) );
|
||||
setDvar( "bots_skill", "" );
|
||||
setdvar( "bot_difficulty", getdvar( "bots_skill" ) );
|
||||
setdvar( "bots_skill", "" );
|
||||
}
|
||||
|
||||
bot_set_difficulty( GetDvar( #"bot_difficulty" ) );
|
||||
bot_set_difficulty( getdvar( #"bot_difficulty" ) );
|
||||
}
|
||||
}
|
||||
|
||||
@ -348,63 +348,63 @@ diffBots()
|
||||
*/
|
||||
doNonDediBots()
|
||||
{
|
||||
if ( !GetDvarInt( #"xblive_basictraining" ) )
|
||||
if ( !getdvarint( #"xblive_basictraining" ) )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if ( isDefined( game[ "bots_spawned" ] ) )
|
||||
if ( isdefined( game[ "bots_spawned" ] ) )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
game[ "bots_spawned" ] = true;
|
||||
|
||||
if ( getDvar( "bot_enemies_extra" ) == "" )
|
||||
if ( getdvar( "bot_enemies_extra" ) == "" )
|
||||
{
|
||||
setDvar( "bot_enemies_extra", 0 );
|
||||
setdvar( "bot_enemies_extra", 0 );
|
||||
}
|
||||
|
||||
if ( getDvar( "bot_friends_extra" ) == "" )
|
||||
if ( getdvar( "bot_friends_extra" ) == "" )
|
||||
{
|
||||
setDvar( "bot_friends_extra", 0 );
|
||||
setdvar( "bot_friends_extra", 0 );
|
||||
}
|
||||
|
||||
bot_friends = GetDvarInt( #"bot_friends" );
|
||||
bot_enemies = GetDvarInt( #"bot_enemies" );
|
||||
bot_friends = getdvarint( #"bot_friends" );
|
||||
bot_enemies = getdvarint( #"bot_enemies" );
|
||||
|
||||
bot_enemies += GetDvarInt( "bot_enemies_extra" );
|
||||
bot_friends += GetDvarInt( "bot_friends_extra" );
|
||||
bot_enemies += getdvarint( "bot_enemies_extra" );
|
||||
bot_friends += getdvarint( "bot_friends_extra" );
|
||||
|
||||
bot_wait_for_host();
|
||||
host = GetHostPlayer();
|
||||
host = gethostplayer();
|
||||
|
||||
team = "allies";
|
||||
|
||||
if ( isDefined( host ) && isDefined( host.pers[ "team" ] ) && ( host.pers[ "team" ] == "allies" || host.pers[ "team" ] == "axis" ) )
|
||||
if ( isdefined( host ) && isdefined( host.pers[ "team" ] ) && ( host.pers[ "team" ] == "allies" || host.pers[ "team" ] == "axis" ) )
|
||||
{
|
||||
team = host.pers[ "team" ];
|
||||
}
|
||||
|
||||
setDvar( "bots_manage_add", bot_enemies + bot_friends - 1 );
|
||||
setDvar( "bots_manage_fill", bot_enemies + bot_friends );
|
||||
setDvar( "bots_manage_fill_mode", 0 );
|
||||
setDvar( "bots_manage_fill_kick", true );
|
||||
setDvar( "bots_manage_fill_spec", false );
|
||||
setdvar( "bots_manage_add", bot_enemies + bot_friends - 1 );
|
||||
setdvar( "bots_manage_fill", bot_enemies + bot_friends );
|
||||
setdvar( "bots_manage_fill_mode", 0 );
|
||||
setdvar( "bots_manage_fill_kick", true );
|
||||
setdvar( "bots_manage_fill_spec", false );
|
||||
|
||||
setDvar( "bots_team", "custom" );
|
||||
setdvar( "bots_team", "custom" );
|
||||
|
||||
if ( team == "axis" )
|
||||
{
|
||||
setDvar( "bots_team_amount", bot_friends );
|
||||
setdvar( "bots_team_amount", bot_friends );
|
||||
}
|
||||
else
|
||||
{
|
||||
setDvar( "bots_team_amount", bot_enemies );
|
||||
setdvar( "bots_team_amount", bot_enemies );
|
||||
}
|
||||
|
||||
setDvar( "bots_team_force", true );
|
||||
setDvar( "bots_team_mode", 0 );
|
||||
setdvar( "bots_team_force", true );
|
||||
setdvar( "bots_team_mode", 0 );
|
||||
}
|
||||
|
||||
/*
|
||||
@ -414,85 +414,85 @@ bot_set_difficulty( difficulty )
|
||||
{
|
||||
if ( difficulty == "fu" )
|
||||
{
|
||||
SetDvar( "sv_botMinDeathTime", "250" );
|
||||
SetDvar( "sv_botMaxDeathTime", "500" );
|
||||
SetDvar( "sv_botMinFireTime", "100" );
|
||||
SetDvar( "sv_botMaxFireTime", "300" );
|
||||
SetDvar( "sv_botYawSpeed", "14" );
|
||||
SetDvar( "sv_botYawSpeedAds", "14" );
|
||||
SetDvar( "sv_botPitchUp", "-5" );
|
||||
SetDvar( "sv_botPitchDown", "10" );
|
||||
SetDvar( "sv_botFov", "160" );
|
||||
SetDvar( "sv_botMinAdsTime", "3000" );
|
||||
SetDvar( "sv_botMaxAdsTime", "5000" );
|
||||
SetDvar( "sv_botMinCrouchTime", "100" );
|
||||
SetDvar( "sv_botMaxCrouchTime", "400" );
|
||||
SetDvar( "sv_botTargetLeadBias", "2" );
|
||||
SetDvar( "sv_botMinReactionTime", "30" );
|
||||
SetDvar( "sv_botMaxReactionTime", "100" );
|
||||
SetDvar( "sv_botStrafeChance", "1" );
|
||||
SetDvar( "sv_botMinStrafeTime", "3000" );
|
||||
SetDvar( "sv_botMaxStrafeTime", "6000" );
|
||||
SetDvar( "scr_help_dist", "512" );
|
||||
SetDvar( "sv_botAllowGrenades", "1" );
|
||||
SetDvar( "sv_botMinGrenadeTime", "1500" );
|
||||
SetDvar( "sv_botMaxGrenadeTime", "4000" );
|
||||
SetDvar( "sv_botSprintDistance", "512" );
|
||||
SetDvar( "sv_botMeleeDist", "80" );
|
||||
setdvar( "sv_botMinDeathTime", "250" );
|
||||
setdvar( "sv_botMaxDeathTime", "500" );
|
||||
setdvar( "sv_botMinFireTime", "100" );
|
||||
setdvar( "sv_botMaxFireTime", "300" );
|
||||
setdvar( "sv_botYawSpeed", "14" );
|
||||
setdvar( "sv_botYawSpeedAds", "14" );
|
||||
setdvar( "sv_botPitchUp", "-5" );
|
||||
setdvar( "sv_botPitchDown", "10" );
|
||||
setdvar( "sv_botFov", "160" );
|
||||
setdvar( "sv_botMinAdsTime", "3000" );
|
||||
setdvar( "sv_botMaxAdsTime", "5000" );
|
||||
setdvar( "sv_botMinCrouchTime", "100" );
|
||||
setdvar( "sv_botMaxCrouchTime", "400" );
|
||||
setdvar( "sv_botTargetLeadBias", "2" );
|
||||
setdvar( "sv_botMinReactionTime", "30" );
|
||||
setdvar( "sv_botMaxReactionTime", "100" );
|
||||
setdvar( "sv_botStrafeChance", "1" );
|
||||
setdvar( "sv_botMinStrafeTime", "3000" );
|
||||
setdvar( "sv_botMaxStrafeTime", "6000" );
|
||||
setdvar( "scr_help_dist", "512" );
|
||||
setdvar( "sv_botAllowGrenades", "1" );
|
||||
setdvar( "sv_botMinGrenadeTime", "1500" );
|
||||
setdvar( "sv_botMaxGrenadeTime", "4000" );
|
||||
setdvar( "sv_botSprintDistance", "512" );
|
||||
setdvar( "sv_botMeleeDist", "80" );
|
||||
}
|
||||
else if ( difficulty == "hard" )
|
||||
{
|
||||
SetDvar( "sv_botMinDeathTime", "250" );
|
||||
SetDvar( "sv_botMaxDeathTime", "500" );
|
||||
SetDvar( "sv_botMinFireTime", "400" );
|
||||
SetDvar( "sv_botMaxFireTime", "600" );
|
||||
SetDvar( "sv_botYawSpeed", "8" );
|
||||
SetDvar( "sv_botYawSpeedAds", "10" );
|
||||
SetDvar( "sv_botPitchUp", "-5" );
|
||||
SetDvar( "sv_botPitchDown", "10" );
|
||||
SetDvar( "sv_botFov", "100" );
|
||||
SetDvar( "sv_botMinAdsTime", "3000" );
|
||||
SetDvar( "sv_botMaxAdsTime", "5000" );
|
||||
SetDvar( "sv_botMinCrouchTime", "100" );
|
||||
SetDvar( "sv_botMaxCrouchTime", "400" );
|
||||
SetDvar( "sv_botTargetLeadBias", "2" );
|
||||
SetDvar( "sv_botMinReactionTime", "400" );
|
||||
SetDvar( "sv_botMaxReactionTime", "700" );
|
||||
SetDvar( "sv_botStrafeChance", "0.9" );
|
||||
SetDvar( "sv_botMinStrafeTime", "3000" );
|
||||
SetDvar( "sv_botMaxStrafeTime", "6000" );
|
||||
SetDvar( "scr_help_dist", "384" );
|
||||
SetDvar( "sv_botAllowGrenades", "1" );
|
||||
SetDvar( "sv_botMinGrenadeTime", "1500" );
|
||||
SetDvar( "sv_botMaxGrenadeTime", "4000" );
|
||||
SetDvar( "sv_botSprintDistance", "512" );
|
||||
SetDvar( "sv_botMeleeDist", "80" );
|
||||
setdvar( "sv_botMinDeathTime", "250" );
|
||||
setdvar( "sv_botMaxDeathTime", "500" );
|
||||
setdvar( "sv_botMinFireTime", "400" );
|
||||
setdvar( "sv_botMaxFireTime", "600" );
|
||||
setdvar( "sv_botYawSpeed", "8" );
|
||||
setdvar( "sv_botYawSpeedAds", "10" );
|
||||
setdvar( "sv_botPitchUp", "-5" );
|
||||
setdvar( "sv_botPitchDown", "10" );
|
||||
setdvar( "sv_botFov", "100" );
|
||||
setdvar( "sv_botMinAdsTime", "3000" );
|
||||
setdvar( "sv_botMaxAdsTime", "5000" );
|
||||
setdvar( "sv_botMinCrouchTime", "100" );
|
||||
setdvar( "sv_botMaxCrouchTime", "400" );
|
||||
setdvar( "sv_botTargetLeadBias", "2" );
|
||||
setdvar( "sv_botMinReactionTime", "400" );
|
||||
setdvar( "sv_botMaxReactionTime", "700" );
|
||||
setdvar( "sv_botStrafeChance", "0.9" );
|
||||
setdvar( "sv_botMinStrafeTime", "3000" );
|
||||
setdvar( "sv_botMaxStrafeTime", "6000" );
|
||||
setdvar( "scr_help_dist", "384" );
|
||||
setdvar( "sv_botAllowGrenades", "1" );
|
||||
setdvar( "sv_botMinGrenadeTime", "1500" );
|
||||
setdvar( "sv_botMaxGrenadeTime", "4000" );
|
||||
setdvar( "sv_botSprintDistance", "512" );
|
||||
setdvar( "sv_botMeleeDist", "80" );
|
||||
}
|
||||
else if ( difficulty == "easy" )
|
||||
{
|
||||
SetDvar( "sv_botMinDeathTime", "1000" );
|
||||
SetDvar( "sv_botMaxDeathTime", "2000" );
|
||||
SetDvar( "sv_botMinFireTime", "900" );
|
||||
SetDvar( "sv_botMaxFireTime", "1000" );
|
||||
SetDvar( "sv_botYawSpeed", "2" );
|
||||
SetDvar( "sv_botYawSpeedAds", "2.5" );
|
||||
SetDvar( "sv_botPitchUp", "-20" );
|
||||
SetDvar( "sv_botPitchDown", "40" );
|
||||
SetDvar( "sv_botFov", "50" );
|
||||
SetDvar( "sv_botMinAdsTime", "3000" );
|
||||
SetDvar( "sv_botMaxAdsTime", "5000" );
|
||||
SetDvar( "sv_botMinCrouchTime", "4000" );
|
||||
SetDvar( "sv_botMaxCrouchTime", "6000" );
|
||||
SetDvar( "sv_botTargetLeadBias", "8" );
|
||||
SetDvar( "sv_botMinReactionTime", "1200" );
|
||||
SetDvar( "sv_botMaxReactionTime", "1600" );
|
||||
SetDvar( "sv_botStrafeChance", "0.1" );
|
||||
SetDvar( "sv_botMinStrafeTime", "3000" );
|
||||
SetDvar( "sv_botMaxStrafeTime", "6000" );
|
||||
SetDvar( "scr_help_dist", "256" );
|
||||
SetDvar( "sv_botAllowGrenades", "0" );
|
||||
SetDvar( "sv_botSprintDistance", "1024" );
|
||||
SetDvar( "sv_botMeleeDist", "40" );
|
||||
setdvar( "sv_botMinDeathTime", "1000" );
|
||||
setdvar( "sv_botMaxDeathTime", "2000" );
|
||||
setdvar( "sv_botMinFireTime", "900" );
|
||||
setdvar( "sv_botMaxFireTime", "1000" );
|
||||
setdvar( "sv_botYawSpeed", "2" );
|
||||
setdvar( "sv_botYawSpeedAds", "2.5" );
|
||||
setdvar( "sv_botPitchUp", "-20" );
|
||||
setdvar( "sv_botPitchDown", "40" );
|
||||
setdvar( "sv_botFov", "50" );
|
||||
setdvar( "sv_botMinAdsTime", "3000" );
|
||||
setdvar( "sv_botMaxAdsTime", "5000" );
|
||||
setdvar( "sv_botMinCrouchTime", "4000" );
|
||||
setdvar( "sv_botMaxCrouchTime", "6000" );
|
||||
setdvar( "sv_botTargetLeadBias", "8" );
|
||||
setdvar( "sv_botMinReactionTime", "1200" );
|
||||
setdvar( "sv_botMaxReactionTime", "1600" );
|
||||
setdvar( "sv_botStrafeChance", "0.1" );
|
||||
setdvar( "sv_botMinStrafeTime", "3000" );
|
||||
setdvar( "sv_botMaxStrafeTime", "6000" );
|
||||
setdvar( "scr_help_dist", "256" );
|
||||
setdvar( "sv_botAllowGrenades", "0" );
|
||||
setdvar( "sv_botSprintDistance", "1024" );
|
||||
setdvar( "sv_botMeleeDist", "40" );
|
||||
}
|
||||
else // 'normal' difficulty
|
||||
{
|
||||
@ -501,53 +501,53 @@ bot_set_difficulty( difficulty )
|
||||
return;
|
||||
}
|
||||
|
||||
SetDvar( "sv_botMinDeathTime", "500" );
|
||||
SetDvar( "sv_botMaxDeathTime", "1000" );
|
||||
SetDvar( "sv_botMinFireTime", "600" );
|
||||
SetDvar( "sv_botMaxFireTime", "800" );
|
||||
SetDvar( "sv_botYawSpeed", "4" );
|
||||
SetDvar( "sv_botYawSpeedAds", "5" );
|
||||
SetDvar( "sv_botPitchUp", "-10" );
|
||||
SetDvar( "sv_botPitchDown", "20" );
|
||||
SetDvar( "sv_botFov", "70" );
|
||||
SetDvar( "sv_botMinAdsTime", "3000" );
|
||||
SetDvar( "sv_botMaxAdsTime", "5000" );
|
||||
SetDvar( "sv_botMinCrouchTime", "2000" );
|
||||
SetDvar( "sv_botMaxCrouchTime", "4000" );
|
||||
SetDvar( "sv_botTargetLeadBias", "4" );
|
||||
SetDvar( "sv_botMinReactionTime", "800" );
|
||||
SetDvar( "sv_botMaxReactionTime", "1200" );
|
||||
SetDvar( "sv_botStrafeChance", "0.6" );
|
||||
SetDvar( "sv_botMinStrafeTime", "3000" );
|
||||
SetDvar( "sv_botMaxStrafeTime", "6000" );
|
||||
SetDvar( "scr_help_dist", "256" );
|
||||
SetDvar( "sv_botAllowGrenades", "1" );
|
||||
SetDvar( "sv_botMinGrenadeTime", "1500" );
|
||||
SetDvar( "sv_botMaxGrenadeTime", "4000" );
|
||||
SetDvar( "sv_botSprintDistance", "512" );
|
||||
SetDvar( "sv_botMeleeDist", "80" );
|
||||
setdvar( "sv_botMinDeathTime", "500" );
|
||||
setdvar( "sv_botMaxDeathTime", "1000" );
|
||||
setdvar( "sv_botMinFireTime", "600" );
|
||||
setdvar( "sv_botMaxFireTime", "800" );
|
||||
setdvar( "sv_botYawSpeed", "4" );
|
||||
setdvar( "sv_botYawSpeedAds", "5" );
|
||||
setdvar( "sv_botPitchUp", "-10" );
|
||||
setdvar( "sv_botPitchDown", "20" );
|
||||
setdvar( "sv_botFov", "70" );
|
||||
setdvar( "sv_botMinAdsTime", "3000" );
|
||||
setdvar( "sv_botMaxAdsTime", "5000" );
|
||||
setdvar( "sv_botMinCrouchTime", "2000" );
|
||||
setdvar( "sv_botMaxCrouchTime", "4000" );
|
||||
setdvar( "sv_botTargetLeadBias", "4" );
|
||||
setdvar( "sv_botMinReactionTime", "800" );
|
||||
setdvar( "sv_botMaxReactionTime", "1200" );
|
||||
setdvar( "sv_botStrafeChance", "0.6" );
|
||||
setdvar( "sv_botMinStrafeTime", "3000" );
|
||||
setdvar( "sv_botMaxStrafeTime", "6000" );
|
||||
setdvar( "scr_help_dist", "256" );
|
||||
setdvar( "sv_botAllowGrenades", "1" );
|
||||
setdvar( "sv_botMinGrenadeTime", "1500" );
|
||||
setdvar( "sv_botMaxGrenadeTime", "4000" );
|
||||
setdvar( "sv_botSprintDistance", "512" );
|
||||
setdvar( "sv_botMeleeDist", "80" );
|
||||
difficulty = "normal";
|
||||
}
|
||||
|
||||
if ( level.gameType == "oic" && difficulty == "fu" )
|
||||
if ( level.gametype == "oic" && difficulty == "fu" )
|
||||
{
|
||||
SetDvar( "sv_botMinReactionTime", "400" );
|
||||
SetDvar( "sv_botMaxReactionTime", "500" );
|
||||
SetDvar( "sv_botMinAdsTime", "1000" );
|
||||
SetDvar( "sv_botMaxAdsTime", "2000" );
|
||||
setdvar( "sv_botMinReactionTime", "400" );
|
||||
setdvar( "sv_botMaxReactionTime", "500" );
|
||||
setdvar( "sv_botMinAdsTime", "1000" );
|
||||
setdvar( "sv_botMaxAdsTime", "2000" );
|
||||
}
|
||||
|
||||
if ( level.gameType == "oic" && ( difficulty == "hard" || difficulty == "fu" ) )
|
||||
if ( level.gametype == "oic" && ( difficulty == "hard" || difficulty == "fu" ) )
|
||||
{
|
||||
SetDvar( "sv_botSprintDistance", "256" );
|
||||
setdvar( "sv_botSprintDistance", "256" );
|
||||
}
|
||||
|
||||
if ( !getDvarInt( "bots_play_nade" ) )
|
||||
if ( !getdvarint( "bots_play_nade" ) )
|
||||
{
|
||||
SetDvar( "sv_botAllowGrenades", "0" );
|
||||
setdvar( "sv_botAllowGrenades", "0" );
|
||||
}
|
||||
|
||||
if ( !getDvarInt( "bots_play_aim" ) )
|
||||
if ( !getdvarint( "bots_play_aim" ) )
|
||||
{
|
||||
setdvar( "sv_botYawSpeed", "0" );
|
||||
setdvar( "sv_botYawSpeedAds", "0" );
|
||||
@ -555,9 +555,9 @@ bot_set_difficulty( difficulty )
|
||||
setdvar( "sv_botPitchDown", "0" );
|
||||
}
|
||||
|
||||
SetDvar( "bot_difficulty", difficulty );
|
||||
SetDvar( "scr_bot_difficulty", difficulty );
|
||||
SetDvar( "splitscreen_botDifficulty", difficulty );
|
||||
setdvar( "bot_difficulty", difficulty );
|
||||
setdvar( "scr_bot_difficulty", difficulty );
|
||||
setdvar( "splitscreen_botDifficulty", difficulty );
|
||||
}
|
||||
|
||||
/*
|
||||
@ -565,8 +565,8 @@ bot_set_difficulty( difficulty )
|
||||
*/
|
||||
teamBots_loop()
|
||||
{
|
||||
teamAmount = getDvarInt( "bots_team_amount" );
|
||||
toTeam = getDvar( "bots_team" );
|
||||
teamAmount = getdvarint( "bots_team_amount" );
|
||||
toTeam = getdvar( "bots_team" );
|
||||
|
||||
alliesbots = 0;
|
||||
alliesplayers = 0;
|
||||
@ -579,7 +579,7 @@ teamBots_loop()
|
||||
{
|
||||
player = level.players[ i ];
|
||||
|
||||
if ( !isDefined( player.pers[ "team" ] ) )
|
||||
if ( !isdefined( player.pers[ "team" ] ) )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
@ -611,7 +611,7 @@ teamBots_loop()
|
||||
allies = alliesbots;
|
||||
axis = axisbots;
|
||||
|
||||
if ( !getDvarInt( "bots_team_mode" ) )
|
||||
if ( !getdvarint( "bots_team_mode" ) )
|
||||
{
|
||||
allies += alliesplayers;
|
||||
axis += axisplayers;
|
||||
@ -619,7 +619,7 @@ teamBots_loop()
|
||||
|
||||
if ( toTeam != "custom" )
|
||||
{
|
||||
if ( getDvarInt( "bots_team_force" ) )
|
||||
if ( getdvarint( "bots_team_force" ) )
|
||||
{
|
||||
if ( toTeam == "autoassign" )
|
||||
{
|
||||
@ -642,7 +642,7 @@ teamBots_loop()
|
||||
{
|
||||
player = level.players[ i ];
|
||||
|
||||
if ( !isDefined( player.pers[ "team" ] ) )
|
||||
if ( !isdefined( player.pers[ "team" ] ) )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
@ -683,7 +683,7 @@ teamBots_loop()
|
||||
{
|
||||
player = level.players[ i ];
|
||||
|
||||
if ( !isDefined( player.pers[ "team" ] ) )
|
||||
if ( !isdefined( player.pers[ "team" ] ) )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
@ -735,11 +735,11 @@ teamBots()
|
||||
*/
|
||||
addBots_loop()
|
||||
{
|
||||
botsToAdd = GetDvarInt( "bots_manage_add" );
|
||||
botsToAdd = getdvarint( "bots_manage_add" );
|
||||
|
||||
if ( botsToAdd > 0 )
|
||||
{
|
||||
SetDvar( "bots_manage_add", 0 );
|
||||
setdvar( "bots_manage_add", 0 );
|
||||
|
||||
if ( botsToAdd > 64 )
|
||||
{
|
||||
@ -753,14 +753,14 @@ addBots_loop()
|
||||
}
|
||||
}
|
||||
|
||||
fillMode = getDVarInt( "bots_manage_fill_mode" );
|
||||
fillMode = getdvarint( "bots_manage_fill_mode" );
|
||||
|
||||
if ( fillMode == 2 || fillMode == 3 )
|
||||
{
|
||||
setDvar( "bots_manage_fill", getGoodMapAmount() );
|
||||
setdvar( "bots_manage_fill", getGoodMapAmount() );
|
||||
}
|
||||
|
||||
fillAmount = getDvarInt( "bots_manage_fill" );
|
||||
fillAmount = getdvarint( "bots_manage_fill" );
|
||||
|
||||
players = 0;
|
||||
bots = 0;
|
||||
@ -781,7 +781,7 @@ addBots_loop()
|
||||
{
|
||||
bots++;
|
||||
}
|
||||
else if ( !isDefined( player.pers[ "team" ] ) || ( player.pers[ "team" ] != "axis" && player.pers[ "team" ] != "allies" ) )
|
||||
else if ( !isdefined( player.pers[ "team" ] ) || ( player.pers[ "team" ] != "axis" && player.pers[ "team" ] != "allies" ) )
|
||||
{
|
||||
spec++;
|
||||
}
|
||||
@ -807,7 +807,7 @@ addBots_loop()
|
||||
continue;
|
||||
}
|
||||
|
||||
if ( !isDefined( player.pers[ "team" ] ) )
|
||||
if ( !isdefined( player.pers[ "team" ] ) )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
@ -843,11 +843,11 @@ addBots_loop()
|
||||
bots = result;
|
||||
}
|
||||
|
||||
if ( !randomInt( 999 ) )
|
||||
if ( !randomint( 999 ) )
|
||||
{
|
||||
setDvar( "testclients_doreload", true );
|
||||
setdvar( "testclients_doreload", true );
|
||||
wait 0.1;
|
||||
setDvar( "testclients_doreload", false );
|
||||
setdvar( "testclients_doreload", false );
|
||||
doExtraCheck();
|
||||
}
|
||||
|
||||
@ -858,22 +858,22 @@ addBots_loop()
|
||||
amount += players;
|
||||
}
|
||||
|
||||
if ( getDVarInt( "bots_manage_fill_spec" ) )
|
||||
if ( getdvarint( "bots_manage_fill_spec" ) )
|
||||
{
|
||||
amount += spec;
|
||||
}
|
||||
|
||||
if ( amount < fillAmount )
|
||||
{
|
||||
setDvar( "bots_manage_add", 1 );
|
||||
setdvar( "bots_manage_add", 1 );
|
||||
}
|
||||
else if ( amount > fillAmount && getDvarInt( "bots_manage_fill_kick" ) )
|
||||
else if ( amount > fillAmount && getdvarint( "bots_manage_fill_kick" ) )
|
||||
{
|
||||
tempBot = getBotToKick();
|
||||
|
||||
if ( isDefined( tempBot ) )
|
||||
if ( isdefined( tempBot ) )
|
||||
{
|
||||
kick( tempBot getEntityNumber(), "EXE_PLAYERKICKED" );
|
||||
kick( tempBot getentitynumber(), "EXE_PLAYERKICKED" );
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -931,12 +931,12 @@ bot_damage_callback( eAttacker, iDamage, sMeansOfDeath, sWeapon, eInflictor, sHi
|
||||
*/
|
||||
bot_is_idle()
|
||||
{
|
||||
if ( !IsDefined( self ) )
|
||||
if ( !isdefined( self ) )
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if ( !IsAlive( self ) )
|
||||
if ( !isalive( self ) )
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@ -951,22 +951,22 @@ bot_is_idle()
|
||||
return false;
|
||||
}
|
||||
|
||||
if ( self HasScriptGoal() )
|
||||
if ( self hasscriptgoal() )
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if ( IsDefined( self GetThreat() ) )
|
||||
if ( isdefined( self getthreat() ) )
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if ( self IsRemoteControlling() || self.bot_lock_goal )
|
||||
if ( self isremotecontrolling() || self.bot_lock_goal )
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if ( self UseButtonPressed() )
|
||||
if ( self usebuttonpressed() )
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@ -997,7 +997,7 @@ watch_grenade()
|
||||
{
|
||||
self waittill( "grenade_fire", g, name );
|
||||
|
||||
if ( !isDefined( g ) )
|
||||
if ( !isdefined( g ) )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
@ -1041,7 +1041,7 @@ watch_decoy( g )
|
||||
}
|
||||
|
||||
/*
|
||||
Attach a trigger to the scrambler
|
||||
attach a trigger to the scrambler
|
||||
*/
|
||||
watch_scrambler()
|
||||
{
|
||||
@ -1060,7 +1060,7 @@ scramble_nearby( trig )
|
||||
self endon( "death" );
|
||||
self endon( "hacked" );
|
||||
|
||||
while ( !isDefined( self.owner ) || !isDefined( self.owner.team ) )
|
||||
while ( !isdefined( self.owner ) || !isdefined( self.owner.team ) )
|
||||
{
|
||||
wait 0.05;
|
||||
}
|
||||
@ -1071,7 +1071,7 @@ scramble_nearby( trig )
|
||||
{
|
||||
trig waittill( "trigger", player );
|
||||
|
||||
if ( !isDefined( player ) || !isDefined( player.team ) )
|
||||
if ( !isdefined( player ) || !isdefined( player.team ) )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
@ -1081,12 +1081,12 @@ scramble_nearby( trig )
|
||||
continue;
|
||||
}
|
||||
|
||||
if ( isDefined( self.owner ) && player == self.owner )
|
||||
if ( isdefined( self.owner ) && player == self.owner )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if ( level.teamBased && self.team == player.team )
|
||||
if ( level.teambased && self.team == player.team )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
@ -1106,7 +1106,7 @@ scramble_player()
|
||||
self.bot_scrambled = true;
|
||||
wait 0.1;
|
||||
|
||||
if ( isDefined( self ) )
|
||||
if ( isdefined( self ) )
|
||||
{
|
||||
self.bot_scrambled = false;
|
||||
}
|
||||
@ -1146,13 +1146,13 @@ doFiringThread()
|
||||
*/
|
||||
bot_watch_planes_loop()
|
||||
{
|
||||
ents = GetEntArray( "script_model", "classname" );
|
||||
ents = getentarray( "script_model", "classname" );
|
||||
|
||||
for ( i = 0; i < ents.size; i++ )
|
||||
{
|
||||
ent = ents[ i ];
|
||||
|
||||
if ( isDefined( ent.bot_plane ) )
|
||||
if ( isdefined( ent.bot_plane ) )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
@ -1221,13 +1221,13 @@ fixGamemodes()
|
||||
{
|
||||
for ( i = 0; i < 19; i++ )
|
||||
{
|
||||
if ( isDefined( level.bombZones ) && level.gametype == "sd" )
|
||||
if ( isdefined( level.bombzones ) && level.gametype == "sd" )
|
||||
{
|
||||
level.isKillBoosting = ::bot_killBoost;
|
||||
level.iskillboosting = ::bot_killBoost;
|
||||
|
||||
for ( i = 0; i < level.bombZones.size; i++ )
|
||||
for ( i = 0; i < level.bombzones.size; i++ )
|
||||
{
|
||||
level.bombZones[ i ].onUse = ::bot_onUsePlantObjectFix;
|
||||
level.bombzones[ i ].onuse = ::bot_onUsePlantObjectFix;
|
||||
}
|
||||
|
||||
break;
|
||||
|
@ -19,75 +19,75 @@ init()
|
||||
|
||||
do_printconsole( s )
|
||||
{
|
||||
PrintLn( s );
|
||||
println( s );
|
||||
}
|
||||
|
||||
do_botmovementoverride( a, b )
|
||||
{
|
||||
self botMovementOverride( a, b );
|
||||
self botmovementoverride( a, b );
|
||||
}
|
||||
|
||||
do_botclearmovementoverride()
|
||||
{
|
||||
self botClearMovementOverride();
|
||||
self botclearmovementoverride();
|
||||
}
|
||||
|
||||
do_botclearbuttonoverride( a )
|
||||
{
|
||||
self botClearButtonOverride( a );
|
||||
self botclearbuttonoverride( a );
|
||||
}
|
||||
|
||||
do_botbuttonoverride( a, b )
|
||||
{
|
||||
self botButtonOverride( a, b );
|
||||
self botbuttonoverride( a, b );
|
||||
}
|
||||
|
||||
do_botclearoverrides( a )
|
||||
{
|
||||
self botClearOverrides( a );
|
||||
self botclearoverrides( a );
|
||||
}
|
||||
|
||||
do_botmantleoverride()
|
||||
{
|
||||
self botMantleOverride();
|
||||
self botmantleoverride();
|
||||
}
|
||||
|
||||
do_botclearmantleoverride()
|
||||
{
|
||||
self botClearMantleOverride();
|
||||
self botclearmantleoverride();
|
||||
}
|
||||
|
||||
do_botclearweaponoverride()
|
||||
{
|
||||
self botClearWeaponOverride();
|
||||
self botclearweaponoverride();
|
||||
}
|
||||
|
||||
do_botweaponoverride( a )
|
||||
{
|
||||
self botWeaponOverride( a );
|
||||
self botweaponoverride( a );
|
||||
}
|
||||
|
||||
do_botclearbuttonoverrides()
|
||||
{
|
||||
self botClearButtonOverrides();
|
||||
self botclearbuttonoverrides();
|
||||
}
|
||||
|
||||
do_botaimoverride()
|
||||
{
|
||||
self botAimOverride();
|
||||
self botaimoverride();
|
||||
}
|
||||
|
||||
do_botclearaimoverride()
|
||||
{
|
||||
self botClearAimOverride();
|
||||
self botclearaimoverride();
|
||||
}
|
||||
|
||||
do_botmeleeparams( yaw, dist )
|
||||
{
|
||||
// self botMeleeParams( yaw, dist );
|
||||
// self botmeleeparams( yaw, dist );
|
||||
}
|
||||
|
||||
do_clearbotmeleeparams()
|
||||
{
|
||||
// self botClearMeleeParams();
|
||||
// self botclearmeleeparams();
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user