case sensitive funcs and vars

This commit is contained in:
ineed bots 2023-12-22 12:55:08 -06:00
parent 37da9c0a31
commit a569ec0ccc
7 changed files with 1766 additions and 1767 deletions

View File

@ -17,205 +17,205 @@ init()
{ {
level.bw_version = "2.1.0"; level.bw_version = "2.1.0";
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; return;
} }
if ( !wait_for_builtins() ) if ( !wait_for_builtins() )
{ {
PrintLn( "FATAL: NO BUILT-INS FOR BOTS" ); println( "FATAL: NO BUILT-INS FOR BOTS" );
} }
thread load_waypoints(); thread load_waypoints();
thread hook_callbacks(); thread hook_callbacks();
if ( getDvar( "bots_main_GUIDs" ) == "" ) if ( getdvar( "bots_main_GUIDs" ) == "" )
{ {
setDvar( "bots_main_GUIDs", "" ); // guids of players who will be given host powers, comma seperated setdvar( "bots_main_GUIDs", "" ); // guids of players who will be given host powers, comma seperated
} }
if ( getDvar( "bots_main_firstIsHost" ) == "" ) if ( getdvar( "bots_main_firstIsHost" ) == "" )
{ {
setDvar( "bots_main_firstIsHost", false ); // first play to connect is a host setdvar( "bots_main_firstIsHost", false ); // first play to connect is a host
} }
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_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_skill" ) == "" ) if ( getdvar( "bots_skill" ) == "" )
{ {
setDvar( "bots_skill", 0 ); // 0 is random, 1 is easy 7 is hard, 8 is custom, 9 is completely random setdvar( "bots_skill", 0 ); // 0 is random, 1 is easy 7 is hard, 8 is custom, 9 is completely random
} }
if ( getDvar( "bots_skill_axis_hard" ) == "" ) if ( getdvar( "bots_skill_axis_hard" ) == "" )
{ {
setDvar( "bots_skill_axis_hard", 0 ); // amount of hard bots on axis team setdvar( "bots_skill_axis_hard", 0 ); // amount of hard bots on axis team
} }
if ( getDvar( "bots_skill_axis_med" ) == "" ) if ( getdvar( "bots_skill_axis_med" ) == "" )
{ {
setDvar( "bots_skill_axis_med", 0 ); setdvar( "bots_skill_axis_med", 0 );
} }
if ( getDvar( "bots_skill_allies_hard" ) == "" ) if ( getdvar( "bots_skill_allies_hard" ) == "" )
{ {
setDvar( "bots_skill_allies_hard", 0 ); setdvar( "bots_skill_allies_hard", 0 );
} }
if ( getDvar( "bots_skill_allies_med" ) == "" ) if ( getdvar( "bots_skill_allies_med" ) == "" )
{ {
setDvar( "bots_skill_allies_med", 0 ); setdvar( "bots_skill_allies_med", 0 );
} }
if ( getDvar( "bots_skill_min" ) == "" ) if ( getdvar( "bots_skill_min" ) == "" )
{ {
setDvar( "bots_skill_min", 1 ); setdvar( "bots_skill_min", 1 );
} }
if ( getDvar( "bots_skill_max" ) == "" ) if ( getdvar( "bots_skill_max" ) == "" )
{ {
setDvar( "bots_skill_max", 7 ); setdvar( "bots_skill_max", 7 );
} }
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_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_move" ) == "" ) // bots move if ( getdvar( "bots_play_move" ) == "" ) // bots move
{ {
setDvar( "bots_play_move", true ); setdvar( "bots_play_move", 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_nade" ) == "" ) // bots grenade if ( getdvar( "bots_play_nade" ) == "" ) // bots grenade
{ {
setDvar( "bots_play_nade", true ); setdvar( "bots_play_nade", 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_jumpdrop" ) == "" ) // bots jump and dropshot if ( getdvar( "bots_play_jumpdrop" ) == "" ) // bots jump and dropshot
{ {
setDvar( "bots_play_jumpdrop", true ); setdvar( "bots_play_jumpdrop", true );
} }
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_ads" ) == "" ) // bot ads if ( getdvar( "bots_play_ads" ) == "" ) // bot ads
{ {
setDvar( "bots_play_ads", true ); setdvar( "bots_play_ads", true );
} }
if ( getDvar( "bots_play_aim" ) == "" ) if ( getdvar( "bots_play_aim" ) == "" )
{ {
setDvar( "bots_play_aim", true ); setdvar( "bots_play_aim", true );
} }
if ( !isDefined( game[ "botWarfare" ] ) ) if ( !isdefined( game[ "botWarfare" ] ) )
{ {
game[ "botWarfare" ] = true; game[ "botWarfare" ] = true;
} }
@ -296,9 +296,9 @@ handleBots()
wait 0.05; 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; return;
} }
@ -307,7 +307,7 @@ handleBots()
for ( i = 0; i < bots.size; i++ ) for ( i = 0; i < bots.size; i++ )
{ {
kick( bots[ i ] getEntityNumber(), "EXE_PLAYERKICKED" ); kick( bots[ i ] getentitynumber(), "EXE_PLAYERKICKED" );
} }
} }
@ -360,7 +360,7 @@ fixGamemodes()
{ {
for ( i = 0; i < 19; i++ ) for ( i = 0; i < 19; i++ )
{ {
if ( isDefined( level.bombzones ) && level.gametype == "sd" ) if ( isdefined( level.bombzones ) && level.gametype == "sd" )
{ {
for ( i = 0; i < level.bombzones.size; i++ ) for ( i = 0; i < level.bombzones.size; i++ )
{ {
@ -370,14 +370,14 @@ fixGamemodes()
break; break;
} }
if ( isDefined( level.radios ) && level.gametype == "koth" ) if ( isdefined( level.radios ) && level.gametype == "koth" )
{ {
level thread fixKoth(); level thread fixKoth();
break; break;
} }
if ( isDefined( level.bombzones ) && level.gametype == "dd" ) if ( isdefined( level.bombzones ) && level.gametype == "dd" )
{ {
level thread fixDem(); level thread fixDem();
@ -402,7 +402,7 @@ fixDem()
{ {
bombzone = level.bombzones[ i ]; bombzone = level.bombzones[ i ];
if ( isDefined( bombzone.trigger.trigger_off ) ) if ( isdefined( bombzone.trigger.trigger_off ) )
{ {
bombzone.bombexploded = true; bombzone.bombexploded = true;
} }
@ -427,7 +427,7 @@ fixKoth()
{ {
wait 0.05; wait 0.05;
if ( !isDefined( level.radioobject ) ) if ( !isdefined( level.radioobject ) )
{ {
continue; continue;
} }
@ -443,7 +443,7 @@ fixKoth()
break; break;
} }
while ( isDefined( level.radioobject ) && level.radio.gameobject == level.radioobject ) while ( isdefined( level.radioobject ) && level.radio.gameobject == level.radioobject )
{ {
wait 0.05; wait 0.05;
} }
@ -455,13 +455,13 @@ fixKoth()
*/ */
addNotifyOnAirdrops_loop() addNotifyOnAirdrops_loop()
{ {
dropCrates = getEntArray( "care_package", "targetname" ); dropCrates = getentarray( "care_package", "targetname" );
for ( i = dropCrates.size - 1; i >= 0; i-- ) for ( i = dropCrates.size - 1; i >= 0; i-- )
{ {
airdrop = dropCrates[ i ]; airdrop = dropCrates[ i ];
if ( isDefined( airdrop.doingphysics ) ) if ( isdefined( airdrop.doingphysics ) )
{ {
continue; continue;
} }
@ -493,7 +493,7 @@ doNotifyOnAirdrop()
self.doingphysics = false; self.doingphysics = false;
if ( isDefined( self.owner ) ) if ( isdefined( self.owner ) )
{ {
self.owner notify( "crate_physics_done" ); self.owner notify( "crate_physics_done" );
} }
@ -510,7 +510,7 @@ onCarepackageCaptured()
self waittill( "captured", player ); self waittill( "captured", player );
if ( isDefined( self.owner ) && self.owner is_bot() ) if ( isdefined( self.owner ) && self.owner is_bot() )
{ {
self.owner BotNotifyBotEvent( "crate_cap", "captured", self, player ); self.owner BotNotifyBotEvent( "crate_cap", "captured", self, player );
} }
@ -549,12 +549,12 @@ watchScrabler_loop()
{ {
player = level.players[ i ]; player = level.players[ i ];
if ( !player _HasPerk( "specialty_localjammer" ) || !isReallyAlive( player ) ) if ( !player _hasperk( "specialty_localjammer" ) || !isreallyalive( player ) )
{ {
continue; continue;
} }
if ( player isEMPed() ) if ( player isemped() )
{ {
continue; continue;
} }
@ -573,7 +573,7 @@ watchScrabler_loop()
continue; continue;
} }
if ( DistanceSquared( player2.origin, player.origin ) > 256 * 256 ) if ( distancesquared( player2.origin, player.origin ) > 256 * 256 )
{ {
continue; continue;
} }
@ -613,7 +613,7 @@ connected()
{ {
self endon( "disconnect" ); self endon( "disconnect" );
if ( !isDefined( self.pers[ "bot_host" ] ) ) if ( !isdefined( self.pers[ "bot_host" ] ) )
{ {
self thread doHostCheck(); self thread doHostCheck();
} }
@ -623,13 +623,13 @@ connected()
return; return;
} }
if ( !isDefined( self.pers[ "isBot" ] ) ) if ( !isdefined( self.pers[ "isBot" ] ) )
{ {
// fast_restart occured... // fast_restart occured...
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 added();
@ -657,48 +657,48 @@ watchBotDebugEvent()
{ {
self waittill( "bot_event", msg, str, b, c, d, e, f, g ); 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; big_str = "Bot Warfare debug: " + self.name + ": " + msg;
if ( isDefined( str ) && isString( str ) ) if ( isdefined( str ) && isstring( str ) )
{ {
big_str += ", " + str; big_str += ", " + str;
} }
if ( isDefined( b ) && isString( b ) ) if ( isdefined( b ) && isstring( b ) )
{ {
big_str += ", " + b; big_str += ", " + b;
} }
if ( isDefined( c ) && isString( c ) ) if ( isdefined( c ) && isstring( c ) )
{ {
big_str += ", " + c; big_str += ", " + c;
} }
if ( isDefined( d ) && isString( d ) ) if ( isdefined( d ) && isstring( d ) )
{ {
big_str += ", " + d; big_str += ", " + d;
} }
if ( isDefined( e ) && isString( e ) ) if ( isdefined( e ) && isstring( e ) )
{ {
big_str += ", " + e; big_str += ", " + e;
} }
if ( isDefined( f ) && isString( f ) ) if ( isdefined( f ) && isstring( f ) )
{ {
big_str += ", " + f; big_str += ", " + f;
} }
if ( isDefined( g ) && isString( g ) ) if ( isdefined( g ) && isstring( g ) )
{ {
big_str += ", " + g; big_str += ", " + g;
} }
BotBuiltinPrintConsole( big_str ); 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 ); BotBuiltinPrintConsole( "Bot Warfare debug: " + self.name + ": " + str );
} }
@ -736,11 +736,11 @@ add_bot()
*/ */
diffBots_loop() diffBots_loop()
{ {
var_allies_hard = getDVarInt( "bots_skill_allies_hard" ); var_allies_hard = getdvarint( "bots_skill_allies_hard" );
var_allies_med = getDVarInt( "bots_skill_allies_med" ); var_allies_med = getdvarint( "bots_skill_allies_med" );
var_axis_hard = getDVarInt( "bots_skill_axis_hard" ); var_axis_hard = getdvarint( "bots_skill_axis_hard" );
var_axis_med = getDVarInt( "bots_skill_axis_med" ); var_axis_med = getdvarint( "bots_skill_axis_med" );
var_skill = getDvarInt( "bots_skill" ); var_skill = getdvarint( "bots_skill" );
allies_hard = 0; allies_hard = 0;
allies_med = 0; allies_med = 0;
@ -755,7 +755,7 @@ diffBots_loop()
{ {
player = level.players[ i ]; player = level.players[ i ];
if ( !isDefined( player.pers[ "team" ] ) ) if ( !isdefined( player.pers[ "team" ] ) )
{ {
continue; continue;
} }
@ -819,8 +819,8 @@ diffBots_loop()
} }
playercount = level.players.size; playercount = level.players.size;
min_diff = GetDvarInt( "bots_skill_min" ); min_diff = getdvarint( "bots_skill_min" );
max_diff = GetDvarInt( "bots_skill_max" ); max_diff = getdvarint( "bots_skill_max" );
for ( i = 0; i < playercount; i++ ) for ( i = 0; i < playercount; i++ )
{ {
@ -853,8 +853,8 @@ diffBots()
*/ */
teamBots_loop() teamBots_loop()
{ {
teamAmount = getDvarInt( "bots_team_amount" ); teamAmount = getdvarint( "bots_team_amount" );
toTeam = getDvar( "bots_team" ); toTeam = getdvar( "bots_team" );
alliesbots = 0; alliesbots = 0;
alliesplayers = 0; alliesplayers = 0;
@ -867,7 +867,7 @@ teamBots_loop()
{ {
player = level.players[ i ]; player = level.players[ i ];
if ( !isDefined( player.pers[ "team" ] ) ) if ( !isdefined( player.pers[ "team" ] ) )
{ {
continue; continue;
} }
@ -899,7 +899,7 @@ teamBots_loop()
allies = alliesbots; allies = alliesbots;
axis = axisbots; axis = axisbots;
if ( !getDvarInt( "bots_team_mode" ) ) if ( !getdvarint( "bots_team_mode" ) )
{ {
allies += alliesplayers; allies += alliesplayers;
axis += axisplayers; axis += axisplayers;
@ -907,7 +907,7 @@ teamBots_loop()
if ( toTeam != "custom" ) if ( toTeam != "custom" )
{ {
if ( getDvarInt( "bots_team_force" ) ) if ( getdvarint( "bots_team_force" ) )
{ {
if ( toTeam == "autoassign" ) if ( toTeam == "autoassign" )
{ {
@ -930,7 +930,7 @@ teamBots_loop()
{ {
player = level.players[ i ]; player = level.players[ i ];
if ( !isDefined( player.pers[ "team" ] ) ) if ( !isdefined( player.pers[ "team" ] ) )
{ {
continue; continue;
} }
@ -971,7 +971,7 @@ teamBots_loop()
{ {
player = level.players[ i ]; player = level.players[ i ];
if ( !isDefined( player.pers[ "team" ] ) ) if ( !isdefined( player.pers[ "team" ] ) )
{ {
continue; continue;
} }
@ -1023,11 +1023,11 @@ teamBots()
*/ */
addBots_loop() addBots_loop()
{ {
botsToAdd = GetDvarInt( "bots_manage_add" ); botsToAdd = getdvarint( "bots_manage_add" );
if ( botsToAdd > 0 ) if ( botsToAdd > 0 )
{ {
SetDvar( "bots_manage_add", 0 ); setdvar( "bots_manage_add", 0 );
if ( botsToAdd > 64 ) if ( botsToAdd > 64 )
{ {
@ -1041,14 +1041,14 @@ addBots_loop()
} }
} }
fillMode = getDVarInt( "bots_manage_fill_mode" ); fillMode = getdvarint( "bots_manage_fill_mode" );
if ( fillMode == 2 || fillMode == 3 ) 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; players = 0;
bots = 0; bots = 0;
@ -1064,7 +1064,7 @@ addBots_loop()
{ {
bots++; 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++; spec++;
} }
@ -1074,11 +1074,11 @@ addBots_loop()
} }
} }
if ( !randomInt( 999 ) ) if ( !randomint( 999 ) )
{ {
setDvar( "testclients_doreload", true ); setdvar( "testclients_doreload", true );
wait 0.1; wait 0.1;
setDvar( "testclients_doreload", false ); setdvar( "testclients_doreload", false );
doExtraCheck(); doExtraCheck();
} }
@ -1098,7 +1098,7 @@ addBots_loop()
continue; continue;
} }
if ( !isDefined( player.pers[ "team" ] ) ) if ( !isdefined( player.pers[ "team" ] ) )
{ {
continue; continue;
} }
@ -1141,22 +1141,22 @@ addBots_loop()
amount += players; amount += players;
} }
if ( getDVarInt( "bots_manage_fill_spec" ) ) if ( getdvarint( "bots_manage_fill_spec" ) )
{ {
amount += spec; amount += spec;
} }
if ( amount < fillAmount ) 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(); tempBot = getBotToKick();
if ( isDefined( tempBot ) ) if ( isdefined( tempBot ) )
{ {
kick( tempBot getEntityNumber(), "EXE_PLAYERKICKED" ); kick( tempBot getentitynumber(), "EXE_PLAYERKICKED" );
} }
} }
} }
@ -1189,7 +1189,7 @@ onGrenadeFire()
{ {
self waittill ( "grenade_fire", grenade, weaponName ); self waittill ( "grenade_fire", grenade, weaponName );
if ( !isDefined( grenade ) ) if ( !isdefined( grenade ) )
{ {
continue; continue;
} }
@ -1200,7 +1200,7 @@ onGrenadeFire()
{ {
grenade thread AddToSmokeList(); grenade thread AddToSmokeList();
} }
else if ( isSubStr( weaponName, "frag_" ) ) else if ( issubstr( weaponName, "frag_" ) )
{ {
grenade thread AddToFragList( self ); grenade thread AddToFragList( self );
} }
@ -1213,7 +1213,7 @@ onGrenadeFire()
AddToFragList( who ) AddToFragList( who )
{ {
grenade = spawnstruct(); grenade = spawnstruct();
grenade.origin = self getOrigin(); grenade.origin = self getorigin();
grenade.velocity = ( 0, 0, 0 ); grenade.velocity = ( 0, 0, 0 );
grenade.grenade = self; grenade.grenade = self;
grenade.owner = who; grenade.owner = who;
@ -1230,9 +1230,9 @@ AddToFragList( who )
*/ */
thinkFrag() thinkFrag()
{ {
while ( isDefined( self.grenade ) ) while ( isdefined( self.grenade ) )
{ {
nowOrigin = self.grenade getOrigin(); nowOrigin = self.grenade getorigin();
self.velocity = ( nowOrigin - self.origin ) * 20; self.velocity = ( nowOrigin - self.origin ) * 20;
self.origin = nowOrigin; self.origin = nowOrigin;
@ -1248,7 +1248,7 @@ thinkFrag()
AddToSmokeList() AddToSmokeList()
{ {
grenade = spawnstruct(); grenade = spawnstruct();
grenade.origin = self getOrigin(); grenade.origin = self getorigin();
grenade.state = "moving"; grenade.state = "moving";
grenade.grenade = self; grenade.grenade = self;
@ -1262,9 +1262,9 @@ AddToSmokeList()
*/ */
thinkSmoke() thinkSmoke()
{ {
while ( isDefined( self.grenade ) ) while ( isdefined( self.grenade ) )
{ {
self.origin = self.grenade getOrigin(); self.origin = self.grenade getorigin();
self.state = "moving"; self.state = "moving";
wait 0.05; wait 0.05;
} }

View File

@ -15,9 +15,9 @@
*/ */
init() init()
{ {
if ( getDvar( "bots_main_chat" ) == "" ) if ( getdvar( "bots_main_chat" ) == "" )
{ {
setDvar( "bots_main_chat", 1.0 ); setdvar( "bots_main_chat", 1.0 );
} }
level thread onBotConnected(); level thread onBotConnected();
@ -41,16 +41,16 @@ onBotConnected()
*/ */
BotDoChat( chance, string, isTeam ) BotDoChat( chance, string, isTeam )
{ {
mod = getDvarFloat( "bots_main_chat" ); mod = getdvarfloat( "bots_main_chat" );
if ( mod <= 0.0 ) if ( mod <= 0.0 )
{ {
return; return;
} }
if ( chance >= 100 || mod >= 100.0 || ( RandomInt( 100 ) < ( chance * mod ) + 0 ) ) if ( chance >= 100 || mod >= 100.0 || ( randomint( 100 ) < ( chance * mod ) + 0 ) )
{ {
if ( isDefined( isTeam ) && isTeam ) if ( isdefined( isTeam ) && isTeam )
{ {
self sayteam( string ); self sayteam( string );
} }
@ -87,9 +87,9 @@ start_onnuke_call()
for ( ;; ) for ( ;; )
{ {
while ( !isDefined( level.nukeincoming ) && !isDefined( level.moabincoming ) ) while ( !isdefined( level.nukeincoming ) && !isdefined( level.moabincoming ) )
{ {
wait 0.05 + randomInt( 4 ); wait 0.05 + randomint( 4 );
} }
self thread bot_onnukecall_watch(); self thread bot_onnukecall_watch();
@ -138,9 +138,9 @@ start_random_chat()
{ {
wait 1; wait 1;
if ( randomInt( 100 ) < 1 ) if ( randomint( 100 ) < 1 )
{ {
if ( randomInt( 100 ) < 1 && isReallyAlive( self ) ) if ( randomint( 100 ) < 1 && isreallyalive( self ) )
{ {
self thread doQuickMessage(); self thread doQuickMessage();
} }
@ -480,9 +480,9 @@ start_startgame_watch()
*/ */
hasKillstreak( streakname ) hasKillstreak( streakname )
{ {
loadoutKillstreak1 = self getPlayerData( "killstreaks", 0 ); loadoutKillstreak1 = self getplayerdata( "killstreaks", 0 );
loadoutKillstreak2 = self getPlayerData( "killstreaks", 1 ); loadoutKillstreak2 = self getplayerdata( "killstreaks", 1 );
loadoutKillstreak3 = self getPlayerData( "killstreaks", 2 ); loadoutKillstreak3 = self getplayerdata( "killstreaks", 2 );
if ( loadoutKillstreak1 == streakname || loadoutKillstreak2 == streakname || loadoutKillstreak3 == streakname ) if ( loadoutKillstreak1 == streakname || loadoutKillstreak2 == streakname || loadoutKillstreak3 == streakname )
{ {
@ -500,7 +500,7 @@ doQuickMessage()
self endon( "disconnect" ); self endon( "disconnect" );
self endon( "death" ); self endon( "death" );
if ( !isDefined( self.talking ) || !self.talking ) if ( !isdefined( self.talking ) || !self.talking )
{ {
self.talking = true; self.talking = true;
soundalias = ""; soundalias = "";
@ -538,10 +538,10 @@ doQuickMessage()
if ( soundalias != "" && saytext != "" ) if ( soundalias != "" && saytext != "" )
{ {
self maps\mp\gametypes\_quickmessages::saveHeadIcon(); self maps\mp\gametypes\_quickmessages::saveheadicon();
self maps\mp\gametypes\_quickmessages::doQuickMessage( soundalias, saytext ); self maps\mp\gametypes\_quickmessages::doquickmessage( soundalias, saytext );
wait 2; wait 2;
self maps\mp\gametypes\_quickmessages::restoreHeadIcon(); self maps\mp\gametypes\_quickmessages::restoreheadicon();
} }
else else
{ {
@ -589,7 +589,7 @@ endgame_chat()
if ( level.teambased ) if ( level.teambased )
{ {
winningteam = maps\mp\gametypes\_gamescore::getWinningTeam(); winningteam = maps\mp\gametypes\_gamescore::getwinningteam();
if ( self.pers[ "team" ] == winningteam ) if ( self.pers[ "team" ] == winningteam )
{ {
@ -1096,7 +1096,7 @@ bot_chat_streak( streakCount )
} }
else else
{ {
if ( GetDvarInt( "bots_loadout_allow_op" ) ) if ( getdvarint( "bots_loadout_allow_op" ) )
{ {
self BotDoChat( 100, "Come on! I would of had a nuke but I don't got it set..." ); self BotDoChat( 100, "Come on! I would of had a nuke but I don't got it set..." );
} }
@ -1115,7 +1115,7 @@ bot_chat_killed_watch( victim )
{ {
self endon( "disconnect" ); self endon( "disconnect" );
if ( !isDefined( victim ) || !isDefined( victim.name ) ) if ( !isdefined( victim ) || !isdefined( victim.name ) )
{ {
return; return;
} }
@ -1285,9 +1285,9 @@ bot_chat_killed_watch( victim )
break; break;
case 40: case 40:
if ( isDefined( victim.attackerdata ) && isDefined( victim.attackerdata[ self.guid ] ) && isDefined( victim.attackerdata[ self.guid ].weapon ) ) if ( isdefined( victim.attackerdata ) && isdefined( victim.attackerdata[ self.guid ] ) && isdefined( victim.attackerdata[ self.guid ].weapon ) )
{ {
message = ( "Man, I sure love my " + getBaseWeaponName( victim.attackerdata[ self.guid ].weapon ) + "!" ); message = ( "Man, I sure love my " + getbaseweaponname( victim.attackerdata[ self.guid ].weapon ) + "!" );
} }
break; break;
@ -1308,7 +1308,7 @@ bot_chat_death_watch( killer, last_ks )
{ {
self endon( "disconnect" ); self endon( "disconnect" );
if ( !isDefined( killer ) || !isDefined( killer.name ) ) if ( !isdefined( killer ) || !isdefined( killer.name ) )
{ {
return; return;
} }
@ -1346,7 +1346,7 @@ bot_chat_death_watch( killer, last_ks )
break; break;
case 5: case 5:
message = ( "^" + ( randomint( 6 ) + 1 ) + "Stop Spawn KILLING!!!" ); message = ( "^" + ( randomint( 6 ) + 1 ) + "Stop spawn KILLING!!!" );
break; break;
case 6: case 6:
@ -1566,9 +1566,9 @@ bot_chat_death_watch( killer, last_ks )
break; break;
case 60: case 60:
if ( isDefined( self.attackerdata ) && isDefined( self.attackerdata[ killer.guid ] ) && isDefined( self.attackerdata[ killer.guid ].weapon ) ) if ( isdefined( self.attackerdata ) && isdefined( self.attackerdata[ killer.guid ] ) && isdefined( self.attackerdata[ killer.guid ].weapon ) )
{ {
message = "Wow! Nice " + getBaseWeaponName( self.attackerdata[ killer.guid ].weapon ) + " you got there, " + killer.name + "!"; message = "Wow! Nice " + getbaseweaponname( self.attackerdata[ killer.guid ].weapon ) + " you got there, " + killer.name + "!";
} }
break; break;
@ -1616,7 +1616,7 @@ bot_chat_revive_watch( state, revive, c, d, e, f, g )
switch ( state ) switch ( state )
{ {
case "go": case "go":
switch ( randomInt( 1 ) ) switch ( randomint( 1 ) )
{ {
case 0: case 0:
self BotDoChat( 10, "i am going to revive " + revive.name ); self BotDoChat( 10, "i am going to revive " + revive.name );
@ -1626,7 +1626,7 @@ bot_chat_revive_watch( state, revive, c, d, e, f, g )
break; break;
case "start": case "start":
switch ( randomInt( 1 ) ) switch ( randomint( 1 ) )
{ {
case 0: case 0:
self BotDoChat( 10, "i am reviving " + revive.name ); self BotDoChat( 10, "i am reviving " + revive.name );
@ -1636,7 +1636,7 @@ bot_chat_revive_watch( state, revive, c, d, e, f, g )
break; break;
case "stop": case "stop":
switch ( randomInt( 1 ) ) switch ( randomint( 1 ) )
{ {
case 0: case 0:
self BotDoChat( 10, "i revived " + revive.name ); self BotDoChat( 10, "i revived " + revive.name );
@ -1657,7 +1657,7 @@ bot_chat_killcam_watch( state, b, c, d, e, f, g )
switch ( state ) switch ( state )
{ {
case "start": case "start":
switch ( randomInt( 2 ) ) switch ( randomint( 2 ) )
{ {
case 0: case 0:
self BotDoChat( 1, "WTF?!?!?!! Dude youre a hacker and a half!!" ); self BotDoChat( 1, "WTF?!?!?!! Dude youre a hacker and a half!!" );
@ -1671,7 +1671,7 @@ bot_chat_killcam_watch( state, b, c, d, e, f, g )
break; break;
case "stop": case "stop":
switch ( randomInt( 2 ) ) switch ( randomint( 2 ) )
{ {
case 0: case 0:
self BotDoChat( 1, "Wow... Im reporting you!!!" ); self BotDoChat( 1, "Wow... Im reporting you!!!" );
@ -1693,7 +1693,7 @@ bot_chat_stuck_watch( a, b, c, d, e, f, g )
{ {
self endon( "disconnect" ); self endon( "disconnect" );
sayLength = randomintRange( 5, 30 ); sayLength = randomintrange( 5, 30 );
msg = ""; msg = "";
for ( i = 0; i < sayLength; i++ ) for ( i = 0; i < sayLength; i++ )
@ -1751,7 +1751,7 @@ bot_chat_tube_watch( state, tubeWp, tubeWeap, d, e, f, g )
switch ( state ) switch ( state )
{ {
case "go": case "go":
switch ( randomInt( 1 ) ) switch ( randomint( 1 ) )
{ {
case 0: case 0:
self BotDoChat( 10, "i am going to go tube" ); self BotDoChat( 10, "i am going to go tube" );
@ -1761,7 +1761,7 @@ bot_chat_tube_watch( state, tubeWp, tubeWeap, d, e, f, g )
break; break;
case "start": case "start":
switch ( randomInt( 1 ) ) switch ( randomint( 1 ) )
{ {
case 0: case 0:
self BotDoChat( 10, "i tubed" ); self BotDoChat( 10, "i tubed" );
@ -1924,7 +1924,7 @@ bot_chat_crate_cap_watch( state, aircare, player, d, e, f, g )
{ {
self endon( "disconnect" ); self endon( "disconnect" );
if ( !isDefined( aircare ) ) if ( !isdefined( aircare ) )
{ {
return; return;
} }
@ -1935,7 +1935,7 @@ bot_chat_crate_cap_watch( state, aircare, player, d, e, f, g )
switch ( randomint( 2 ) ) switch ( randomint( 2 ) )
{ {
case 0: case 0:
if ( !isDefined( aircare.owner ) || aircare.owner == self ) if ( !isdefined( aircare.owner ) || aircare.owner == self )
{ {
self BotDoChat( 5, "going to my carepackage" ); self BotDoChat( 5, "going to my carepackage" );
} }
@ -1957,7 +1957,7 @@ bot_chat_crate_cap_watch( state, aircare, player, d, e, f, g )
switch ( randomint( 2 ) ) switch ( randomint( 2 ) )
{ {
case 0: case 0:
if ( !isDefined( aircare.owner ) || aircare.owner == self ) if ( !isdefined( aircare.owner ) || aircare.owner == self )
{ {
self BotDoChat( 15, "taking my carepackage" ); self BotDoChat( 15, "taking my carepackage" );
} }
@ -1976,7 +1976,7 @@ bot_chat_crate_cap_watch( state, aircare, player, d, e, f, g )
break; break;
case "stop": case "stop":
if ( !isDefined( aircare.owner ) || aircare.owner == self ) if ( !isdefined( aircare.owner ) || aircare.owner == self )
{ {
switch ( randomint( 6 ) ) switch ( randomint( 6 ) )
{ {
@ -2138,12 +2138,12 @@ bot_chat_attack_vehicle_watch( state, vehicle, rocketAmmo, d, e, f, g )
case 13: case 13:
weap = rocketAmmo; weap = rocketAmmo;
if ( !isDefined( weap ) ) if ( !isdefined( weap ) )
{ {
weap = self getCurrentWeapon(); weap = self getcurrentweapon();
} }
self BotDoChat( 10, "Im going to takedown your ks with my " + getBaseWeaponName( weap ) ); self BotDoChat( 10, "Im going to takedown your ks with my " + getbaseweaponname( weap ) );
break; break;
} }
@ -2243,7 +2243,7 @@ bot_chat_follow_watch( state, player, time, d, e, f, g )
{ {
self endon( "disconnect" ); self endon( "disconnect" );
if ( !isDefined( player ) ) if ( !isdefined( player ) )
{ {
return; return;
} }
@ -2294,20 +2294,20 @@ bot_chat_equ_watch( state, wp, weap, d, e, f, g )
switch ( state ) switch ( state )
{ {
case "go": case "go":
switch ( randomInt( 1 ) ) switch ( randomint( 1 ) )
{ {
case 0: case 0:
self BotDoChat( 10, "going to place a " + getBaseWeaponName( weap ) ); self BotDoChat( 10, "going to place a " + getbaseweaponname( weap ) );
break; break;
} }
break; break;
case "start": case "start":
switch ( randomInt( 1 ) ) switch ( randomint( 1 ) )
{ {
case 0: case 0:
self BotDoChat( 10, "placed a " + getBaseWeaponName( weap ) ); self BotDoChat( 10, "placed a " + getbaseweaponname( weap ) );
break; break;
} }
@ -2325,20 +2325,20 @@ bot_chat_nade_watch( state, wp, weap, d, e, f, g )
switch ( state ) switch ( state )
{ {
case "go": case "go":
switch ( randomInt( 1 ) ) switch ( randomint( 1 ) )
{ {
case 0: case 0:
self BotDoChat( 10, "going to throw a " + getBaseWeaponName( weap ) ); self BotDoChat( 10, "going to throw a " + getbaseweaponname( weap ) );
break; break;
} }
break; break;
case "start": case "start":
switch ( randomInt( 1 ) ) switch ( randomint( 1 ) )
{ {
case 0: case 0:
self BotDoChat( 10, "threw a " + getBaseWeaponName( weap ) ); self BotDoChat( 10, "threw a " + getbaseweaponname( weap ) );
break; break;
} }
@ -2561,7 +2561,7 @@ bot_chat_turret_attack_watch( state, turret, c, d, e, f, g )
switch ( state ) switch ( state )
{ {
case "go": case "go":
switch ( randomInt( 1 ) ) switch ( randomint( 1 ) )
{ {
case 0: case 0:
self BotDoChat( 5, "going to this sentry..." ); self BotDoChat( 5, "going to this sentry..." );
@ -2571,7 +2571,7 @@ bot_chat_turret_attack_watch( state, turret, c, d, e, f, g )
break; break;
case "start": case "start":
switch ( randomInt( 1 ) ) switch ( randomint( 1 ) )
{ {
case 0: case 0:
self BotDoChat( 5, "attacking this sentry..." ); self BotDoChat( 5, "attacking this sentry..." );
@ -2595,7 +2595,7 @@ bot_chat_attack_equ_watch( state, equ, c, d, e, f, g )
switch ( state ) switch ( state )
{ {
case "go_ti": case "go_ti":
switch ( randomInt( 1 ) ) switch ( randomint( 1 ) )
{ {
case 0: case 0:
self BotDoChat( 10, "going to this ti..." ); self BotDoChat( 10, "going to this ti..." );
@ -2605,7 +2605,7 @@ bot_chat_attack_equ_watch( state, equ, c, d, e, f, g )
break; break;
case "camp_ti": case "camp_ti":
switch ( randomInt( 1 ) ) switch ( randomint( 1 ) )
{ {
case 0: case 0:
self BotDoChat( 10, "lol im camping this ti!" ); self BotDoChat( 10, "lol im camping this ti!" );
@ -2615,7 +2615,7 @@ bot_chat_attack_equ_watch( state, equ, c, d, e, f, g )
break; break;
case "trigger_ti": case "trigger_ti":
switch ( randomInt( 1 ) ) switch ( randomint( 1 ) )
{ {
case 0: case 0:
self BotDoChat( 10, "lol i destoryed this ti!" ); self BotDoChat( 10, "lol i destoryed this ti!" );

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -12,54 +12,54 @@
init() init()
{ {
if ( getDvar( "bots_main_debug" ) == "" ) if ( getdvar( "bots_main_debug" ) == "" )
{ {
setDvar( "bots_main_debug", 0 ); setdvar( "bots_main_debug", 0 );
} }
if ( !getDVarint( "bots_main_debug" ) ) if ( !getdvarint( "bots_main_debug" ) )
{ {
return; return;
} }
if ( !getDVarint( "developer" ) ) if ( !getdvarint( "developer" ) )
{ {
setdvar( "developer_script", 1 ); setdvar( "developer_script", 1 );
setdvar( "developer", 1 ); setdvar( "developer", 1 );
setdvar( "sv_mapRotation", "map " + getDvar( "mapname" ) ); setdvar( "sv_mapRotation", "map " + getdvar( "mapname" ) );
exitLevel( false ); exitlevel( false );
} }
setDvar( "bots_main", 0 ); setdvar( "bots_main", 0 );
setdvar( "bots_main_menu", 0 ); setdvar( "bots_main_menu", 0 );
setdvar( "bots_manage_fill_mode", 0 ); setdvar( "bots_manage_fill_mode", 0 );
setdvar( "bots_manage_fill", 0 ); setdvar( "bots_manage_fill", 0 );
setdvar( "bots_manage_add", 0 ); setdvar( "bots_manage_add", 0 );
setdvar( "bots_manage_fill_kick", 1 ); setdvar( "bots_manage_fill_kick", 1 );
setDvar( "bots_manage_fill_spec", 1 ); setdvar( "bots_manage_fill_spec", 1 );
if ( getDvar( "bots_main_debug_distance" ) == "" ) if ( getdvar( "bots_main_debug_distance" ) == "" )
{ {
setDvar( "bots_main_debug_distance", 512.0 ); setdvar( "bots_main_debug_distance", 512.0 );
} }
if ( getDvar( "bots_main_debug_cone" ) == "" ) if ( getdvar( "bots_main_debug_cone" ) == "" )
{ {
setDvar( "bots_main_debug_cone", 0.65 ); setdvar( "bots_main_debug_cone", 0.65 );
} }
if ( getDvar( "bots_main_debug_minDist" ) == "" ) if ( getdvar( "bots_main_debug_minDist" ) == "" )
{ {
setDvar( "bots_main_debug_minDist", 32.0 ); setdvar( "bots_main_debug_minDist", 32.0 );
} }
if ( getDvar( "bots_main_debug_drawThrough" ) == "" ) if ( getdvar( "bots_main_debug_drawThrough" ) == "" )
{ {
setDvar( "bots_main_debug_drawThrough", false ); setdvar( "bots_main_debug_drawThrough", false );
} }
setDvar( "player_sustainAmmo", 1 ); setdvar( "player_sustainAmmo", 1 );
level.waypoints = []; level.waypoints = [];
level.waypointcount = 0; level.waypointcount = 0;
@ -79,7 +79,7 @@ onPlayerSpawned()
} }
} }
StartDev() startDev()
{ {
self endon( "disconnect" ); self endon( "disconnect" );
self endon( "death" ); self endon( "death" );
@ -88,17 +88,17 @@ StartDev()
level.autolink = false; level.autolink = false;
self.nearest = -1; self.nearest = -1;
self takeAllWeapons(); self takeallweapons();
self giveWeapon( "m16_gl_mp" ); // to knife windows self giveweapon( "m16_gl_mp" ); // to knife windows
self giveWeapon( "javelin_mp" ); // to mark jav spots self giveweapon( "javelin_mp" ); // to mark jav spots
self SetOffhandPrimaryClass( "other" ); self setoffhandprimaryclass( "other" );
self giveWeapon( "semtex_mp" ); self giveweapon( "semtex_mp" );
self _clearperks(); self _clearperks();
self.specialty = []; self.specialty = [];
self maps\mp\perks\_perks::givePerk( "specialty_fastmantle" ); self maps\mp\perks\_perks::giveperk( "specialty_fastmantle" );
self maps\mp\perks\_perks::givePerk( "specialty_falldamage" ); self maps\mp\perks\_perks::giveperk( "specialty_falldamage" );
self maps\mp\perks\_perks::givePerk( "specialty_marathon" ); self maps\mp\perks\_perks::giveperk( "specialty_marathon" );
self maps\mp\perks\_perks::givePerk( "specialty_lightweight" ); self maps\mp\perks\_perks::giveperk( "specialty_lightweight" );
self freezecontrols( false ); self freezecontrols( false );
self thread watchAddWaypointCommand(); self thread watchAddWaypointCommand();
@ -107,7 +107,7 @@ StartDev()
self thread watchLinkWaypointCommand(); self thread watchLinkWaypointCommand();
self thread watchLoadWaypointsCommand(); self thread watchLoadWaypointsCommand();
self thread watchSaveWaypointsCommand(); self thread watchSaveWaypointsCommand();
self thread watchUnlinkWaypointCommand(); self thread watchunlinkWaypointCommand();
self thread watchAutoLinkCommand(); self thread watchAutoLinkCommand();
self thread updateWaypointsStats(); self thread updateWaypointsStats();
self thread watchAstarCommand(); self thread watchAstarCommand();
@ -136,7 +136,7 @@ watchAstarCommand()
self endon( "disconnect" ); self endon( "disconnect" );
self endon( "death" ); self endon( "death" );
self notifyOnPlayerCommand( "astar", "+gostand" ); self notifyonplayercommand( "astar", "+gostand" );
for ( ;; ) for ( ;; )
{ {
@ -149,7 +149,7 @@ watchAstarCommand()
self iprintln( "Start AStar" ); self iprintln( "Start AStar" );
self.astar = undefined; self.astar = undefined;
astar = spawnStruct(); astar = spawnstruct();
astar.start = self.origin; astar.start = self.origin;
self waittill( "astar" ); self waittill( "astar" );
@ -187,11 +187,11 @@ updateWaypointsStats()
{ {
wait 0.05; wait 0.05;
totalWpsHud setText( level.waypointcount ); totalWpsHud settext( level.waypointcount );
closest = -1; closest = -1;
myEye = self getEye(); myEye = self geteye();
myAngles = self GetPlayerAngles(); myAngles = self getplayerangles();
for ( i = 0; i < level.waypointcount; i++ ) for ( i = 0; i < level.waypointcount; i++ )
{ {
@ -202,24 +202,24 @@ updateWaypointsStats()
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" ) && ( bulletTracePassed( myEye, wpOrg, false, self ) || getDVarint( "bots_main_debug_drawThrough" ) ) ) if ( distance( level.waypoints[ i ].origin, self.origin ) < getdvarfloat( "bots_main_debug_distance" ) && ( bullettracepassed( myEye, wpOrg, false, self ) || getdvarint( "bots_main_debug_drawThrough" ) ) )
{ {
for ( h = level.waypoints[ i ].children.size - 1; h >= 0; h-- ) for ( h = level.waypoints[ i ].children.size - 1; h >= 0; h-- )
{ {
line( wpOrg, level.waypoints[ level.waypoints[ i ].children[ h ] ].origin + ( 0, 0, 25 ), ( 1, 0, 1 ) ); line( wpOrg, level.waypoints[ level.waypoints[ i ].children[ h ] ].origin + ( 0, 0, 25 ), ( 1, 0, 1 ) );
} }
if ( getConeDot( wpOrg, myEye, myAngles ) > getDvarFloat( "bots_main_debug_cone" ) ) if ( getConeDot( wpOrg, myEye, myAngles ) > getdvarfloat( "bots_main_debug_cone" ) )
{ {
print3d( wpOrg, i, ( 1, 0, 0 ), 2 ); print3d( wpOrg, i, ( 1, 0, 0 ), 2 );
} }
if ( isDefined( level.waypoints[ i ].angles ) && level.waypoints[ i ].type != "stand" ) if ( isdefined( level.waypoints[ i ].angles ) && level.waypoints[ i ].type != "stand" )
{ {
line( wpOrg, wpOrg + AnglesToForward( level.waypoints[ i ].angles ) * 64, ( 1, 1, 1 ) ); line( wpOrg, wpOrg + anglestoforward( level.waypoints[ i ].angles ) * 64, ( 1, 1, 1 ) );
} }
if ( isDefined( level.waypoints[ i ].jav_point ) ) if ( isdefined( level.waypoints[ i ].jav_point ) )
{ {
line( wpOrg, level.waypoints[ i ].jav_point, ( 0, 0, 0 ) ); line( wpOrg, level.waypoints[ i ].jav_point, ( 0, 0, 0 ) );
} }
@ -228,13 +228,13 @@ updateWaypointsStats()
self.nearest = closest; self.nearest = closest;
nearestWP setText( self.nearest ); nearestWP settext( self.nearest );
children setText( buildChildCountString( self.nearest ) ); children settext( buildChildCountString( self.nearest ) );
type setText( buildTypeString( self.nearest ) ); type settext( buildTypeString( self.nearest ) );
wpToLink setText( level.wptolink ); wpToLink settext( level.wptolink );
infotext.x = infotext.x - 2; infotext.x = infotext.x - 2;
@ -243,13 +243,13 @@ updateWaypointsStats()
infotext.x = 800; infotext.x = 800;
} }
if ( self UseButtonPressed() && time > 2 ) if ( self usebuttonpressed() && time > 2 )
{ {
time = 0; time = 0;
self iPrintLnBold( self.nearest + " children: " + buildChildString( self.nearest ) ); self iprintlnbold( self.nearest + " children: " + buildChildString( self.nearest ) );
} }
if ( isDefined( self.astar ) ) if ( isdefined( self.astar ) )
{ {
print3d( self.astar.start + ( 0, 0, 35 ), "start", ( 0, 0, 1 ), 2 ); print3d( self.astar.start + ( 0, 0, 35 ), "start", ( 0, 0, 1 ), 2 );
print3d( self.astar.goal + ( 0, 0, 35 ), "goal", ( 0, 0, 1 ), 2 ); print3d( self.astar.goal + ( 0, 0, 35 ), "goal", ( 0, 0, 1 ), 2 );
@ -275,7 +275,7 @@ watchLoadWaypointsCommand()
self endon( "disconnect" ); self endon( "disconnect" );
self endon( "death" ); self endon( "death" );
self notifyOnPlayerCommand( "[{+actionslot 2}]", "+actionslot 2" ); self notifyonplayercommand( "[{+actionslot 2}]", "+actionslot 2" );
for ( ;; ) for ( ;; )
{ {
@ -289,7 +289,7 @@ watchAddWaypointCommand()
self endon( "disconnect" ); self endon( "disconnect" );
self endon( "death" ); self endon( "death" );
self notifyOnPlayerCommand( "[{+smoke}]", "+smoke" ); self notifyonplayercommand( "[{+smoke}]", "+smoke" );
for ( ;; ) for ( ;; )
{ {
@ -303,7 +303,7 @@ watchAutoLinkCommand()
self endon( "disconnect" ); self endon( "disconnect" );
self endon( "death" ); self endon( "death" );
self notifyOnPlayerCommand( "[{+frag}]", "+frag" ); self notifyonplayercommand( "[{+frag}]", "+frag" );
for ( ;; ) for ( ;; )
{ {
@ -311,13 +311,13 @@ watchAutoLinkCommand()
if ( level.autolink ) if ( level.autolink )
{ {
self iPrintlnBold( "Auto link disabled" ); self iprintlnbold( "Auto link disabled" );
level.autolink = false; level.autolink = false;
level.wptolink = -1; level.wptolink = -1;
} }
else else
{ {
self iPrintlnBold( "Auto link enabled" ); self iprintlnbold( "Auto link enabled" );
level.autolink = true; level.autolink = true;
level.wptolink = self.nearest; level.wptolink = self.nearest;
} }
@ -329,7 +329,7 @@ watchLinkWaypointCommand()
self endon( "disconnect" ); self endon( "disconnect" );
self endon( "death" ); self endon( "death" );
self notifyOnPlayerCommand( "[{+melee}]", "+melee" ); self notifyonplayercommand( "[{+melee}]", "+melee" );
for ( ;; ) for ( ;; )
{ {
@ -338,12 +338,12 @@ watchLinkWaypointCommand()
} }
} }
watchUnlinkWaypointCommand() watchunlinkWaypointCommand()
{ {
self endon( "disconnect" ); self endon( "disconnect" );
self endon( "death" ); self endon( "death" );
self notifyOnPlayerCommand( "[{+reload}]", "+reload" ); self notifyonplayercommand( "[{+reload}]", "+reload" );
for ( ;; ) for ( ;; )
{ {
@ -357,7 +357,7 @@ watchDeleteWaypointCommand()
self endon( "disconnect" ); self endon( "disconnect" );
self endon( "death" ); self endon( "death" );
self notifyOnPlayerCommand( "[{+actionslot 3}]", "+actionslot 3" ); self notifyonplayercommand( "[{+actionslot 3}]", "+actionslot 3" );
for ( ;; ) for ( ;; )
{ {
@ -371,7 +371,7 @@ watchDeleteAllWaypointsCommand()
self endon( "disconnect" ); self endon( "disconnect" );
self endon( "death" ); self endon( "death" );
self notifyOnPlayerCommand( "[{+actionslot 4}]", "+actionslot 4" ); self notifyonplayercommand( "[{+actionslot 4}]", "+actionslot 4" );
for ( ;; ) for ( ;; )
{ {
@ -385,7 +385,7 @@ watchSaveWaypointsCommand()
self endon( "death" ); self endon( "death" );
self endon( "disconnect" ); self endon( "disconnect" );
self notifyOnPlayerCommand( "[{+actionslot 1}]", "+actionslot 1" ); self notifyonplayercommand( "[{+actionslot 1}]", "+actionslot 1" );
for ( ;; ) for ( ;; )
{ {
@ -411,12 +411,12 @@ watchSaveWaypointsCommand()
logprint( "*/waypoints[ " + i + " ].children[ " + c + " ] = " + level.waypoints[ i ].children[ c ] + ";\n/*" ); logprint( "*/waypoints[ " + i + " ].children[ " + c + " ] = " + level.waypoints[ i ].children[ c ] + ";\n/*" );
} }
if ( isDefined( level.waypoints[ i ].angles ) && ( level.waypoints[ i ].type == "claymore" || level.waypoints[ i ].type == "tube" || ( level.waypoints[ i ].type == "crouch" && level.waypoints[ i ].children.size == 1 ) || level.waypoints[ i ].type == "climb" || level.waypoints[ i ].type == "grenade" ) ) if ( isdefined( level.waypoints[ i ].angles ) && ( level.waypoints[ i ].type == "claymore" || level.waypoints[ i ].type == "tube" || ( level.waypoints[ i ].type == "crouch" && level.waypoints[ i ].children.size == 1 ) || level.waypoints[ i ].type == "climb" || level.waypoints[ i ].type == "grenade" ) )
{ {
logprint( "*/waypoints[ " + i + " ].angles = " + level.waypoints[ i ].angles + ";\n/*" ); logprint( "*/waypoints[ " + i + " ].angles = " + level.waypoints[ i ].angles + ";\n/*" );
} }
if ( isDefined( level.waypoints[ i ].jav_point ) && level.waypoints[ i ].type == "javelin" ) if ( isdefined( level.waypoints[ i ].jav_point ) && level.waypoints[ i ].type == "javelin" )
{ {
logprint( "*/waypoints[ " + i + " ].jav_point = " + level.waypoints[ i ].jav_point + ";\n/*" ); logprint( "*/waypoints[ " + i + " ].jav_point = " + level.waypoints[ i ].jav_point + ";\n/*" );
} }
@ -426,8 +426,8 @@ watchSaveWaypointsCommand()
filename = "waypoints/" + getdvar( "mapname" ) + "_wp.csv"; filename = "waypoints/" + getdvar( "mapname" ) + "_wp.csv";
PrintLn( "********* Start Bot Warfare WPDump *********" ); println( "********* Start Bot Warfare WPDump *********" );
PrintLn( level.waypointcount ); println( level.waypointcount );
BotBuiltinFileWrite( filename, level.waypointcount + "\n", "write" ); BotBuiltinFileWrite( filename, level.waypointcount + "\n", "write" );
@ -450,7 +450,7 @@ watchSaveWaypointsCommand()
str += "," + wp.type + ","; str += "," + wp.type + ",";
if ( isDefined( wp.angles ) ) if ( isdefined( wp.angles ) )
{ {
str += wp.angles[ 0 ] + " " + wp.angles[ 1 ] + " " + wp.angles[ 2 ] + ","; str += wp.angles[ 0 ] + " " + wp.angles[ 1 ] + " " + wp.angles[ 2 ] + ",";
} }
@ -459,7 +459,7 @@ watchSaveWaypointsCommand()
str += ","; str += ",";
} }
if ( isDefined( wp.jav_point ) ) if ( isdefined( wp.jav_point ) )
{ {
str += wp.jav_point[ 0 ] + " " + wp.jav_point[ 1 ] + " " + wp.jav_point[ 2 ] + ","; str += wp.jav_point[ 0 ] + " " + wp.jav_point[ 1 ] + " " + wp.jav_point[ 2 ] + ",";
} }
@ -468,11 +468,11 @@ watchSaveWaypointsCommand()
str += ","; str += ",";
} }
PrintLn( str ); println( str );
BotBuiltinFileWrite( filename, str + "\n", "append" ); BotBuiltinFileWrite( filename, str + "\n", "append" );
} }
PrintLn( "\n\n\n\n\n\n" ); println( "\n\n\n\n\n\n" );
self iprintln( "Saved!!! to " + filename ); self iprintln( "Saved!!! to " + filename );
} }
@ -481,7 +481,7 @@ watchSaveWaypointsCommand()
LoadWaypoints() LoadWaypoints()
{ {
self DeleteAllWaypoints(); self DeleteAllWaypoints();
self iPrintlnBold( "Loading WPS..." ); self iprintlnbold( "Loading WPS..." );
load_waypoints(); load_waypoints();
wait 1; wait 1;
@ -503,7 +503,7 @@ checkForWarnings()
for ( i = 0; i < level.waypointcount; i++ ) for ( i = 0; i < level.waypointcount; i++ )
{ {
if ( !isDefined( level.waypoints[ i ] ) ) if ( !isdefined( level.waypoints[ i ] ) )
{ {
self iprintln( "WARNING: waypoint " + i + " is undefined" ); self iprintln( "WARNING: waypoint " + i + " is undefined" );
continue; continue;
@ -515,7 +515,7 @@ checkForWarnings()
} }
else else
{ {
if ( !isDefined( level.waypoints[ i ].children ) || !isDefined( level.waypoints[ i ].children.size ) ) if ( !isdefined( level.waypoints[ i ].children ) || !isdefined( level.waypoints[ i ].children.size ) )
{ {
self iprintln( "WARNING: waypoint " + i + " children is not defined" ); self iprintln( "WARNING: waypoint " + i + " children is not defined" );
} }
@ -525,7 +525,7 @@ checkForWarnings()
{ {
child = level.waypoints[ i ].children[ h ]; child = level.waypoints[ i ].children[ h ];
if ( !isDefined( level.waypoints[ child ] ) ) if ( !isdefined( level.waypoints[ child ] ) )
{ {
self iprintln( "WARNING: waypoint " + i + " child " + child + " is undefined" ); self iprintln( "WARNING: waypoint " + i + " child " + child + " is undefined" );
} }
@ -537,18 +537,18 @@ checkForWarnings()
} }
} }
if ( !isDefined( level.waypoints[ i ].type ) ) if ( !isdefined( level.waypoints[ i ].type ) )
{ {
self iprintln( "WARNING: waypoint " + i + " type is undefined" ); self iprintln( "WARNING: waypoint " + i + " type is undefined" );
continue; continue;
} }
if ( level.waypoints[ i ].type == "javelin" && !isDefined( level.waypoints[ i ].jav_point ) ) if ( level.waypoints[ i ].type == "javelin" && !isdefined( level.waypoints[ i ].jav_point ) )
{ {
self iprintln( "WARNING: waypoint " + i + " jav_point is undefined" ); self iprintln( "WARNING: waypoint " + i + " jav_point is undefined" );
} }
if ( !isDefined( level.waypoints[ i ].angles ) && ( level.waypoints[ i ].type == "claymore" || level.waypoints[ i ].type == "tube" || ( level.waypoints[ i ].type == "crouch" && level.waypoints[ i ].children.size == 1 ) || level.waypoints[ i ].type == "climb" || level.waypoints[ i ].type == "grenade" ) ) if ( !isdefined( level.waypoints[ i ].angles ) && ( level.waypoints[ i ].type == "claymore" || level.waypoints[ i ].type == "tube" || ( level.waypoints[ i ].type == "crouch" && level.waypoints[ i ].children.size == 1 ) || level.waypoints[ i ].type == "climb" || level.waypoints[ i ].type == "grenade" ) )
{ {
self iprintln( "WARNING: waypoint " + i + " angles is undefined" ); self iprintln( "WARNING: waypoint " + i + " angles is undefined" );
} }
@ -556,7 +556,7 @@ checkForWarnings()
// check reachability, assume bidirectional graph // check reachability, assume bidirectional graph
wpIdx = randomInt( level.waypointcount ); wpIdx = randomint( level.waypointcount );
for ( i = 0; i < level.waypointcount; i++ ) for ( i = 0; i < level.waypointcount; i++ )
{ {
@ -578,9 +578,9 @@ checkForWarnings()
UnLinkWaypoint( nwp ) UnLinkWaypoint( nwp )
{ {
if ( nwp == -1 || distance( self.origin, level.waypoints[ nwp ].origin ) > getDvarFloat( "bots_main_debug_minDist" ) ) if ( nwp == -1 || distance( self.origin, level.waypoints[ nwp ].origin ) > getdvarfloat( "bots_main_debug_minDist" ) )
{ {
self iprintln( "Waypoint Unlink Cancelled " + level.wptolink ); self iprintln( "Waypoint unlink Cancelled " + level.wptolink );
level.wptolink = -1; level.wptolink = -1;
return; return;
} }
@ -588,7 +588,7 @@ UnLinkWaypoint( nwp )
if ( level.wptolink == -1 || nwp == level.wptolink ) if ( level.wptolink == -1 || nwp == level.wptolink )
{ {
level.wptolink = nwp; level.wptolink = nwp;
self iprintln( "Waypoint Unlink Started " + nwp ); self iprintln( "Waypoint unlink Started " + nwp );
return; return;
} }
@ -601,7 +601,7 @@ UnLinkWaypoint( nwp )
LinkWaypoint( nwp ) LinkWaypoint( nwp )
{ {
if ( nwp == -1 || distance( self.origin, level.waypoints[ nwp ].origin ) > getDvarFloat( "bots_main_debug_minDist" ) ) if ( nwp == -1 || distance( self.origin, level.waypoints[ nwp ].origin ) > getdvarfloat( "bots_main_debug_minDist" ) )
{ {
self iprintln( "Waypoint Link Cancelled " + level.wptolink ); self iprintln( "Waypoint Link Cancelled " + level.wptolink );
level.wptolink = -1; level.wptolink = -1;
@ -658,7 +658,7 @@ LinkWaypoint( nwp )
DeleteWaypoint( nwp ) DeleteWaypoint( nwp )
{ {
if ( nwp == -1 || distance( self.origin, level.waypoints[ nwp ].origin ) > getDvarFloat( "bots_main_debug_minDist" ) ) if ( nwp == -1 || distance( self.origin, level.waypoints[ nwp ].origin ) > getdvarfloat( "bots_main_debug_minDist" ) )
{ {
self iprintln( "No close enough waypoint to delete." ); self iprintln( "No close enough waypoint to delete." );
return; return;
@ -708,35 +708,35 @@ AddWaypoint()
{ {
level.waypoints[ level.waypointcount ] = spawnstruct(); level.waypoints[ level.waypointcount ] = spawnstruct();
pos = self getOrigin(); pos = self getorigin();
level.waypoints[ level.waypointcount ].origin = pos; level.waypoints[ level.waypointcount ].origin = pos;
if ( isDefined( self.javelintargetpoint ) ) if ( isdefined( self.javelintargetpoint ) )
{ {
level.waypoints[ level.waypointcount ].type = "javelin"; level.waypoints[ level.waypointcount ].type = "javelin";
} }
else if ( self AdsButtonPressed() ) else if ( self adsbuttonpressed() )
{ {
level.waypoints[ level.waypointcount ].type = "climb"; level.waypoints[ level.waypointcount ].type = "climb";
} }
else if ( self AttackButtonPressed() && self UseButtonPressed() ) else if ( self attackbuttonpressed() && self usebuttonpressed() )
{ {
level.waypoints[ level.waypointcount ].type = "tube"; level.waypoints[ level.waypointcount ].type = "tube";
} }
else if ( self AttackButtonPressed() ) else if ( self attackbuttonpressed() )
{ {
level.waypoints[ level.waypointcount ].type = "grenade"; level.waypoints[ level.waypointcount ].type = "grenade";
} }
else if ( self UseButtonPressed() ) else if ( self usebuttonpressed() )
{ {
level.waypoints[ level.waypointcount ].type = "claymore"; level.waypoints[ level.waypointcount ].type = "claymore";
} }
else else
{ {
level.waypoints[ level.waypointcount ].type = self getStance(); level.waypoints[ level.waypointcount ].type = self getstance();
} }
level.waypoints[ level.waypointcount ].angles = self getPlayerAngles(); level.waypoints[ level.waypointcount ].angles = self getplayerangles();
level.waypoints[ level.waypointcount ].children = []; level.waypoints[ level.waypointcount ].children = [];
@ -826,8 +826,8 @@ destroyOnDeath( hud )
initHudElem( txt, xl, yl ) initHudElem( txt, xl, yl )
{ {
hud = NewClientHudElem( self ); hud = newclienthudelem( self );
hud setText( txt ); hud settext( txt );
hud.alignx = "left"; hud.alignx = "left";
hud.aligny = "top"; hud.aligny = "top";
hud.horzalign = "left"; hud.horzalign = "left";
@ -850,8 +850,8 @@ initHudElem( txt, xl, yl )
initHudElem2() initHudElem2()
{ {
infotext = NewHudElem(); infotext = newhudelem();
infotext setText( "^1[{+smoke}]-AddWp ^2[{+melee}]-LinkWp ^3[{+reload}]-UnLinkWp ^4[{+actionslot 3}]-DeleteWp ^5[{+actionslot 4}]-DelAllWps ^6[{+actionslot 2}]-LoadWPS ^7[{+actionslot 1}]-SaveWp" ); infotext settext( "^1[{+smoke}]-AddWp ^2[{+melee}]-LinkWp ^3[{+reload}]-UnLinkWp ^4[{+actionslot 3}]-DeleteWp ^5[{+actionslot 4}]-DelAllWps ^6[{+actionslot 2}]-LoadWPS ^7[{+actionslot 1}]-SaveWp" );
infotext.alignx = "center"; infotext.alignx = "center";
infotext.aligny = "bottom"; infotext.aligny = "bottom";
infotext.horzalign = "center"; infotext.horzalign = "center";
@ -874,7 +874,7 @@ initHudElem2()
initHudElem3() initHudElem3()
{ {
bar = level createServerBar( ( 0.5, 0.5, 0.5 ), 1000, 25 ); bar = level createserverbar( ( 0.5, 0.5, 0.5 ), 1000, 25 );
bar.alignx = "center"; bar.alignx = "center";
bar.aligny = "bottom"; bar.aligny = "bottom";
bar.horzalign = "center"; bar.horzalign = "center";
@ -889,7 +889,7 @@ initHudElem3()
initHudElem4() initHudElem4()
{ {
OptionsBG = NewClientHudElem( self ); OptionsBG = newclienthudelem( self );
OptionsBG.x = 100; OptionsBG.x = 100;
OptionsBG.y = 2; OptionsBG.y = 2;
OptionsBG.alignx = "left"; OptionsBG.alignx = "left";