Bots use sam turret

This commit is contained in:
ineedbots 2021-05-24 19:33:51 -06:00
parent b55c2acb6a
commit d78a9c4afd
2 changed files with 32 additions and 29 deletions

View File

@ -325,11 +325,9 @@ watchRadar()
player.bot_isInRadar = false; player.bot_isInRadar = false;
} }
grenades = GetEntArray("script_model", "classname"); for ( i = level.players.size - 1; i >= 0; i-- )
for (i = grenades.size - 1; i >= 0; i--)
{ {
grenade = grenades[i]; grenade = level.players[i].deployedPortableRadar;
if ( !isDefined( grenade ) ) if ( !isDefined( grenade ) )
continue; continue;
@ -397,7 +395,7 @@ watchScrabler()
if(level.teamBased && scrambler.team == player.team) if(level.teamBased && scrambler.team == player.team)
continue; continue;
if (player _hasPerk("specialty_coldblooded")) if (player _hasPerk("specialty_spygame"))
continue; continue;
if (DistanceSquared(player.origin, scrambler.origin) > 256*256) if (DistanceSquared(player.origin, scrambler.origin) > 256*256)

View File

@ -4164,12 +4164,12 @@ bot_killstreak_think()
print (self.name + " " + streakName); print (self.name + " " + streakName);
if (maps\mp\killstreaks\_killstreaks::isRideKillstreak(streakName) || maps\mp\killstreaks\_killstreaks::isCarryKillstreak(streakName)) if (maps\mp\killstreaks\_killstreaks::isRideKillstreak(streakName) || maps\mp\killstreaks\_killstreaks::isCarryKillstreak(streakName) || streakName == "sam_turret" || streakName == "remote_mg_turret")
{ {
if (self inLastStand() || true) if (self inLastStand())
continue; continue;
if (lifeId == self.deaths && !self HasScriptGoal() && !self.bot_lock_goal && streakName != "sentry" && !self nearAnyOfWaypoints(128, level.waypointsCamp)) if (lifeId == self.deaths && !self HasScriptGoal() && !self.bot_lock_goal && maps\mp\killstreaks\_killstreaks::isRideKillstreak(streakName) && !self nearAnyOfWaypoints(128, level.waypointsCamp))
{ {
campSpots = []; campSpots = [];
distSq = 1024*1024; distSq = 1024*1024;
@ -4189,12 +4189,12 @@ bot_killstreak_think()
if (self waittill_any_return("new_goal", "goal", "bad_path") != "new_goal") if (self waittill_any_return("new_goal", "goal", "bad_path") != "new_goal")
self ClearScriptGoal(); self ClearScriptGoal();
doFastContinue = true; doFastContinue = self.killstreakIndexWeapon;
continue; continue;
} }
} }
if (streakName == "sentry") if (streakName == "sentry" || streakName == "sam_turret" || streakName == "remote_mg_turret" || streakName == "ims")
{ {
if (self HasScriptAimPos()) if (self HasScriptAimPos())
continue; continue;
@ -4203,8 +4203,27 @@ bot_killstreak_think()
angles = self GetPlayerAngles(); angles = self GetPlayerAngles();
forwardTrace = bulletTrace(myEye, myEye + AnglesToForward(angles)*1024, false, self); forwardTrace = bulletTrace(myEye, myEye + AnglesToForward(angles)*1024, false, self);
placeNot = "place_sentry";
cancelNot = "cancel_sentry";
distCheck = 1000*1000;
switch (streakName)
{
case "sam_turret":
forwardTrace = bulletTrace(myEye, myEye + (0, 0, 1024), false, self);
break;
case "remote_mg_turret":
placeNot = "place_turret";
cancelNot = "cancel_turret";
break;
case "ims":
forwardTrace = bulletTrace(myEye, myEye + AnglesToForward(angles)*128, false, self);
placeNot = "place_ims";
cancelNot = "cancel_ims";
distCheck = 100*100;
break;
}
if (DistanceSquared(self.origin, forwardTrace["position"]) < 1000*1000 && self.pers["bots"]["skill"]["base"] > 3) if (DistanceSquared(self.origin, forwardTrace["position"]) < distCheck && self.pers["bots"]["skill"]["base"] > 3)
continue; continue;
self BotStopMoving(true); self BotStopMoving(true);
@ -4218,9 +4237,9 @@ bot_killstreak_think()
} }
wait 1; wait 1;
self notify("place_sentry"); self notify(placeNot);
wait 0.05; wait 0.05;
self notify("cancel_sentry"); self notify(cancelNot);
wait 0.5; wait 0.5;
self thread changeToWeapon(curWeap); self thread changeToWeapon(curWeap);
@ -4228,7 +4247,7 @@ bot_killstreak_think()
self BotStopMoving(false); self BotStopMoving(false);
self ClearScriptAimPos(); self ClearScriptAimPos();
} }
else if (streakName == "predator_missile") else if (streakName == "predator_missile" && false)
{ {
location = self getKillstreakTargetLocation(); location = self getKillstreakTargetLocation();
@ -4278,7 +4297,7 @@ bot_killstreak_think()
self BotFreezeControls(false); self BotFreezeControls(false);
self thread changeToWeapon(curWeap); self thread changeToWeapon(curWeap);
} }
else if (streakName == "ac130") else if (streakName == "ac130" && false)
{ {
if ( isDefined( level.ac130player ) || level.ac130InUse ) if ( isDefined( level.ac130player ) || level.ac130InUse )
continue; continue;
@ -4292,20 +4311,6 @@ bot_killstreak_think()
if ( !isDefined( level.ac130player ) || level.ac130player != self ) if ( !isDefined( level.ac130player ) || level.ac130player != self )
self thread changeToWeapon(curWeap); self thread changeToWeapon(curWeap);
} }
else if (streakName == "helicopter_minigun")
{
if (isDefined( level.chopper ))
continue;
self BotStopMoving(true);
self changeToWeapon(ksWeap);
self BotStopMoving(false);
wait 3;
if ( !isDefined( level.chopper ) || !isDefined( level.chopper.gunner ) || level.chopper.gunner != self )
self thread changeToWeapon(curWeap);
}
} }
else else
{ {