diff --git a/userraw/maps/mp/bots/_bot_chat.gsc b/userraw/maps/mp/bots/_bot_chat.gsc index fd36b55..b26f56d 100644 --- a/userraw/maps/mp/bots/_bot_chat.gsc +++ b/userraw/maps/mp/bots/_bot_chat.gsc @@ -30,7 +30,7 @@ onBotConnected() { level waittill( "bot_connected", bot ); - bot thread start_chat_watch(); + bot thread start_chat_threads(); } } @@ -54,6 +54,586 @@ BotDoChat( chance, string, isTeam ) } } +/* + Threads for bots +*/ +start_chat_threads() +{ + self endon( "disconnect" ); + + self thread start_chat_watch(); + self thread start_killed_watch(); + self thread start_death_watch(); +} + +/* + Got a kill +*/ +start_killed_watch() +{ + self endon( "disconnect" ); + + self.bots_lastKS = 0; + + for ( ;; ) + { + self waittill( "killed_enemy" ); + + if ( self.bots_lastKS < self.pers["cur_kill_streak"] ) + { + for ( i = self.bots_lastKS + 1; i <= self.pers["cur_kill_streak"]; i++ ) + { + self thread bot_chat_streak( i ); + } + } + + self.bots_lastKS = self.pers["cur_kill_streak"]; + + self thread bot_chat_killed_watch( self.lastKilledPlayer ); + } +} + +/* + Got streak +*/ +bot_chat_streak( streakCount ) +{ + self endon( "disconnect" ); + + if ( streakCount == 25 ) + { + if ( GetDvarInt( "bots_loadout_allow_op" ) ) + { + if ( self.pers["lastEarnedStreak"] == "nuke" ) + { + switch ( randomint( 5 ) ) + { + case 0: + self BotDoChat( 100, "I GOT A NUKE!!" ); + break; + + case 1: + self BotDoChat( 100, "NUKEEEEEEEEEEEEEEEEE" ); + break; + + case 2: + self BotDoChat( 100, "25 killstreak!!!" ); + break; + + case 3: + self BotDoChat( 100, "NNNNNUUUUUUUUUUKKKKEEE!!! UWDHAWIDMIOGHE" ); + break; + + case 4: + self BotDoChat( 100, "You guys are getting nuuuuuuked~ x3" ); + break; + } + } + else + { + self BotDoChat( 100, "Come on! I would of had a nuke but I don't got it set..." ); + } + } + else + { + self BotDoChat( 100, "WOW.. I could have a nuke but dumb admin disabled it for bots." ); + } + } +} + +/* + Say killed stuff +*/ +bot_chat_killed_watch( victim ) +{ + self endon( "disconnect" ); + + message = ""; + + switch ( randomint( 42 ) ) + { + case 0: + message = ( "^" + ( randomint( 6 ) + 1 ) + "Haha take that " + victim.name ); + break; + + case 1: + message = ( "^" + ( randomint( 6 ) + 1 ) + "Who's your daddy!" ); + break; + + case 2: + message = ( "^" + ( randomint( 6 ) + 1 ) + "O i just kicked your ass " + victim.name + "!!" ); + break; + + case 3: + message = ( "^" + ( randomint( 6 ) + 1 ) + "Better luck next time " + victim.name ); + break; + + case 4: + message = ( "^" + ( randomint( 6 ) + 1 ) + victim.name + " Is that all you got?" ); + break; + + case 5: + message = ( "^" + ( randomint( 6 ) + 1 ) + "LOL " + victim.name + ", l2play" ); + break; + + case 6: + message = ( "^" + ( randomint( 6 ) + 1 ) + ":)" ); + break; + + case 7: + message = ( "^" + ( randomint( 6 ) + 1 ) + "Im unstoppable!" ); + break; + + case 8: + message = ( "^" + ( randomint( 6 ) + 1 ) + "Wow " + victim.name + " that was a close one!" ); + break; + + case 9: + message = ( "^" + ( randomint( 6 ) + 1 ) + "Haha thank you, thank you very much." ); + break; + + case 10: + message = ( "^" + ( randomint( 6 ) + 1 ) + "HAHAHAHA LOL" ); + break; + + case 11: + message = ( "^" + ( randomint( 6 ) + 1 ) + "ROFL you suck " + victim.name + "!!" ); + break; + + case 12: + message = ( "^" + ( randomint( 6 ) + 1 ) + "Wow that was a lucky shot!" ); + break; + + case 13: + message = ( "^" + ( randomint( 6 ) + 1 ) + "Thats right, i totally pwnd your ass!" ); + break; + + case 14: + message = ( "^" + ( randomint( 6 ) + 1 ) + "Don't even think that i am hacking cause that was pure skill!" ); + break; + + case 15: + message = ( "LOL xD xDDDD " + victim.name + " sucks! HAHA ROFLMAO" ); + break; + + case 16: + message = ( "Wow that was an easy kill." ); + break; + + case 17: + message = ( "noob down" ); + break; + + case 18: + message = ( "Lol u suck " + victim.name ); + break; + + case 19: + message = ( "PWND!" ); + break; + + case 20: + message = ( "sit down " + victim.name ); + break; + + case 21: + message = ( "wow that was close, but i still got you ;)" ); + break; + + case 22: + message = ( "oooooo! i got u good!" ); + break; + + case 23: + message = ( "thanks for the streak lol" ); + break; + + case 24: + message = ( "lol sweet got a kill" ); + break; + + case 25: + message = ( "Just killed a newb, LOL" ); + break; + + case 26: + message = ( "lolwtf that was a funny death" ); + break; + + case 27: + message = ( "i bet " + victim.name + " is using the arrow keys to move." ); + break; + + case 28: + message = ( "lol its noobs like " + victim.name + " that ruin teams" ); + break; + + case 29: + message = ( "lolwat was that " + victim.name + "?" ); + break; + + case 30: + message = ( "haha thanks " + victim.name + ", im at a " + self.pers["cur_kill_streak"] + " streak." ); + break; + + case 31: + message = ( "lol " + victim.name + " is at a " + victim.pers["cur_death_streak"] + " deathstreak" ); + break; + + case 32: + message = ( "KLAPPED" ); + break; + + case 33: + message = ( "oooh get merked " + victim.name ); + break; + + case 34: + message = ( "i love " + getMapName( getdvar( "mapname" ) ) + "!" ); + break; + + case 35: + message = ( getMapName( getdvar( "mapname" ) ) + " is my favorite map!" ); + break; + + case 36: + message = ( "get rekt" ); + break; + + case 37: + message = ( "lol i rekt " + victim.name ); + break; + + case 38: + message = ( "lol ur mum can play better than u!" ); + break; + + case 39: + message = ( victim.name + " just got rekt" ); + break; + + case 40: + message = ( "Man, I sure love my " + getBaseWeaponName( victim.attackerData[self.guid].weapon ) + "!" ); + break; + + case 41: + message = ( "lol u got killed " + victim.name + ", kek" ); + break; + } + + wait ( randomint( 3 ) + 1 ); + self BotDoChat( 10, message ); +} + +/* + death +*/ +start_death_watch() +{ + self endon( "disconnect" ); + + for ( ;; ) + { + self waittill( "death" ); + + self thread bot_chat_death_watch( self.lastAttacker, self.bots_lastKS ); + + self.bots_lastKS = 0; + } +} + +/* + Does death chat +*/ +bot_chat_death_watch( killer, last_ks ) +{ + self endon( "disconnect" ); + + message = ""; + + switch ( randomint( 68 ) ) + { + case 0: + message = "^" + ( randomint( 6 ) + 1 ) + "Damm, i just got pwnd by " + killer.name; + break; + + case 1: + message = ( "^" + ( randomint( 6 ) + 1 ) + "Hax ! Hax ! Hax !" ); + break; + + case 2: + message = ( "^" + ( randomint( 6 ) + 1 ) + "WOW n1 " + killer.name ); + break; + + case 3: + message = ( "^" + ( randomint( 6 ) + 1 ) + "How the?? How did you do that " + killer.name + "?" ); + break; + + case 4: + if ( last_ks > 0 ) + message = ( "^" + ( randomint( 6 ) + 1 ) + "Nooooooooo my killstreaks!! :( I had a " + last_ks + " killstreak!!" ); + else + message = ( "man im getting spawn killed, i have a " + self.pers["cur_death_streak"] + " deathstreak!" ); + + break; + + case 5: + message = ( "^" + ( randomint( 6 ) + 1 ) + "Stop Spawn KILLING!!!" ); + break; + + case 6: + message = ( "^" + ( randomint( 6 ) + 1 ) + "Haha Well done " + killer.name ); + break; + + case 7: + message = ( "^" + ( randomint( 6 ) + 1 ) + "Agggghhhh " + killer.name + " you are such a noob!!!!" ); + break; + + case 8: + message = ( "^" + ( randomint( 6 ) + 1 ) + "n1 " + killer.name ); + break; + + case 9: + message = ( "Sigh at my lag, it's totally killing me.. ^2Just Look at my ^1Ping!" ); + break; + + case 10: + message = ( "omg wow that was LEGENDARY, well done " + killer.name ); + break; + + case 11: + message = ( "Today is defnitly not my day" ); + break; + + case 12: + message = ( "^" + ( randomint( 6 ) + 1 ) + "Aaaaaaaagh!!!" ); + break; + + case 13: + message = ( "^" + ( randomint( 6 ) + 1 ) + " Dude What the hell, " + killer.name + " is such a HACKER!! " ); + break; + + case 14: + message = ( "^" + ( randomint( 6 ) + 1 ) + killer.name + " you Wallhacker!" ); + break; + + case 15: + message = ( "^" + ( randomint( 6 ) + 1 ) + "This is so frustrating!" ); + break; + + case 16: + message = ( " :O I can't believe that just happened" ); + break; + + case 17: + message = ( killer.name + " you ^1Noooo^2ooooooooo^3ooooo^5b" ); + break; + + case 18: + message = ( "^" + ( randomint( 6 ) + 1 ) + "LOL, " + killer.name + " how did you kill me?" ); + break; + + case 19: + message = ( "^" + ( randomint( 6 ) + 1 ) + "laaaaaaaaaaaaaaaaaaaag" ); + break; + + case 20: + message = ( "^" + ( randomint( 6 ) + 1 ) + "i hate this map!" ); + break; + + case 21: + message = ( killer.name + " You tanker!!" ); + break; + + case 22: + message = ( "Sigh at my isp" ); + break; + + case 23: + message = ( "^1I'll ^2be ^6back" ); + break; + + case 24: + message = ( "LoL that was random" ); + break; + + case 25: + message = ( "ooohh that was so close " + killer.name + " and you know it !! " ); + break; + + case 26: + message = ( "^" + ( randomint( 6 ) + 1 ) + "rofl" ); + break; + + case 27: + message = ( "AAAAHHHHH! WTF! IM GOING TO KILL YOU " + killer.name ); + break; + + case 28: + message = ( "AHH! IM DEAD BECAUSE " + level.players[randomint( level.players.size )].name + " is a noob!" ); + break; + + case 29: + message = ( level.players[randomint( level.players.size )].name + ", please don't talk." ); + break; + + case 30: + message = ( "Wow " + level.players[randomint( level.players.size )].name + " is a blocker noob!" ); + break; + + case 31: + message = ( "Next time GET OUT OF MY WAY " + level.players[randomint( level.players.size )].name + "!!" ); + break; + + case 32: + message = ( "Wow, I'm dead because " + killer.name + " is a tryhard..." ); + break; + + case 33: + message = ( "Try harder " + killer.name + " please!" ); + break; + + case 34: + message = ( "I bet " + killer.name + "'s fingers are about to break." ); + break; + + case 35: + message = ( "WOW, USE A REAL GUN " + killer.name + "!" ); + break; + + case 36: + message = ( "k wtf. " + killer.name + " is hacking" ); + break; + + case 37: + message = ( "nice wallhacks " + killer.name ); + break; + + case 38: + message = ( "wh " + killer.name ); + break; + + case 39: + message = ( "cheetos!" ); + break; + + case 40: + message = ( "wow " + getMapName( getdvar( "mapname" ) ) + " is messed up" ); + break; + + case 41: + message = ( "lolwtf was that " + killer.name + "?" ); + break; + + case 42: + message = ( "admin pls ban " + killer.name ); + break; + + case 43: + message = ( "WTF IS WITH THESE SPAWNS??" ); + break; + + case 44: + message = ( "im getting owned lol..." ); + break; + + case 45: + message = ( "someone kill " + killer.name + ", they are on a streak of " + killer.pers["cur_kill_streak"] + "!" ); + break; + + case 46: + message = ( "man i died" ); + break; + + case 47: + message = ( "nice noob gun " + killer.name ); + break; + + case 48: + message = ( "stop camping " + killer.name + "!" ); + break; + + case 49: + message = ( "k THERE IS NOTHING I CAN DO ABOUT DYING!!" ); + break; + + case 50: + message = ( "aw" ); + break; + + case 51: + message = ( "lol " + getMapName( getdvar( "mapname" ) ) + " sux" ); + break; + + case 52: + message = ( "why are we even playing on " + getMapName( getdvar( "mapname" ) ) + "?" ); + break; + + case 53: + message = ( getMapName( getdvar( "mapname" ) ) + " is such an unfair map!!" ); + break; + + case 54: + message = ( "what were they thinking when making " + getMapName( getdvar( "mapname" ) ) + "?!" ); + break; + + case 55: + message = ( killer.name + " totally just destroyed me!" ); + break; + + case 56: + message = ( "can i be admen plz? so i can ban " + killer.name ); + break; + + case 57: + message = ( "wow " + killer.name + " is such a no life!!" ); + break; + + case 58: + message = ( "man i got rekt by " + killer.name ); + break; + + case 59: + message = ( "admen pls ben " + killer.name ); + break; + + case 60: + message = "Wow! Nice " + getBaseWeaponName( self.attackerData[killer.guid].weapon ) + " you got there, " + killer.name + "!"; + break; + + case 61: + message = ( "you are so banned " + killer.name ); + break; + + case 62: + message = ( "recorded reported and deported! " + killer.name ); + break; + + case 63: + message = ( "hack name " + killer.name + "?" ); + break; + + case 64: + message = ( "dude can you send me that hack " + killer.name + "?" ); + break; + + case 65: + message = ( "nice aimbot " + killer.name + "!!1" ); + break; + + case 66: + message = ( "you are benned " + killer.name + "!!" ); + break; + + case 67: + message = ( "that was topkek " + killer.name ); + break; + } + + wait ( randomint( 3 ) + 1 ); + self BotDoChat( 15, message ); +} + /* Starts things for the bot */ @@ -68,19 +648,19 @@ start_chat_watch() switch ( msg ) { case "revive": - self bot_chat_revive_watch( a, b, c, d, e, f, g ); + self thread bot_chat_revive_watch( a, b, c, d, e, f, g ); break; case "killcam": - self bot_chat_killcam_watch( a, b, c, d, e, f, g ); + self thread bot_chat_killcam_watch( a, b, c, d, e, f, g ); break; case "stuck": - self bot_chat_stuck_watch( a, b, c, d, e, f, g ); + self thread bot_chat_stuck_watch( a, b, c, d, e, f, g ); break; case "tube": - self bot_chat_tube_watch( a, b, c, d, e, f, g ); + self thread bot_chat_tube_watch( a, b, c, d, e, f, g ); break; } } @@ -91,6 +671,8 @@ start_chat_watch() */ bot_chat_revive_watch( state, revive, c, d, e, f, g ) { + self endon( "disconnect" ); + switch ( state ) { case "go": @@ -130,17 +712,19 @@ bot_chat_revive_watch( state, revive, c, d, e, f, g ) */ bot_chat_killcam_watch( state, b, c, d, e, f, g ) { + self endon( "disconnect" ); + switch ( state ) { case "start": switch ( randomInt( 2 ) ) { case 0: - self BotDoChat( 10, "WTF?!?!?!! Dude youre a hacker and a half!!" ); + self BotDoChat( 3, "WTF?!?!?!! Dude youre a hacker and a half!!" ); break; case 1: - self BotDoChat( 10, "Haa! Got my fraps ready, time to watch this killcam." ); + self BotDoChat( 2, "Haa! Got my fraps ready, time to watch this killcam." ); break; } @@ -150,11 +734,11 @@ bot_chat_killcam_watch( state, b, c, d, e, f, g ) switch ( randomInt( 2 ) ) { case 0: - self BotDoChat( 10, "Wow... Im reporting you!!!" ); + self BotDoChat( 3, "Wow... Im reporting you!!!" ); break; case 1: - self BotDoChat( 10, "Got it on fraps!" ); + self BotDoChat( 2, "Got it on fraps!" ); break; } @@ -167,6 +751,8 @@ bot_chat_killcam_watch( state, b, c, d, e, f, g ) */ bot_chat_stuck_watch( a, b, c, d, e, f, g ) { + self endon( "disconnect" ); + sayLength = randomintRange( 5, 30 ); msg = ""; @@ -220,6 +806,8 @@ bot_chat_stuck_watch( a, b, c, d, e, f, g ) */ bot_chat_tube_watch( state, tubeWp, tubeWeap, d, e, f, g ) { + self endon( "disconnect" ); + switch ( state ) { case "go":