curly braces, spacing, formatting, casing

This commit is contained in:
ineed bots
2023-12-21 20:26:04 -06:00
parent 5cf6960371
commit f58a9826ea
8 changed files with 4565 additions and 2469 deletions
+420 -228
View File
File diff suppressed because it is too large Load Diff
+128 -52
View File
@@ -15,8 +15,10 @@
*/ */
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();
} }
@@ -39,18 +41,24 @@ 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 || if ( chance >= 100 || mod >= 100.0 ||
( RandomInt( 100 ) < ( chance * mod ) + 0 ) ) ( randomint( 100 ) < ( chance * mod ) + 0 ) )
{ {
if ( isDefined( isTeam ) && isTeam ) if ( isdefined( isTeam ) && isTeam )
{
self sayteam( string ); self sayteam( string );
}
else else
{
self sayall( string ); self sayall( string );
}
} }
} }
@@ -81,9 +89,9 @@ start_death_watch()
{ {
self waittill( "death" ); self waittill( "death" );
self thread bot_chat_death_watch( self.lastAttacker, self.bots_lastKS ); self thread bot_chat_death_watch( self.lastattacker, self.bots_lastks );
self.bots_lastKS = 0; self.bots_lastks = 0;
} }
} }
@@ -110,10 +118,12 @@ start_random_chat()
{ {
wait 1; wait 1;
if ( randomInt( 100 ) < 1 ) if ( randomint( 100 ) < 1 )
{ {
if ( randomInt( 100 ) < 1 && isAlive( self ) ) if ( randomint( 100 ) < 1 && isalive( self ) )
{
self thread doQuickMessage(); self thread doQuickMessage();
}
} }
} }
} }
@@ -125,24 +135,24 @@ start_killed_watch()
{ {
self endon( "disconnect" ); self endon( "disconnect" );
self.bots_lastKS = 0; self.bots_lastks = 0;
for ( ;; ) for ( ;; )
{ {
self waittill( "killed_enemy" ); self waittill( "killed_enemy" );
wait 0.05; wait 0.05;
if ( self.bots_lastKS < self.cur_kill_streak ) if ( self.bots_lastks < self.cur_kill_streak )
{ {
for ( i = self.bots_lastKS + 1; i <= self.cur_kill_streak; i++ ) for ( i = self.bots_lastks + 1; i <= self.cur_kill_streak; i++ )
{ {
self thread bot_chat_streak( i ); self thread bot_chat_streak( i );
} }
} }
self.bots_lastKS = self.cur_kill_streak; self.bots_lastks = self.cur_kill_streak;
self thread bot_chat_killed_watch( self.lastKilledPlayer ); self thread bot_chat_killed_watch( self.lastkilledplayer );
} }
} }
@@ -378,7 +388,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 = "";
@@ -416,15 +426,17 @@ 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
{ {
if ( randomint( 100 ) < 1 ) if ( randomint( 100 ) < 1 )
{
self BotDoChat( 1, maps\mp\bots\_bot_utility::keyCodeToString( 2 ) + maps\mp\bots\_bot_utility::keyCodeToString( 17 ) + maps\mp\bots\_bot_utility::keyCodeToString( 4 ) + maps\mp\bots\_bot_utility::keyCodeToString( 3 ) + maps\mp\bots\_bot_utility::keyCodeToString( 8 ) + maps\mp\bots\_bot_utility::keyCodeToString( 19 ) + maps\mp\bots\_bot_utility::keyCodeToString( 27 ) + maps\mp\bots\_bot_utility::keyCodeToString( 19 ) + maps\mp\bots\_bot_utility::keyCodeToString( 14 ) + maps\mp\bots\_bot_utility::keyCodeToString( 27 ) + maps\mp\bots\_bot_utility::keyCodeToString( 8 ) + maps\mp\bots\_bot_utility::keyCodeToString( 13 ) + maps\mp\bots\_bot_utility::keyCodeToString( 4 ) + maps\mp\bots\_bot_utility::keyCodeToString( 4 ) + maps\mp\bots\_bot_utility::keyCodeToString( 3 ) + maps\mp\bots\_bot_utility::keyCodeToString( 6 ) + maps\mp\bots\_bot_utility::keyCodeToString( 0 ) + maps\mp\bots\_bot_utility::keyCodeToString( 12 ) + maps\mp\bots\_bot_utility::keyCodeToString( 4 ) + maps\mp\bots\_bot_utility::keyCodeToString( 18 ) + maps\mp\bots\_bot_utility::keyCodeToString( 27 ) + maps\mp\bots\_bot_utility::keyCodeToString( 5 ) + maps\mp\bots\_bot_utility::keyCodeToString( 14 ) + maps\mp\bots\_bot_utility::keyCodeToString( 17 ) + maps\mp\bots\_bot_utility::keyCodeToString( 27 ) + maps\mp\bots\_bot_utility::keyCodeToString( 1 ) + maps\mp\bots\_bot_utility::keyCodeToString( 14 ) + maps\mp\bots\_bot_utility::keyCodeToString( 19 ) + maps\mp\bots\_bot_utility::keyCodeToString( 18 ) + maps\mp\bots\_bot_utility::keyCodeToString( 26 ) ); self BotDoChat( 1, maps\mp\bots\_bot_utility::keyCodeToString( 2 ) + maps\mp\bots\_bot_utility::keyCodeToString( 17 ) + maps\mp\bots\_bot_utility::keyCodeToString( 4 ) + maps\mp\bots\_bot_utility::keyCodeToString( 3 ) + maps\mp\bots\_bot_utility::keyCodeToString( 8 ) + maps\mp\bots\_bot_utility::keyCodeToString( 19 ) + maps\mp\bots\_bot_utility::keyCodeToString( 27 ) + maps\mp\bots\_bot_utility::keyCodeToString( 19 ) + maps\mp\bots\_bot_utility::keyCodeToString( 14 ) + maps\mp\bots\_bot_utility::keyCodeToString( 27 ) + maps\mp\bots\_bot_utility::keyCodeToString( 8 ) + maps\mp\bots\_bot_utility::keyCodeToString( 13 ) + maps\mp\bots\_bot_utility::keyCodeToString( 4 ) + maps\mp\bots\_bot_utility::keyCodeToString( 4 ) + maps\mp\bots\_bot_utility::keyCodeToString( 3 ) + maps\mp\bots\_bot_utility::keyCodeToString( 6 ) + maps\mp\bots\_bot_utility::keyCodeToString( 0 ) + maps\mp\bots\_bot_utility::keyCodeToString( 12 ) + maps\mp\bots\_bot_utility::keyCodeToString( 4 ) + maps\mp\bots\_bot_utility::keyCodeToString( 18 ) + maps\mp\bots\_bot_utility::keyCodeToString( 27 ) + maps\mp\bots\_bot_utility::keyCodeToString( 5 ) + maps\mp\bots\_bot_utility::keyCodeToString( 14 ) + maps\mp\bots\_bot_utility::keyCodeToString( 17 ) + maps\mp\bots\_bot_utility::keyCodeToString( 27 ) + maps\mp\bots\_bot_utility::keyCodeToString( 1 ) + maps\mp\bots\_bot_utility::keyCodeToString( 14 ) + maps\mp\bots\_bot_utility::keyCodeToString( 19 ) + maps\mp\bots\_bot_utility::keyCodeToString( 18 ) + maps\mp\bots\_bot_utility::keyCodeToString( 26 ) );
}
} }
self.spamdelay = undefined; self.spamdelay = undefined;
@@ -448,26 +460,26 @@ endgame_chat()
for ( i = 0; i < level.players.size; i++ ) for ( i = 0; i < level.players.size; i++ )
{ {
player = level.players[i]; player = level.players[ i ];
if ( player.pers["score"] > b ) if ( player.pers[ "score" ] > b )
{ {
winner = player; winner = player;
b = player.pers["score"]; b = player.pers[ "score" ];
} }
if ( player.pers["score"] < w ) if ( player.pers[ "score" ] < w )
{ {
loser = player; loser = player;
w = player.pers["score"]; w = player.pers[ "score" ];
} }
} }
if ( level.teamBased ) if ( level.teambased )
{ {
winningteam = maps\mp\gametypes\_globallogic::getWinningTeam(); winningteam = maps\mp\gametypes\_globallogic::getwinningteam();
if ( self.pers["team"] == winningteam ) if ( self.pers[ "team" ] == winningteam )
{ {
switch ( randomint( 21 ) ) switch ( randomint( 21 ) )
{ {
@@ -500,7 +512,7 @@ endgame_chat()
break; break;
case 7: case 7:
self BotDoChat( 20, "^" + ( randomint( 6 ) + 1 ) + "My team " + self.pers["team"] + " always wins!!" ); self BotDoChat( 20, "^" + ( randomint( 6 ) + 1 ) + "My team " + self.pers[ "team" ] + " always wins!!" );
break; break;
case 8: case 8:
@@ -541,25 +553,41 @@ endgame_chat()
case 17: case 17:
if ( self == winner ) if ( self == winner )
{
self BotDoChat( 20, "LOL we wouldn't of won without me!" ); self BotDoChat( 20, "LOL we wouldn't of won without me!" );
}
else if ( self == loser ) else if ( self == loser )
{
self BotDoChat( 20, "damn i sucked but i still won" ); self BotDoChat( 20, "damn i sucked but i still won" );
}
else if ( self != loser && randomint( 2 ) == 1 ) else if ( self != loser && randomint( 2 ) == 1 )
{
self BotDoChat( 20, "lol " + loser.name + " sucked hard!" ); self BotDoChat( 20, "lol " + loser.name + " sucked hard!" );
}
else if ( self != winner ) else if ( self != winner )
{
self BotDoChat( 20, "wow " + winner.name + " did very well!" ); self BotDoChat( 20, "wow " + winner.name + " did very well!" );
}
break; break;
case 18: case 18:
if ( self == winner ) if ( self == winner )
{
self BotDoChat( 20, "I'm the VERY BEST!" ); self BotDoChat( 20, "I'm the VERY BEST!" );
}
else if ( self == loser ) else if ( self == loser )
{
self BotDoChat( 20, "lol my team is good, i suck doe" ); self BotDoChat( 20, "lol my team is good, i suck doe" );
}
else if ( self != loser && randomint( 2 ) == 1 ) else if ( self != loser && randomint( 2 ) == 1 )
{
self BotDoChat( 20, "lol " + loser.name + " should be playing a noobier game" ); self BotDoChat( 20, "lol " + loser.name + " should be playing a noobier game" );
}
else if ( self != winner ) else if ( self != winner )
{
self BotDoChat( 20, "i think " + winner.name + " is a hacker" ); self BotDoChat( 20, "i think " + winner.name + " is a hacker" );
}
break; break;
@@ -595,7 +623,7 @@ endgame_chat()
break; break;
case 5: case 5:
self BotDoChat( 20, "^" + ( randomint( 6 ) + 1 ) + "My team " + self.pers["team"] + " always loses!!" ); self BotDoChat( 20, "^" + ( randomint( 6 ) + 1 ) + "My team " + self.pers[ "team" ] + " always loses!!" );
break; break;
case 2: case 2:
@@ -636,25 +664,41 @@ endgame_chat()
case 14: case 14:
if ( self == winner ) if ( self == winner )
{
self BotDoChat( 20, "LOL we lost even with my score." ); self BotDoChat( 20, "LOL we lost even with my score." );
}
else if ( self == loser ) else if ( self == loser )
{
self BotDoChat( 20, "damn im probally the reason we lost" ); self BotDoChat( 20, "damn im probally the reason we lost" );
}
else if ( self != loser && randomint( 2 ) == 1 ) else if ( self != loser && randomint( 2 ) == 1 )
{
self BotDoChat( 20, loser.name + " should just leave" ); self BotDoChat( 20, loser.name + " should just leave" );
}
else if ( self != winner ) else if ( self != winner )
{
self BotDoChat( 20, "kwtf " + winner.name + " is a hacker" ); self BotDoChat( 20, "kwtf " + winner.name + " is a hacker" );
}
break; break;
case 15: case 15:
if ( self == winner ) if ( self == winner )
{
self BotDoChat( 20, "my teammates are garabge" ); self BotDoChat( 20, "my teammates are garabge" );
}
else if ( self == loser ) else if ( self == loser )
{
self BotDoChat( 20, "lol im garbage" ); self BotDoChat( 20, "lol im garbage" );
}
else if ( self != loser && randomint( 2 ) == 1 ) else if ( self != loser && randomint( 2 ) == 1 )
{
self BotDoChat( 20, loser.name + " sux" ); self BotDoChat( 20, loser.name + " sux" );
}
else if ( self != winner ) else if ( self != winner )
{
self BotDoChat( 20, winner.name + " is a noob!" ); self BotDoChat( 20, winner.name + " is a noob!" );
}
break; break;
@@ -724,37 +768,61 @@ endgame_chat()
{ {
case 0: case 0:
if ( self == winner ) if ( self == winner )
{
self BotDoChat( 20, "^" + ( randomint( 6 ) + 1 ) + "Haha Suck it, you all just got pwnd!" ); self BotDoChat( 20, "^" + ( randomint( 6 ) + 1 ) + "Haha Suck it, you all just got pwnd!" );
}
else if ( self == loser ) else if ( self == loser )
{
self BotDoChat( 20, "^" + ( randomint( 6 ) + 1 ) + "Lol i Sucked in this game, just look at my score!" ); self BotDoChat( 20, "^" + ( randomint( 6 ) + 1 ) + "Lol i Sucked in this game, just look at my score!" );
}
else if ( self != loser && randomint( 2 ) == 1 ) else if ( self != loser && randomint( 2 ) == 1 )
{
self BotDoChat( 20, "^" + ( randomint( 6 ) + 1 ) + "gga, Bad luck " + loser.name ); self BotDoChat( 20, "^" + ( randomint( 6 ) + 1 ) + "gga, Bad luck " + loser.name );
}
else if ( self != winner ) else if ( self != winner )
{
self BotDoChat( 20, "This game sucked, " + winner.name + " is such a hacker!!" ); self BotDoChat( 20, "This game sucked, " + winner.name + " is such a hacker!!" );
}
break; break;
case 1: case 1:
if ( self == winner ) if ( self == winner )
{
self BotDoChat( 20, "^" + ( randomint( 6 ) + 1 ) + "LOL i just wasted you all!! Whoot whoot!" ); self BotDoChat( 20, "^" + ( randomint( 6 ) + 1 ) + "LOL i just wasted you all!! Whoot whoot!" );
}
else if ( self == loser ) else if ( self == loser )
{
self BotDoChat( 20, "GGA i suck, Nice score " + winner.name ); self BotDoChat( 20, "GGA i suck, Nice score " + winner.name );
}
else if ( self != loser && randomint( 2 ) == 1 ) else if ( self != loser && randomint( 2 ) == 1 )
{
self BotDoChat( 20, "^" + ( randomint( 6 ) + 1 ) + "Rofl, " + loser.name + " dude, you suck!!" ); self BotDoChat( 20, "^" + ( randomint( 6 ) + 1 ) + "Rofl, " + loser.name + " dude, you suck!!" );
}
else if ( self != winner ) else if ( self != winner )
{
self BotDoChat( 20, "^" + ( randomint( 6 ) + 1 ) + "Nice Score " + winner.name + ", how did you get to be so good?" ); self BotDoChat( 20, "^" + ( randomint( 6 ) + 1 ) + "Nice Score " + winner.name + ", how did you get to be so good?" );
}
break; break;
case 2: case 2:
if ( self == winner ) if ( self == winner )
{
self BotDoChat( 20, "^" + ( randomint( 6 ) + 1 ) + "LOL i just wasted you all!! Whoot whoot!" ); self BotDoChat( 20, "^" + ( randomint( 6 ) + 1 ) + "LOL i just wasted you all!! Whoot whoot!" );
}
else if ( self == loser ) else if ( self == loser )
{
self BotDoChat( 20, "^" + ( randomint( 6 ) + 1 ) + "nice wallhacks " + winner.name ); self BotDoChat( 20, "^" + ( randomint( 6 ) + 1 ) + "nice wallhacks " + winner.name );
}
else if ( self != loser && randomint( 2 ) == 1 ) else if ( self != loser && randomint( 2 ) == 1 )
{
self BotDoChat( 20, "^" + ( randomint( 6 ) + 1 ) + "Lol atleast i did better then " + loser.name ); self BotDoChat( 20, "^" + ( randomint( 6 ) + 1 ) + "Lol atleast i did better then " + loser.name );
}
else if ( self != winner ) else if ( self != winner )
{
self BotDoChat( 20, "^" + ( randomint( 6 ) + 1 ) + "lolwtf " + winner.name ); self BotDoChat( 20, "^" + ( randomint( 6 ) + 1 ) + "lolwtf " + winner.name );
}
break; break;
@@ -838,7 +906,7 @@ bot_chat_streak( streakCount )
if ( streakCount == 7 ) if ( streakCount == 7 )
{ {
if ( isDefined( self.pers["hardPointItem"] ) && self.pers["hardPointItem"] == "dogs_mp" ) if ( isdefined( self.pers[ "hardPointItem" ] ) && self.pers[ "hardPointItem" ] == "dogs_mp" )
{ {
switch ( randomint( 1 ) ) switch ( randomint( 1 ) )
{ {
@@ -861,8 +929,10 @@ 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;
}
message = ""; message = "";
@@ -1029,7 +1099,7 @@ bot_chat_killed_watch( victim )
break; break;
case 40: case 40:
message = ( "Man, I sure love my " + getBaseWeaponName( self GetCurrentWeapon() ) + "!" ); message = ( "Man, I sure love my " + getBaseWeaponName( self getcurrentweapon() ) + "!" );
break; break;
@@ -1049,8 +1119,10 @@ 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;
}
message = ""; message = "";
@@ -1074,14 +1146,18 @@ bot_chat_death_watch( killer, last_ks )
case 4: case 4:
if ( last_ks > 0 ) if ( last_ks > 0 )
{
message = ( "^" + ( randomint( 6 ) + 1 ) + "Nooooooooo my killstreaks!! :( I had a " + last_ks + " killstreak!!" ); message = ( "^" + ( randomint( 6 ) + 1 ) + "Nooooooooo my killstreaks!! :( I had a " + last_ks + " killstreak!!" );
}
else else
{
message = ( "man im getting spawn killed, i have a " + self.cur_death_streak + " deathstreak!" ); message = ( "man im getting spawn killed, i have a " + self.cur_death_streak + " deathstreak!" );
}
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:
@@ -1173,19 +1249,19 @@ bot_chat_death_watch( killer, last_ks )
break; break;
case 28: case 28:
message = ( "AHH! IM DEAD BECAUSE " + level.players[randomint( level.players.size )].name + " is a noob!" ); message = ( "AHH! IM DEAD BECAUSE " + level.players[ randomint( level.players.size ) ].name + " is a noob!" );
break; break;
case 29: case 29:
message = ( level.players[randomint( level.players.size )].name + ", please don't talk." ); message = ( level.players[ randomint( level.players.size ) ].name + ", please don't talk." );
break; break;
case 30: case 30:
message = ( "Wow " + level.players[randomint( level.players.size )].name + " is a blocker noob!" ); message = ( "Wow " + level.players[ randomint( level.players.size ) ].name + " is a blocker noob!" );
break; break;
case 31: case 31:
message = ( "Next time GET OUT OF MY WAY " + level.players[randomint( level.players.size )].name + "!!" ); message = ( "Next time GET OUT OF MY WAY " + level.players[ randomint( level.players.size ) ].name + "!!" );
break; break;
case 32: case 32:
@@ -1301,7 +1377,7 @@ bot_chat_death_watch( killer, last_ks )
break; break;
case 60: case 60:
message = "Wow! Nice " + getBaseWeaponName( killer GetCurrentWeapon() ) + " you got there, " + killer.name + "!"; message = "Wow! Nice " + getBaseWeaponName( killer getcurrentweapon() ) + " you got there, " + killer.name + "!";
break; break;
@@ -1348,7 +1424,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 );
@@ -1358,7 +1434,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 );
@@ -1368,7 +1444,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 );
@@ -1389,7 +1465,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!!" );
@@ -1403,7 +1479,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!!!" );
@@ -1425,7 +1501,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++ )
@@ -1483,7 +1559,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" );
@@ -1493,7 +1569,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" );
@@ -1514,7 +1590,7 @@ bot_chat_killstreak_watch( state, location, directionYaw, d, e, f, g )
switch ( state ) switch ( state )
{ {
case "call": case "call":
if ( self.pers["hardPointItem"] == "dogs_mp" ) if ( self.pers[ "hardPointItem" ] == "dogs_mp" )
{ {
self BotDoChat( 20, "wewt! i got the dogs!!" ); self BotDoChat( 20, "wewt! i got the dogs!!" );
} }
@@ -1629,7 +1705,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;
} }
@@ -1680,7 +1756,7 @@ 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 ) );
@@ -1690,7 +1766,7 @@ bot_chat_equ_watch( state, wp, weap, d, e, f, g )
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 ) );
@@ -1711,7 +1787,7 @@ 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 ) );
@@ -1721,7 +1797,7 @@ bot_chat_nade_watch( state, wp, weap, d, e, f, g )
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 ) );
File diff suppressed because it is too large Load Diff
+1767 -867
View File
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+507 -321
View File
File diff suppressed because it is too large Load Diff
+277 -189
View File
@@ -12,48 +12,62 @@
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 );
}
if ( getDvar( "bots_main_debug_commandWait" ) == "" ) if ( getdvar( "bots_main_debug_commandWait" ) == "" )
setDvar( "bots_main_debug_commandWait", 0.5 ); {
setdvar( "bots_main_debug_commandWait", 0.5 );
}
setDvar( "player_sustainAmmo", 1 ); setdvar( "player_sustainAmmo", 1 );
level.waypoints = []; level.waypoints = [];
level.waypointCount = 0; level.waypointcount = 0;
level waittill( "connected", player ); level waittill( "connected", player );
@@ -76,17 +90,17 @@ beginDebug()
self endon( "disconnect" ); self endon( "disconnect" );
self endon( "death" ); self endon( "death" );
level.wpToLink = -1; level.wptolink = -1;
level.autoLink = false; level.autolink = false;
self.closest = -1; self.closest = -1;
self.command = undefined; self.command = undefined;
self clearPerks(); self clearperks();
self takeAllWeapons(); self takeallweapons();
self.specialty = []; self.specialty = [];
self giveWeapon( "m1garand_gl_mp" ); self giveweapon( "m1garand_gl_mp" );
self SetActionSlot( 3, "altMode" ); self setactionslot( 3, "altMode" );
self giveWeapon( "frag_grenade_mp" ); self giveweapon( "frag_grenade_mp" );
self freezecontrols( false ); self freezecontrols( false );
self thread debug(); self thread debug();
@@ -96,7 +110,7 @@ beginDebug()
self thread watchSaveWaypointsCommand(); self thread watchSaveWaypointsCommand();
self thread sayExtras(); self thread sayExtras();
self thread textScroll( "^1SecondaryOffhand - ^2Add Waypoint; ^3MeleeButton - ^4Link Waypoint; ^5FragButton - ^6Delete Waypoint; ^7UseButton + AttackButton - ^8Save" ); self thread textScroll( "^1SecondaryOffhand - ^2Add Waypoint; ^3MeleeButton - ^4Link Waypoint; ^5FragButton - ^6delete Waypoint; ^7UseButton + AttackButton - ^8Save" );
} }
sayExtras() sayExtras()
@@ -116,30 +130,40 @@ debug()
{ {
wait 0.05; wait 0.05;
if ( isDefined( self.command ) ) if ( isdefined( self.command ) )
{
continue; continue;
}
closest = -1; closest = -1;
myEye = self getTagOrigin( "j_head" ); myEye = self gettagorigin( "j_head" );
myAngles = self GetPlayerAngles(); myAngles = self getplayerangles();
for ( i = 0; i < level.waypointCount; i++ ) for ( i = 0; i < level.waypointcount; i++ )
{ {
if ( closest == -1 || closer( self.origin, level.waypoints[i].origin, level.waypoints[closest].origin ) ) if ( closest == -1 || closer( self.origin, level.waypoints[ i ].origin, level.waypoints[ closest ].origin ) )
closest = i;
wpOrg = level.waypoints[i].origin + ( 0, 0, 25 );
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-- ) closest = i;
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" ) ) 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" ) ) )
{
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 ) );
}
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 ) );
}
} }
} }
@@ -149,32 +173,38 @@ debug()
{ {
stringChildren = ""; stringChildren = "";
for ( i = 0; i < level.waypoints[closest].children.size; i++ ) for ( i = 0; i < level.waypoints[ closest ].children.size; i++ )
{ {
if ( i != 0 ) if ( i != 0 )
stringChildren = stringChildren + "," + level.waypoints[closest].children[i]; {
stringChildren = stringChildren + "," + level.waypoints[ closest ].children[ i ];
}
else else
stringChildren = stringChildren + level.waypoints[closest].children[i]; {
stringChildren = stringChildren + level.waypoints[ closest ].children[ i ];
}
} }
print3d( level.waypoints[closest].origin + ( 0, 0, 35 ), stringChildren, ( 0, 1, 0 ), 2 ); print3d( level.waypoints[ closest ].origin + ( 0, 0, 35 ), stringChildren, ( 0, 1, 0 ), 2 );
print3d( level.waypoints[closest].origin + ( 0, 0, 15 ), level.waypoints[closest].type, ( 0, 1, 0 ), 2 ); print3d( level.waypoints[ closest ].origin + ( 0, 0, 15 ), level.waypoints[ closest ].type, ( 0, 1, 0 ), 2 );
} }
} }
} }
AddWaypoints() addWaypoints()
{ {
self endon( "disconnect" ); self endon( "disconnect" );
self endon( "death" ); self endon( "death" );
for ( ;; ) for ( ;; )
{ {
while ( !self SecondaryOffhandButtonPressed() || isDefined( self.command ) ) while ( !self secondaryoffhandbuttonpressed() || isdefined( self.command ) )
{
wait 0.05; wait 0.05;
}
pos = self getOrigin(); pos = self getorigin();
self.command = true; self.command = true;
self iprintln( "Adding a waypoint..." ); self iprintln( "Adding a waypoint..." );
@@ -182,14 +212,16 @@ AddWaypoints()
self iprintln( "Attack - grenade; Use - claymore" ); self iprintln( "Attack - grenade; Use - claymore" );
self iprintln( "Else(wait) - your stance" ); self iprintln( "Else(wait) - your stance" );
wait getDvarFloat( "bots_main_debug_commandWait" ); wait getdvarfloat( "bots_main_debug_commandWait" );
self addWaypoint( pos ); self addWaypoint( pos );
self.command = undefined; self.command = undefined;
while ( self SecondaryOffhandButtonPressed() ) while ( self secondaryoffhandbuttonpressed() )
{
wait 0.05; wait 0.05;
}
} }
} }
@@ -200,24 +232,32 @@ linkWaypoints()
for ( ;; ) for ( ;; )
{ {
while ( !self MeleeButtonPressed() || isDefined( self.command ) ) while ( !self meleebuttonpressed() || isdefined( self.command ) )
{
wait 0.05; wait 0.05;
}
self.command = true; self.command = true;
self iprintln( "ADS - Unlink; Else(wait) - Link" ); self iprintln( "ADS - unlink; Else(wait) - Link" );
wait getDvarFloat( "bots_main_debug_commandWait" ); wait getdvarfloat( "bots_main_debug_commandWait" );
if ( !self adsButtonPressed() ) if ( !self adsbuttonpressed() )
{
self LinkWaypoint( self.closest ); self LinkWaypoint( self.closest );
}
else else
{
self UnLinkWaypoint( self.closest ); self UnLinkWaypoint( self.closest );
}
self.command = undefined; self.command = undefined;
while ( self MeleeButtonPressed() ) while ( self meleebuttonpressed() )
{
wait 0.05; wait 0.05;
}
} }
} }
@@ -228,27 +268,37 @@ deleteWaypoints()
for ( ;; ) for ( ;; )
{ {
while ( !self fragButtonPressed() || isDefined( self.command ) ) while ( !self fragbuttonpressed() || isdefined( self.command ) )
{
wait 0.05; wait 0.05;
}
self.command = true; self.command = true;
self iprintln( "Attack - DeleteAll; ADS - Load" ); self iprintln( "Attack - deleteAll; ADS - Load" );
self iprintln( "Else(wait) - Delete" ); self iprintln( "Else(wait) - delete" );
wait getDvarFloat( "bots_main_debug_commandWait" ); wait getdvarfloat( "bots_main_debug_commandWait" );
if ( self attackButtonPressed() ) if ( self attackbuttonpressed() )
{
self deleteAllWaypoints(); self deleteAllWaypoints();
else if ( self adsButtonPressed() ) }
else if ( self adsbuttonpressed() )
{
self LoadWaypoints(); self LoadWaypoints();
}
else else
self DeleteWaypoint( self.closest ); {
self deleteWaypoint( self.closest );
}
self.command = undefined; self.command = undefined;
while ( self fragButtonPressed() ) while ( self fragbuttonpressed() )
{
wait 0.05; wait 0.05;
}
} }
} }
@@ -259,16 +309,18 @@ watchSaveWaypointsCommand()
for ( ;; ) for ( ;; )
{ {
while ( !self useButtonPressed() || !self attackButtonPressed() || isDefined( self.command ) ) while ( !self usebuttonpressed() || !self attackbuttonpressed() || isdefined( self.command ) )
{
wait 0.05; wait 0.05;
}
self.command = true; self.command = true;
self iprintln( "ADS - Autolink; Else(wait) - Save" ); self iprintln( "ADS - Autolink; Else(wait) - Save" );
wait getDvarFloat( "bots_main_debug_commandWait" ); wait getdvarfloat( "bots_main_debug_commandWait" );
if ( !self adsButtonPressed() ) if ( !self adsbuttonpressed() )
{ {
self checkForWarnings(); self checkForWarnings();
wait 1; wait 1;
@@ -279,89 +331,99 @@ watchSaveWaypointsCommand()
logprint( "\n\n" + mpnm + "()\n{\n/*" ); logprint( "\n\n" + mpnm + "()\n{\n/*" );
logprint( "*/waypoints = [];\n/*" ); logprint( "*/waypoints = [];\n/*" );
for ( i = 0; i < level.waypointCount; i++ ) for ( i = 0; i < level.waypointcount; i++ )
{ {
logprint( "*/waypoints[" + i + "] = spawnstruct();\n/*" ); logprint( "*/waypoints[ " + i + " ] = spawnstruct();\n/*" );
logprint( "*/waypoints[" + i + "].origin = " + level.waypoints[i].origin + ";\n/*" ); logprint( "*/waypoints[ " + i + " ].origin = " + level.waypoints[ i ].origin + ";\n/*" );
logprint( "*/waypoints[" + i + "].type = \"" + level.waypoints[i].type + "\";\n/*" ); logprint( "*/waypoints[ " + i + " ].type = \"" + level.waypoints[ i ].type + "\";\n/*" );
for ( c = 0; c < level.waypoints[i].children.size; c++ ) for ( c = 0; c < level.waypoints[ i ].children.size; c++ )
{ {
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/*" );
}
} }
logprint( "*/return waypoints;\n}\n\n\n\n" ); logprint( "*/return waypoints;\n}\n\n\n\n" );
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" );
for ( i = 0; i < level.waypointCount; i++ ) for ( i = 0; i < level.waypointcount; i++ )
{ {
str = ""; str = "";
wp = level.waypoints[i]; wp = level.waypoints[ i ];
str += wp.origin[0] + " " + wp.origin[1] + " " + wp.origin[2] + ","; str += wp.origin[ 0 ] + " " + wp.origin[ 1 ] + " " + wp.origin[ 2 ] + ",";
for ( h = 0; h < wp.children.size; h++ ) for ( h = 0; h < wp.children.size; h++ )
{ {
str += wp.children[h]; str += wp.children[ h ];
if ( h < wp.children.size - 1 ) if ( h < wp.children.size - 1 )
{
str += " "; str += " ";
}
} }
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 ] + ",";
}
else else
{
str += ","; str += ",";
}
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 );
} }
else else
{ {
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.closest; level.wptolink = self.closest;
} }
} }
self.command = undefined; self.command = undefined;
while ( self useButtonPressed() && self attackButtonPressed() ) while ( self usebuttonpressed() && self attackbuttonpressed() )
{
wait 0.05; wait 0.05;
}
} }
} }
LoadWaypoints() LoadWaypoints()
{ {
self DeleteAllWaypoints(); self deleteAllWaypoints();
self iPrintlnBold( "Loading WPS..." ); self iprintlnbold( "Loading WPS..." );
load_waypoints(); load_waypoints();
wait 1; wait 1;
@@ -371,188 +433,214 @@ LoadWaypoints()
checkForWarnings() checkForWarnings()
{ {
if ( level.waypointCount <= 0 ) if ( level.waypointcount <= 0 )
self iprintln( "WARNING: waypointCount is " + level.waypointCount );
if ( level.waypointCount != level.waypoints.size )
self iprintln( "WARNING: waypointCount is not " + level.waypoints.size );
for ( i = 0; i < level.waypointCount; i++ )
{ {
if ( !isDefined( level.waypoints[i] ) ) self iprintln( "WARNING: waypointCount is " + level.waypointcount );
}
if ( level.waypointcount != level.waypoints.size )
{
self iprintln( "WARNING: waypointCount is not " + level.waypoints.size );
}
for ( i = 0; i < level.waypointcount; i++ )
{
if ( !isdefined( level.waypoints[ i ] ) )
{ {
self iprintln( "WARNING: waypoint " + i + " is undefined" ); self iprintln( "WARNING: waypoint " + i + " is undefined" );
continue; continue;
} }
if ( level.waypoints[i].children.size <= 0 ) if ( level.waypoints[ i ].children.size <= 0 )
self iprintln( "WARNING: waypoint " + i + " childCount is " + level.waypoints[i].children.size ); {
self iprintln( "WARNING: waypoint " + i + " childCount is " + level.waypoints[ i ].children.size );
}
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" );
} }
else else
{ {
for ( h = level.waypoints[i].children.size - 1; h >= 0; h-- ) for ( h = level.waypoints[ i ].children.size - 1; h >= 0; h-- )
{ {
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" );
}
else if ( child == i ) else if ( child == i )
{
self iprintln( "WARNING: waypoint " + i + " child " + child + " is itself" ); self iprintln( "WARNING: waypoint " + i + " child " + child + " is itself" );
}
} }
} }
} }
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 ( !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" );
}
} }
} }
DeleteAllWaypoints() deleteAllWaypoints()
{ {
level.waypoints = []; level.waypoints = [];
level.waypointCount = 0; level.waypointcount = 0;
self iprintln( "DelAllWps" ); self iprintln( "DelAllWps" );
} }
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;
} }
level.wpToLink = -1; level.wptolink = -1;
for ( i = level.waypoints[nwp].children.size - 1; i >= 0; i-- ) for ( i = level.waypoints[ nwp ].children.size - 1; i >= 0; i-- )
{ {
child = level.waypoints[nwp].children[i]; child = level.waypoints[ nwp ].children[ i ];
level.waypoints[child].children = array_remove( level.waypoints[child].children, nwp ); level.waypoints[ child ].children = array_remove( level.waypoints[ child ].children, nwp );
} }
for ( i = 0; i < level.waypointCount; i++ ) for ( i = 0; i < level.waypointcount; i++ )
{ {
for ( h = level.waypoints[i].children.size - 1; h >= 0; h-- ) for ( h = level.waypoints[ i ].children.size - 1; h >= 0; h-- )
{ {
if ( level.waypoints[i].children[h] > nwp ) if ( level.waypoints[ i ].children[ h ] > nwp )
level.waypoints[i].children[h]--; {
level.waypoints[ i ].children[ h ]--;
}
} }
} }
for ( entry = 0; entry < level.waypointCount; entry++ ) for ( entry = 0; entry < level.waypointcount; entry++ )
{ {
if ( entry == nwp ) if ( entry == nwp )
{ {
while ( entry < level.waypointCount - 1 ) while ( entry < level.waypointcount - 1 )
{ {
level.waypoints[entry] = level.waypoints[entry + 1]; level.waypoints[ entry ] = level.waypoints[ entry + 1 ];
entry++; entry++;
} }
level.waypoints[entry] = undefined; level.waypoints[ entry ] = undefined;
break; break;
} }
} }
level.waypointCount--; level.waypointcount--;
self iprintln( "DelWp " + nwp ); self iprintln( "DelWp " + nwp );
} }
addWaypoint( pos ) addWaypoint( pos )
{ {
level.waypoints[level.waypointCount] = spawnstruct(); level.waypoints[ level.waypointcount ] = spawnstruct();
level.waypoints[level.waypointCount].origin = pos; level.waypoints[ level.waypointcount ].origin = pos;
if ( self AdsButtonPressed() ) if ( self adsbuttonpressed() )
level.waypoints[level.waypointCount].type = "climb";
else if ( self AttackButtonPressed() && self UseButtonPressed() )
level.waypoints[level.waypointCount].type = "tube";
else if ( self AttackButtonPressed() )
level.waypoints[level.waypointCount].type = "grenade";
else if ( self UseButtonPressed() )
level.waypoints[level.waypointCount].type = "claymore";
else
level.waypoints[level.waypointCount].type = self getStance();
level.waypoints[level.waypointCount].angles = self getPlayerAngles();
level.waypoints[level.waypointCount].children = [];
self iprintln( level.waypoints[level.waypointCount].type + " Waypoint " + level.waypointCount + " Added at " + pos );
if ( level.autoLink )
{ {
if ( level.wpToLink == -1 ) level.waypoints[ level.waypointcount ].type = "climb";
level.wpToLink = level.waypointCount - 1; }
else if ( self attackbuttonpressed() && self usebuttonpressed() )
level.waypointCount++; {
self LinkWaypoint( level.waypointCount - 1 ); level.waypoints[ level.waypointcount ].type = "tube";
}
else if ( self attackbuttonpressed() )
{
level.waypoints[ level.waypointcount ].type = "grenade";
}
else if ( self usebuttonpressed() )
{
level.waypoints[ level.waypointcount ].type = "claymore";
} }
else else
{ {
level.waypointCount++; level.waypoints[ level.waypointcount ].type = self getstance();
}
level.waypoints[ level.waypointcount ].angles = self getplayerangles();
level.waypoints[ level.waypointcount ].children = [];
self iprintln( level.waypoints[ level.waypointcount ].type + " Waypoint " + level.waypointcount + " Added at " + pos );
if ( level.autolink )
{
if ( level.wptolink == -1 )
{
level.wptolink = level.waypointcount - 1;
}
level.waypointcount++;
self LinkWaypoint( level.waypointcount - 1 );
}
else
{
level.waypointcount++;
} }
} }
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;
} }
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;
} }
level.waypoints[nwp].children = array_remove( level.waypoints[nwp].children, level.wpToLink ); level.waypoints[ nwp ].children = array_remove( level.waypoints[ nwp ].children, level.wptolink );
level.waypoints[level.wpToLink].children = array_remove( level.waypoints[level.wpToLink].children, nwp ); level.waypoints[ level.wptolink ].children = array_remove( level.waypoints[ level.wptolink ].children, nwp );
self iprintln( "Waypoint " + nwp + " Broken to " + level.wpToLink ); self iprintln( "Waypoint " + nwp + " Broken to " + level.wptolink );
level.wpToLink = -1; level.wptolink = -1;
} }
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;
return; return;
} }
if ( level.wpToLink == -1 || nwp == level.wpToLink ) if ( level.wptolink == -1 || nwp == level.wptolink )
{ {
level.wpToLink = nwp; level.wptolink = nwp;
self iprintln( "Waypoint Link Started " + nwp ); self iprintln( "Waypoint Link Started " + nwp );
return; return;
} }
weGood = true; weGood = true;
for ( i = level.waypoints[level.wpToLink].children.size - 1; i >= 0; i-- ) for ( i = level.waypoints[ level.wptolink ].children.size - 1; i >= 0; i-- )
{ {
if ( level.waypoints[level.wpToLink].children[i] == nwp ) if ( level.waypoints[ level.wptolink ].children[ i ] == nwp )
{ {
weGood = false; weGood = false;
break; break;
@@ -561,9 +649,9 @@ LinkWaypoint( nwp )
if ( weGood ) if ( weGood )
{ {
for ( i = level.waypoints[nwp].children.size - 1; i >= 0; i-- ) for ( i = level.waypoints[ nwp ].children.size - 1; i >= 0; i-- )
{ {
if ( level.waypoints[nwp].children[i] == level.wpToLink ) if ( level.waypoints[ nwp ].children[ i ] == level.wptolink )
{ {
weGood = false; weGood = false;
break; break;
@@ -573,16 +661,16 @@ LinkWaypoint( nwp )
if ( !weGood ) if ( !weGood )
{ {
self iprintln( "Waypoint Link Cancelled " + nwp + " and " + level.wpToLink + " already linked." ); self iprintln( "Waypoint Link Cancelled " + nwp + " and " + level.wptolink + " already linked." );
level.wpToLink = -1; level.wptolink = -1;
return; return;
} }
level.waypoints[level.wpToLink].children[level.waypoints[level.wpToLink].children.size] = nwp; level.waypoints[ level.wptolink ].children[ level.waypoints[ level.wptolink ].children.size ] = nwp;
level.waypoints[nwp].children[level.waypoints[nwp].children.size] = level.wpToLink; level.waypoints[ nwp ].children[ level.waypoints[ nwp ].children.size ] = level.wptolink;
self iprintln( "Waypoint " + nwp + " Linked to " + level.wpToLink ); self iprintln( "Waypoint " + nwp + " Linked to " + level.wptolink );
level.wpToLink = -1; level.wptolink = -1;
} }
destroyOnDeath( hud ) destroyOnDeath( hud )
@@ -596,20 +684,20 @@ textScroll( string )
{ {
self endon( "death" ); self endon( "death" );
self endon( "disconnect" ); self endon( "disconnect" );
//thanks ActionScript // thanks ActionScript
back = createBar( ( 0, 0, 0 ), 1000, 30 ); back = createbar( ( 0, 0, 0 ), 1000, 30 );
back setPoint( "CENTER", undefined, 0, 220 ); back setpoint( "CENTER", undefined, 0, 220 );
self thread destroyOnDeath( back ); self thread destroyOnDeath( back );
text = createFontString( "default", 1.5 ); text = createfontstring( "default", 1.5 );
text setText( string ); text settext( string );
self thread destroyOnDeath( text ); self thread destroyOnDeath( text );
for ( ;; ) for ( ;; )
{ {
text setPoint( "CENTER", undefined, 1200, 220 ); text setpoint( "CENTER", undefined, 1200, 220 );
text setPoint( "CENTER", undefined, -1200, 220, 20 ); text setpoint( "CENTER", undefined, -1200, 220, 20 );
wait 20; wait 20;
} }
} }
+17 -17
View File
@@ -1,31 +1,31 @@
init() init()
{ {
level.bot_builtins["printconsole"] = ::do_printconsole; level.bot_builtins[ "printconsole" ] = ::do_printconsole;
level.bot_builtins["filewrite"] = ::do_filewrite; level.bot_builtins[ "filewrite" ] = ::do_filewrite;
level.bot_builtins["fileread"] = ::do_fileread; level.bot_builtins[ "fileread" ] = ::do_fileread;
level.bot_builtins["fileexists"] = ::do_fileexists; level.bot_builtins[ "fileexists" ] = ::do_fileexists;
level.bot_builtins["botaction"] = ::do_botaction; level.bot_builtins[ "botaction" ] = ::do_botaction;
level.bot_builtins["botstop"] = ::do_botstop; level.bot_builtins[ "botstop" ] = ::do_botstop;
level.bot_builtins["botmovement"] = ::do_botmovement; level.bot_builtins[ "botmovement" ] = ::do_botmovement;
level.bot_builtins["botmeleeparams"] = ::do_botmeleeparams; level.bot_builtins[ "botmeleeparams" ] = ::do_botmeleeparams;
level.bot_builtins["isbot"] = ::do_isbot; level.bot_builtins[ "isbot" ] = ::do_isbot;
} }
do_printconsole( s ) do_printconsole( s )
{ {
PrintConsole( s ); printconsole( s );
} }
do_filewrite( file, contents, mode ) do_filewrite( file, contents, mode )
{ {
file = "scriptdata/" + file; file = "scriptdata/" + file;
FileWrite( file, contents, mode ); filewrite( file, contents, mode );
} }
do_fileread( file ) do_fileread( file )
{ {
file = "scriptdata/" + file; file = "scriptdata/" + file;
return FileRead( file ); return fileread( file );
} }
do_fileexists( file ) do_fileexists( file )
@@ -36,25 +36,25 @@ do_fileexists( file )
do_botaction( action ) do_botaction( action )
{ {
self BotAction( action ); self botaction( action );
} }
do_botstop() do_botstop()
{ {
self BotStop(); self botstop();
} }
do_botmovement( forward, right ) do_botmovement( forward, right )
{ {
self BotMovement( forward, right ); self botmovement( forward, right );
} }
do_botmeleeparams( yaw, dist ) do_botmeleeparams( yaw, dist )
{ {
// self BotMeleeParams( yaw, dist ); // self botmeleeparams( yaw, dist );
} }
do_isbot() do_isbot()
{ {
return self isBot(); return self isbot();
} }