fix bot laptop aim

add bot mw2
This commit is contained in:
INeedBots 2021-03-01 03:43:54 -06:00
parent e7fef2e080
commit c417ddba39

View File

@ -368,7 +368,7 @@ getKillstreaks()
/* /*
bots chooses a random perk bots chooses a random perk
*/ */
chooseRandomPerk(perkkind, primary) chooseRandomPerk(perkkind, primary, primaryAtts)
{ {
perks = getPerks(perkkind); perks = getPerks(perkkind);
rank = self maps\mp\gametypes\_rank::getRankForXp( self getPlayerData("experience") ); rank = self maps\mp\gametypes\_rank::getRankForXp( self getPlayerData("experience") );
@ -396,12 +396,8 @@ chooseRandomPerk(perkkind, primary)
if (reasonable) if (reasonable)
{ {
if (perk == "specialty_onemanarmy")
continue;
if (perk == "specialty_bling") if (perk == "specialty_bling")
continue; continue;
if (perk == "specialty_explosivedamage")
continue;
if (perk == "specialty_localjammer") if (perk == "specialty_localjammer")
continue; continue;
if (perk == "throwingknife_mp") if (perk == "throwingknife_mp")
@ -415,36 +411,54 @@ chooseRandomPerk(perkkind, primary)
if (perk == "specialty_copycat") if (perk == "specialty_copycat")
continue; continue;
if (perkkind == "perk1")
{
if (perk == "specialty_onemanarmy")
{
if (primaryAtts[0] != "gl"/* && primaryAtts[1] != "gl"*/)
continue;
}
}
if (perkkind == "perk2") if (perkkind == "perk2")
{ {
if (perk != "specialty_bulletdamage") if (perk != "specialty_bulletdamage")
{ {
if (randomInt(100) < 35) if (perk == "specialty_explosivedamage")
continue; {
if (primary == "cheytac") if (primaryAtts[0] != "gl"/* && primaryAtts[1] != "gl"*/)
continue; continue;
if (primary == "rpd") }
continue; else
if (primary == "ak47" && randomInt(100) < 80) {
continue; if (randomInt(100) < 10)
if (primary == "aug") continue;
continue;
if (primary == "barrett" && randomInt(100) < 80) if (primary == "cheytac")
continue; continue;
if (primary == "tavor" && randomInt(100) < 80) if (primary == "rpd")
continue; continue;
if (primary == "scar") if (primary == "ak47" && randomInt(100) < 80)
continue; continue;
if (primary == "masada" && randomInt(100) < 60) if (primary == "aug")
continue; continue;
if (primary == "m4" && randomInt(100) < 80) if (primary == "barrett" && randomInt(100) < 80)
continue; continue;
if (primary == "m16") if (primary == "tavor" && randomInt(100) < 80)
continue; continue;
if (primary == "fal") if (primary == "scar")
continue; continue;
if (primary == "famas") if (primary == "masada" && randomInt(100) < 60)
continue; continue;
if (primary == "m4" && randomInt(100) < 80)
continue;
if (primary == "m16")
continue;
if (primary == "fal")
continue;
if (primary == "famas")
continue;
}
} }
} }
} }
@ -601,8 +615,13 @@ chooseRandomAttachmentComboForGun(gun)
{ {
if (att1 == "shotgun" || att2 == "shotgun") if (att1 == "shotgun" || att2 == "shotgun")
continue; continue;
if ((att1 == "akimbo" || att2 == "akimbo") && gun != "ranger" && gun != "model1887" && gun != "glock")
continue; if (att1 == "akimbo" || att2 == "akimbo")
{
if (gun != "ranger" && gun != "model1887" && gun != "glock")
continue;
}
if (att1 == "acog" || att2 == "acog") if (att1 == "acog" || att2 == "acog")
continue; continue;
if (att1 == "thermal" || att2 == "thermal") if (att1 == "thermal" || att2 == "thermal")
@ -660,17 +679,24 @@ setClasses()
for (i = 0; i < 5; i++) for (i = 0; i < 5; i++)
{ {
equipment = chooseRandomPerk("equipment"); equipment = chooseRandomPerk("equipment");
perk1 = chooseRandomPerk("perk1");
perk3 = chooseRandomPerk("perk3"); perk3 = chooseRandomPerk("perk3");
deathstreak = chooseRandomPerk("perk4"); deathstreak = chooseRandomPerk("perk4");
tactical = chooseRandomTactical(); tactical = chooseRandomTactical();
primary = chooseRandomPrimary(); primary = chooseRandomPrimary();
perk2 = chooseRandomPerk("perk2", primary);
primaryAtts = chooseRandomAttachmentComboForGun(primary); primaryAtts = chooseRandomAttachmentComboForGun(primary);
perk1 = chooseRandomPerk("perk1", primary, primaryAtts);
if (perk1 != "specialty_bling")
primaryAtts[1] = "none";
perk2 = chooseRandomPerk("perk2", primary, primaryAtts);
primaryCamo = chooseRandomCamo(); primaryCamo = chooseRandomCamo();
secondary = chooseRandomSecondary(perk1); secondary = chooseRandomSecondary(perk1);
secondaryAtts = chooseRandomAttachmentComboForGun(secondary); secondaryAtts = chooseRandomAttachmentComboForGun(secondary);
if (perk1 != "specialty_bling" || !isDefined(self.pers["bots"]["unlocks"]["upgraded_specialty_bling"]))
secondaryAtts[1] = "none";
self setPlayerData("customClasses", i, "weaponSetups", 0, "weapon", primary); self setPlayerData("customClasses", i, "weaponSetups", 0, "weapon", primary);
self setPlayerData("customClasses", i, "weaponSetups", 0, "attachment", 0, primaryAtts[0]); self setPlayerData("customClasses", i, "weaponSetups", 0, "attachment", 0, primaryAtts[0]);
self setPlayerData("customClasses", i, "weaponSetups", 0, "attachment", 1, primaryAtts[1]); self setPlayerData("customClasses", i, "weaponSetups", 0, "attachment", 1, primaryAtts[1]);
@ -1063,7 +1089,7 @@ difficulty()
for(;;) for(;;)
{ {
wait 1; wait 5;
rankVar = GetDvarInt("bots_skill"); rankVar = GetDvarInt("bots_skill");
@ -1090,6 +1116,8 @@ difficulty()
self.pers["bots"]["skill"]["aim_offset_amount"] = 4; self.pers["bots"]["skill"]["aim_offset_amount"] = 4;
self.pers["bots"]["skill"]["bone_update_interval"] = 2; self.pers["bots"]["skill"]["bone_update_interval"] = 2;
self.pers["bots"]["skill"]["bones"] = "j_spineupper,j_ankle_le,j_ankle_ri"; self.pers["bots"]["skill"]["bones"] = "j_spineupper,j_ankle_le,j_ankle_ri";
self.pers["bots"]["skill"]["ads_fov_multi"] = 0.5;
self.pers["bots"]["skill"]["ads_aimspeed_multi"] = 0.5;
self.pers["bots"]["behavior"]["strafe"] = 0; self.pers["bots"]["behavior"]["strafe"] = 0;
self.pers["bots"]["behavior"]["nade"] = 10; self.pers["bots"]["behavior"]["nade"] = 10;
@ -1119,6 +1147,8 @@ difficulty()
self.pers["bots"]["skill"]["aim_offset_amount"] = 3; self.pers["bots"]["skill"]["aim_offset_amount"] = 3;
self.pers["bots"]["skill"]["bone_update_interval"] = 1.5; self.pers["bots"]["skill"]["bone_update_interval"] = 1.5;
self.pers["bots"]["skill"]["bones"] = "j_spineupper,j_ankle_le,j_ankle_ri,j_head"; self.pers["bots"]["skill"]["bones"] = "j_spineupper,j_ankle_le,j_ankle_ri,j_head";
self.pers["bots"]["skill"]["ads_fov_multi"] = 0.5;
self.pers["bots"]["skill"]["ads_aimspeed_multi"] = 0.5;
self.pers["bots"]["behavior"]["strafe"] = 10; self.pers["bots"]["behavior"]["strafe"] = 10;
self.pers["bots"]["behavior"]["nade"] = 15; self.pers["bots"]["behavior"]["nade"] = 15;
@ -1148,6 +1178,8 @@ difficulty()
self.pers["bots"]["skill"]["aim_offset_amount"] = 2.5; self.pers["bots"]["skill"]["aim_offset_amount"] = 2.5;
self.pers["bots"]["skill"]["bone_update_interval"] = 1; self.pers["bots"]["skill"]["bone_update_interval"] = 1;
self.pers["bots"]["skill"]["bones"] = "j_spineupper,j_spineupper,j_ankle_le,j_ankle_ri,j_head"; self.pers["bots"]["skill"]["bones"] = "j_spineupper,j_spineupper,j_ankle_le,j_ankle_ri,j_head";
self.pers["bots"]["skill"]["ads_fov_multi"] = 0.5;
self.pers["bots"]["skill"]["ads_aimspeed_multi"] = 0.5;
self.pers["bots"]["behavior"]["strafe"] = 20; self.pers["bots"]["behavior"]["strafe"] = 20;
self.pers["bots"]["behavior"]["nade"] = 20; self.pers["bots"]["behavior"]["nade"] = 20;
@ -1177,6 +1209,8 @@ difficulty()
self.pers["bots"]["skill"]["aim_offset_amount"] = 2; self.pers["bots"]["skill"]["aim_offset_amount"] = 2;
self.pers["bots"]["skill"]["bone_update_interval"] = 0.75; self.pers["bots"]["skill"]["bone_update_interval"] = 0.75;
self.pers["bots"]["skill"]["bones"] = "j_spineupper,j_spineupper,j_ankle_le,j_ankle_ri,j_head,j_head"; self.pers["bots"]["skill"]["bones"] = "j_spineupper,j_spineupper,j_ankle_le,j_ankle_ri,j_head,j_head";
self.pers["bots"]["skill"]["ads_fov_multi"] = 0.5;
self.pers["bots"]["skill"]["ads_aimspeed_multi"] = 0.5;
self.pers["bots"]["behavior"]["strafe"] = 30; self.pers["bots"]["behavior"]["strafe"] = 30;
self.pers["bots"]["behavior"]["nade"] = 25; self.pers["bots"]["behavior"]["nade"] = 25;
@ -1206,6 +1240,8 @@ difficulty()
self.pers["bots"]["skill"]["aim_offset_amount"] = 1.5; self.pers["bots"]["skill"]["aim_offset_amount"] = 1.5;
self.pers["bots"]["skill"]["bone_update_interval"] = 0.5; self.pers["bots"]["skill"]["bone_update_interval"] = 0.5;
self.pers["bots"]["skill"]["bones"] = "j_spineupper,j_head"; self.pers["bots"]["skill"]["bones"] = "j_spineupper,j_head";
self.pers["bots"]["skill"]["ads_fov_multi"] = 0.5;
self.pers["bots"]["skill"]["ads_aimspeed_multi"] = 0.5;
self.pers["bots"]["behavior"]["strafe"] = 40; self.pers["bots"]["behavior"]["strafe"] = 40;
self.pers["bots"]["behavior"]["nade"] = 35; self.pers["bots"]["behavior"]["nade"] = 35;
@ -1235,6 +1271,8 @@ difficulty()
self.pers["bots"]["skill"]["aim_offset_amount"] = 1; self.pers["bots"]["skill"]["aim_offset_amount"] = 1;
self.pers["bots"]["skill"]["bone_update_interval"] = 0.25; self.pers["bots"]["skill"]["bone_update_interval"] = 0.25;
self.pers["bots"]["skill"]["bones"] = "j_spineupper,j_head,j_head"; self.pers["bots"]["skill"]["bones"] = "j_spineupper,j_head,j_head";
self.pers["bots"]["skill"]["ads_fov_multi"] = 0.5;
self.pers["bots"]["skill"]["ads_aimspeed_multi"] = 0.5;
self.pers["bots"]["behavior"]["strafe"] = 50; self.pers["bots"]["behavior"]["strafe"] = 50;
self.pers["bots"]["behavior"]["nade"] = 45; self.pers["bots"]["behavior"]["nade"] = 45;
@ -1264,6 +1302,8 @@ difficulty()
self.pers["bots"]["skill"]["aim_offset_amount"] = 0; self.pers["bots"]["skill"]["aim_offset_amount"] = 0;
self.pers["bots"]["skill"]["bone_update_interval"] = 0.05; self.pers["bots"]["skill"]["bone_update_interval"] = 0.05;
self.pers["bots"]["skill"]["bones"] = "j_head"; self.pers["bots"]["skill"]["bones"] = "j_head";
self.pers["bots"]["skill"]["ads_fov_multi"] = 0.5;
self.pers["bots"]["skill"]["ads_aimspeed_multi"] = 0.5;
self.pers["bots"]["behavior"]["strafe"] = 65; self.pers["bots"]["behavior"]["strafe"] = 65;
self.pers["bots"]["behavior"]["nade"] = 65; self.pers["bots"]["behavior"]["nade"] = 65;
@ -1463,6 +1503,7 @@ start_bot_threads()
self thread bot_use_grenade_think(); self thread bot_use_grenade_think();
self thread bot_use_equipment_think(); self thread bot_use_equipment_think();
self thread bot_watch_riot_weapons(); self thread bot_watch_riot_weapons();
self thread bot_watch_think_mw2(); // bots play mw2
} }
// obj // obj
@ -2660,6 +2701,57 @@ bot_use_grenade_think()
} }
} }
/*
Bots play mw2
*/
bot_watch_think_mw2()
{
self endon("disconnect");
self endon("death");
level endon("game_ended");
for (;;)
{
wait randomIntRange(1, 4);
if(self BotIsFrozen())
continue;
if(self isDefusing() || self isPlanting())
continue;
if (self IsUsingRemote())
continue;
if (self InLastStand() && !self InFinalStand())
continue;
if (self HasThreat())
continue;
tube = self getValidTube();
if (!isDefined(tube))
{
if (self GetAmmoCount("at4_mp"))
tube = "at4_mp";
else if (self GetAmmoCount("rpg_mp"))
tube = "rpg_mp";
else
continue;
}
if (self GetCurrentWeapon() == tube)
continue;
chance = self.pers["bots"]["behavior"]["nade"];
if (randomInt(100) > chance)
continue;
self ChangeToWeapon(tube);
}
}
/* /*
Bots will use gremades/wweapons while having a target while using a shield Bots will use gremades/wweapons while having a target while using a shield
*/ */
@ -2673,6 +2765,18 @@ bot_watch_riot_weapons()
{ {
wait randomIntRange(2, 4); wait randomIntRange(2, 4);
if(self BotIsFrozen())
continue;
if(self isDefusing() || self isPlanting())
continue;
if (self IsUsingRemote())
continue;
if (self InLastStand() && !self InFinalStand())
continue;
if (!self HasThreat()) if (!self HasThreat())
continue; continue;
@ -2681,7 +2785,6 @@ bot_watch_riot_weapons()
threat = self GetThreat(); threat = self GetThreat();
dist = DistanceSquared(threat.origin, self.origin); dist = DistanceSquared(threat.origin, self.origin);
rand = randomInt(100);
curWeap = self GetCurrentWeapon(); curWeap = self GetCurrentWeapon();
if (randomInt(2)) if (randomInt(2))
@ -2694,14 +2797,14 @@ bot_watch_riot_weapons()
if (dist <= level.bots_minGrenadeDistance || dist >= level.bots_maxGrenadeDistance) if (dist <= level.bots_minGrenadeDistance || dist >= level.bots_maxGrenadeDistance)
continue; continue;
if (rand > self.pers["bots"]["behavior"]["nade"]) if (randomInt(100) > self.pers["bots"]["behavior"]["nade"])
continue; continue;
self botThrowGrenade(nade); self botThrowGrenade(nade);
} }
else else
{ {
if (rand > self.pers["bots"]["behavior"]["switch"]) if (randomInt(100) > self.pers["bots"]["behavior"]["switch"] * 10)
continue; continue;
weaponslist = self getweaponslistall(); weaponslist = self getweaponslistall();
@ -4085,8 +4188,12 @@ bot_killstreak_think()
if (isDefined(location)) if (isDefined(location))
{ {
self BotFreezeControls(true);
self notify( "confirm_location", location, directionYaw ); self notify( "confirm_location", location, directionYaw );
wait 1; wait 1;
self BotFreezeControls(false);
} }
self thread changeToWeapon(curWeap); self thread changeToWeapon(curWeap);