From 6df7e337deaf0b5432a1fb5f4231e2f729c5df9f Mon Sep 17 00:00:00 2001 From: ineedbots Date: Mon, 31 May 2021 22:13:26 -0600 Subject: [PATCH] more killstreaks --- maps/mp/bots/_bot_script.gsc | 32 ++++++++++++++++++++++---------- scripts/bots_test.gsc | 21 +++++++++++++++++++++ 2 files changed, 43 insertions(+), 10 deletions(-) diff --git a/maps/mp/bots/_bot_script.gsc b/maps/mp/bots/_bot_script.gsc index 35a4e0e..3c9a101 100644 --- a/maps/mp/bots/_bot_script.gsc +++ b/maps/mp/bots/_bot_script.gsc @@ -3716,7 +3716,7 @@ bot_box_think_loop(data) box = undefined; myteam = self.pers[ "team" ]; - + dist = 2048*2048; for ( i = 0; i < level.vest_boxes.size; i++ ) @@ -4411,8 +4411,6 @@ bot_killstreak_think_loop(data) if (!isDefined(lifeId)) lifeId = -1; - print (self.name + " " + streakName); - if (maps\mp\killstreaks\_killstreaks::isRideKillstreak(streakName) || maps\mp\killstreaks\_killstreaks::isCarryKillstreak(streakName) || streakName == "sam_turret" || streakName == "remote_mg_turret") { if (self inLastStand()) @@ -4434,7 +4432,7 @@ bot_killstreak_think_loop(data) } } - if (streakName == "sentry" || streakName == "sam_turret" || streakName == "remote_mg_turret" || streakName == "ims") + if (streakName == "sentry" || streakName == "sam_turret" || streakName == "remote_mg_turret" || streakName == "ims" || streakName == "remote_uav" || streakName == "remote_tank") { if (self HasScriptAimPos()) return; @@ -4461,6 +4459,18 @@ bot_killstreak_think_loop(data) cancelNot = "cancel_ims"; distCheck = 100*100; break; + case "remote_uav": + forwardTrace = bulletTrace(myEye, myEye + AnglesToForward(angles)*128, false, self); + placeNot = "place_carryRemoteUAV"; + cancelNot = "cancel_carryRemoteUAV"; + distCheck = 100*100; + break; + case "remote_tank": + forwardTrace = bulletTrace(myEye, myEye + AnglesToForward(angles)*128, false, self); + placeNot = "place_tank"; + cancelNot = "cancel_tank"; + distCheck = 100*100; + break; } if (DistanceSquared(self.origin, forwardTrace["position"]) < distCheck && self.pers["bots"]["skill"]["base"] > 3) @@ -4487,7 +4497,7 @@ bot_killstreak_think_loop(data) self BotStopMoving(false); self ClearScriptAimPos(); } - else if (streakName == "predator_missile" && false) + else if (streakName == "predator_missile") { location = self getKillstreakTargetLocation(); @@ -4506,6 +4516,9 @@ bot_killstreak_think_loop(data) return; } + wait 0.05; + self BotChangeToWeapon(ksWeap); + wait 1; self notify("bot_clear_remote_on_death"); self BotStopMoving(false); @@ -4519,16 +4532,15 @@ bot_killstreak_think_loop(data) self BotFreezeControls(true); - self maps\mp\killstreaks\_killstreaks::usedKillstreak( "predator_missile", true ); - //self maps\mp\killstreaks\_killstreaks::shuffleKillStreaksFILO( "predator_missile" ); - self maps\mp\killstreaks\_killstreaks::giveOwnedKillstreakItem(); + self thread maps\mp\killstreaks\_killstreaks::updateKillstreaks(); + self maps\mp\killstreaks\_killstreaks::usedKillstreak( streakName, true ); rocket = MagicBullet( "remotemissile_projectile_mp", self.origin + (0.0,0.0,7000.0 - (self.pers["bots"]["skill"]["base"] * 400)), location, self ); rocket.lifeId = lifeId; rocket.type = "remote"; rocket thread maps\mp\gametypes\_weapons::AddMissileToSightTraces( self.pers["team"] ); - //rocket thread maps\mp\killstreaks\_remotemissile::handleDamage(); + rocket thread maps\mp\killstreaks\_remotemissile::handleDamage(); thread maps\mp\killstreaks\_remotemissile::MissileEyes( self, rocket ); self waittill( "stopped_using_remote" ); @@ -4537,7 +4549,7 @@ bot_killstreak_think_loop(data) self BotFreezeControls(false); self thread changeToWeapon(curWeap); } - else if (streakName == "ac130" && false) + else if (streakName == "ac130") // remote_mortar osprey_gunner deployable_vest { if ( isDefined( level.ac130player ) || level.ac130InUse ) return; diff --git a/scripts/bots_test.gsc b/scripts/bots_test.gsc index 845c3ed..5472d42 100644 --- a/scripts/bots_test.gsc +++ b/scripts/bots_test.gsc @@ -20,9 +20,30 @@ onConnected() level waittill("connected", player); player thread test(); + player thread onSpawn(); } } +onSpawn() +{ + self endon("disconnect"); + + for (;;) + { + self waittill("spawned_player"); + + self thread spawned(); + } +} + +spawned() +{ + self endon("disconnect"); + self endon("death"); + + wait 0.5; +} + test() { self endon("disconnect");