This commit is contained in:
Your Name 2020-07-30 20:50:23 -06:00
parent f9aa349ba3
commit 40ba2387c2
2 changed files with 151 additions and 98 deletions

View File

@ -18,7 +18,9 @@ added()
self.pers["bots"]["skill"]["aim_time"] = 0.05; self.pers["bots"]["skill"]["aim_time"] = 0.05;
self.pers["bots"]["skill"]["init_react_time"] = 0; self.pers["bots"]["skill"]["init_react_time"] = 0;
self.pers["bots"]["skill"]["reaction_time"] = 0; self.pers["bots"]["skill"]["reaction_time"] = 0;
self.pers["bots"]["skill"]["remember_time"] = 10000; self.pers["bots"]["skill"]["no_trace_ads_time"] = 2500;
self.pers["bots"]["skill"]["no_trace_look_time"] = 10000;
self.pers["bots"]["skill"]["remember_time"] = 25000;
self.pers["bots"]["skill"]["fov"] = -1; self.pers["bots"]["skill"]["fov"] = -1;
self.pers["bots"]["skill"]["dist"] = 100000; self.pers["bots"]["skill"]["dist"] = 100000;
self.pers["bots"]["skill"]["spawn_time"] = 0; self.pers["bots"]["skill"]["spawn_time"] = 0;
@ -145,11 +147,12 @@ onPlayerSpawned()
self thread fireHack(); self thread fireHack();
self thread stanceHack(); self thread stanceHack();
self thread moveHack(); self thread moveHack();
self thread emptyClipShoot();
self thread UseRunThink(); self thread UseRunThink();
self thread watchUsingRemote(); self thread watchUsingRemote();
// grenades (pick up too), knife (players and ents), walk, stinger, reload, footsounds, claymore hack // grenades (pick up too), knife (players and ents), stinger, footsounds, claymore hack
self thread spawned(); self thread spawned();
} }
@ -168,6 +171,11 @@ knife()
*/ */
reload() reload()
{ {
cur = self GetCurrentWeapon();
self SetWeaponAmmoStock(cur, self GetWeaponAmmoClip(cur) + self GetWeaponAmmoStock(cur));
self setWeaponAmmoClip(cur, 0);
// the script should reload for us.
} }
/* /*
@ -281,7 +289,7 @@ doRunDelay()
self.bot.run_in_delay = false; self.bot.run_in_delay = false;
} }
bot_lookat(pos, time, vel) bot_lookat(pos, time)
{ {
self notify("bots_aim_overlap"); self notify("bots_aim_overlap");
self endon("bots_aim_overlap"); self endon("bots_aim_overlap");
@ -297,13 +305,6 @@ bot_lookat(pos, time, vel)
if (!isDefined(steps) || steps <= 0) if (!isDefined(steps) || steps <= 0)
steps = 1; steps = 1;
if (isDefined(vel))
{
vel *= time;
vel /= steps;
pos += vel;
}
myAngle=self getPlayerAngles(); myAngle=self getPlayerAngles();
angles = VectorToAngles( (pos - self GetEye()) - anglesToForward(myAngle) ); angles = VectorToAngles( (pos - self GetEye()) - anglesToForward(myAngle) );
@ -353,6 +354,27 @@ stanceHack()
} }
} }
emptyClipShoot()
{
self endon("disconnect");
self endon("death");
for (;;)
{
wait 0.05;
if (self.bot.isreloading || self GetCurrentWeaponClipAmmo())
continue;
cur = self GetCurrentWeapon();
if (IsWeaponClipOnly(cur) || !self GetWeaponAmmoStock(cur) || self IsUsingRemote())
continue;
self thread pressFire();
}
}
moveHack() moveHack()
{ {
self endon("disconnect"); self endon("disconnect");
@ -365,9 +387,12 @@ moveHack()
{ {
wait 0.05; wait 0.05;
self.bot.velocity = self.origin-self.bot.last_pos; self.bot.velocity = (self.origin-self.bot.last_pos)*20;
self.bot.last_pos = self.origin; self.bot.last_pos = self.origin;
if (DistanceSquared(self.bot.moveTo, self.origin) < 1)
continue;
if (level.gameEnded || !gameFlag( "prematch_done" )) if (level.gameEnded || !gameFlag( "prematch_done" ))
continue; continue;
@ -496,7 +521,7 @@ fireHack()
if (self.bot.isswitching || self.bot.run_in_delay || self.bot.running) if (self.bot.isswitching || self.bot.run_in_delay || self.bot.running)
shouldFire = false; shouldFire = false;
if (self.bot.isfragging || self.bot.issmoking || (self.bot.isreloading && !self IsUsingRemote())) if (self.bot.isfragging || self.bot.issmoking)
shouldFire = true; shouldFire = true;
if (level.gameEnded || !gameFlag( "prematch_done" )) if (level.gameEnded || !gameFlag( "prematch_done" ))
@ -817,7 +842,7 @@ check_reload()
for(;;) for(;;)
{ {
self waittill( "weapon_fired" ); self waittill_notify_or_timeout( "weapon_fired", 5 );
self thread reload_thread(); self thread reload_thread();
} }
} }
@ -833,7 +858,10 @@ reload_thread()
wait 2.5; wait 2.5;
if(isDefined(self.bot.target) || self.bot.isreloading || self.bot.isfraggingafter || self.bot.issmokingafter || self.bot.isfrozen || level.gameEnded || !gameFlag( "prematch_done" ) || self.bot.climbing) if (self.bot.isfrozen || level.gameEnded || !gameFlag( "prematch_done" ))
return;
if(isDefined(self.bot.target) || self.bot.isreloading || self.bot.isfraggingafter || self.bot.issmokingafter || self.bot.climbing)
return; return;
cur = self getCurrentWEapon(); cur = self getCurrentWEapon();
@ -1252,8 +1280,12 @@ aim()
if(isDefined(self.bot.target) && isDefined(self.bot.target.entity) && !self.bot.climbing) if(isDefined(self.bot.target) && isDefined(self.bot.target.entity) && !self.bot.climbing)
{ {
trace_time = self.bot.target.trace_time; no_trace_look_time = self.pers["bots"]["skill"]["no_trace_look_time"];
no_trace_time = self.bot.target.no_trace_time; no_trace_time = self.bot.target.no_trace_time;
if (no_trace_time <= no_trace_look_time)
{
trace_time = self.bot.target.trace_time;
last_pos = self.bot.target.last_seen_pos; last_pos = self.bot.target.last_seen_pos;
target = self.bot.target.entity; target = self.bot.target.entity;
conedot = 0; conedot = 0;
@ -1264,7 +1296,7 @@ aim()
eyePos = self getEye(); eyePos = self getEye();
angles = self GetPlayerAngles(); angles = self GetPlayerAngles();
rand = self.bot.target.rand; rand = self.bot.target.rand;
remember_time = self.pers["bots"]["skill"]["remember_time"]; no_trace_ads_time = self.pers["bots"]["skill"]["no_trace_ads_time"];
reaction_time = self.pers["bots"]["skill"]["reaction_time"]; reaction_time = self.pers["bots"]["skill"]["reaction_time"];
nadeAimOffset = 0; nadeAimOffset = 0;
myeye = self getEye(); myeye = self getEye();
@ -1276,7 +1308,7 @@ aim()
if(no_trace_time) if(no_trace_time)
{ {
if(no_trace_time > remember_time/2 && !usingRemote) if(no_trace_time > no_trace_ads_time && !usingRemote)
{ {
self ads(false); self ads(false);
@ -1316,7 +1348,11 @@ aim()
{ {
aimpos = target getTagOrigin( "j_spineupper" ) + (0, 0, nadeAimOffset); aimpos = target getTagOrigin( "j_spineupper" ) + (0, 0, nadeAimOffset);
conedot = getConeDot(aimpos, eyePos, angles); conedot = getConeDot(aimpos, eyePos, angles);
self thread bot_lookat(aimpos, aimspeed, target GetVelocity());
if (!nadeAimOffset && conedot > 0.999)
self thread bot_lookat(aimpos, 0.05);
else
self thread bot_lookat(aimpos, aimspeed);
} }
else else
{ {
@ -1351,6 +1387,7 @@ aim()
continue; continue;
} }
}
self ads(false); self ads(false);
self stopNading(); self stopNading();

View File

@ -628,6 +628,8 @@ difficulty()
self.pers["bots"]["skill"]["aim_time"] = 0.6; self.pers["bots"]["skill"]["aim_time"] = 0.6;
self.pers["bots"]["skill"]["init_react_time"] = 1500; self.pers["bots"]["skill"]["init_react_time"] = 1500;
self.pers["bots"]["skill"]["reaction_time"] = 1000; self.pers["bots"]["skill"]["reaction_time"] = 1000;
self.pers["bots"]["skill"]["no_trace_ads_time"] = 500;
self.pers["bots"]["skill"]["no_trace_look_time"] = 600;
self.pers["bots"]["skill"]["remember_time"] = 750; self.pers["bots"]["skill"]["remember_time"] = 750;
self.pers["bots"]["skill"]["fov"] = 0.7; self.pers["bots"]["skill"]["fov"] = 0.7;
self.pers["bots"]["skill"]["dist"] = 1000; self.pers["bots"]["skill"]["dist"] = 1000;
@ -648,6 +650,8 @@ difficulty()
self.pers["bots"]["skill"]["aim_time"] = 0.55; self.pers["bots"]["skill"]["aim_time"] = 0.55;
self.pers["bots"]["skill"]["init_react_time"] = 1000; self.pers["bots"]["skill"]["init_react_time"] = 1000;
self.pers["bots"]["skill"]["reaction_time"] = 800; self.pers["bots"]["skill"]["reaction_time"] = 800;
self.pers["bots"]["skill"]["no_trace_ads_time"] = 1000;
self.pers["bots"]["skill"]["no_trace_look_time"] = 1250;
self.pers["bots"]["skill"]["remember_time"] = 1500; self.pers["bots"]["skill"]["remember_time"] = 1500;
self.pers["bots"]["skill"]["fov"] = 0.65; self.pers["bots"]["skill"]["fov"] = 0.65;
self.pers["bots"]["skill"]["dist"] = 1500; self.pers["bots"]["skill"]["dist"] = 1500;
@ -668,6 +672,8 @@ difficulty()
self.pers["bots"]["skill"]["aim_time"] = 0.4; self.pers["bots"]["skill"]["aim_time"] = 0.4;
self.pers["bots"]["skill"]["init_react_time"] = 750; self.pers["bots"]["skill"]["init_react_time"] = 750;
self.pers["bots"]["skill"]["reaction_time"] = 500; self.pers["bots"]["skill"]["reaction_time"] = 500;
self.pers["bots"]["skill"]["no_trace_ads_time"] = 1000;
self.pers["bots"]["skill"]["no_trace_look_time"] = 1500;
self.pers["bots"]["skill"]["remember_time"] = 2000; self.pers["bots"]["skill"]["remember_time"] = 2000;
self.pers["bots"]["skill"]["fov"] = 0.6; self.pers["bots"]["skill"]["fov"] = 0.6;
self.pers["bots"]["skill"]["dist"] = 2250; self.pers["bots"]["skill"]["dist"] = 2250;
@ -688,6 +694,8 @@ difficulty()
self.pers["bots"]["skill"]["aim_time"] = 0.3; self.pers["bots"]["skill"]["aim_time"] = 0.3;
self.pers["bots"]["skill"]["init_react_time"] = 600; self.pers["bots"]["skill"]["init_react_time"] = 600;
self.pers["bots"]["skill"]["reaction_time"] = 400; self.pers["bots"]["skill"]["reaction_time"] = 400;
self.pers["bots"]["skill"]["no_trace_ads_time"] = 1500;
self.pers["bots"]["skill"]["no_trace_look_time"] = 2000;
self.pers["bots"]["skill"]["remember_time"] = 3000; self.pers["bots"]["skill"]["remember_time"] = 3000;
self.pers["bots"]["skill"]["fov"] = 0.55; self.pers["bots"]["skill"]["fov"] = 0.55;
self.pers["bots"]["skill"]["dist"] = 3350; self.pers["bots"]["skill"]["dist"] = 3350;
@ -708,6 +716,8 @@ difficulty()
self.pers["bots"]["skill"]["aim_time"] = 0.25; self.pers["bots"]["skill"]["aim_time"] = 0.25;
self.pers["bots"]["skill"]["init_react_time"] = 500; self.pers["bots"]["skill"]["init_react_time"] = 500;
self.pers["bots"]["skill"]["reaction_time"] = 300; self.pers["bots"]["skill"]["reaction_time"] = 300;
self.pers["bots"]["skill"]["no_trace_ads_time"] = 2500;
self.pers["bots"]["skill"]["no_trace_look_time"] = 3000;
self.pers["bots"]["skill"]["remember_time"] = 4000; self.pers["bots"]["skill"]["remember_time"] = 4000;
self.pers["bots"]["skill"]["fov"] = 0.5; self.pers["bots"]["skill"]["fov"] = 0.5;
self.pers["bots"]["skill"]["dist"] = 5000; self.pers["bots"]["skill"]["dist"] = 5000;
@ -728,6 +738,8 @@ difficulty()
self.pers["bots"]["skill"]["aim_time"] = 0.2; self.pers["bots"]["skill"]["aim_time"] = 0.2;
self.pers["bots"]["skill"]["init_react_time"] = 250; self.pers["bots"]["skill"]["init_react_time"] = 250;
self.pers["bots"]["skill"]["reaction_time"] = 150; self.pers["bots"]["skill"]["reaction_time"] = 150;
self.pers["bots"]["skill"]["no_trace_ads_time"] = 2500;
self.pers["bots"]["skill"]["no_trace_look_time"] = 4000;
self.pers["bots"]["skill"]["remember_time"] = 5000; self.pers["bots"]["skill"]["remember_time"] = 5000;
self.pers["bots"]["skill"]["fov"] = 0.45; self.pers["bots"]["skill"]["fov"] = 0.45;
self.pers["bots"]["skill"]["dist"] = 7500; self.pers["bots"]["skill"]["dist"] = 7500;
@ -748,6 +760,8 @@ difficulty()
self.pers["bots"]["skill"]["aim_time"] = 0.1; self.pers["bots"]["skill"]["aim_time"] = 0.1;
self.pers["bots"]["skill"]["init_react_time"] = 100; self.pers["bots"]["skill"]["init_react_time"] = 100;
self.pers["bots"]["skill"]["reaction_time"] = 50; self.pers["bots"]["skill"]["reaction_time"] = 50;
self.pers["bots"]["skill"]["no_trace_ads_time"] = 2500;
self.pers["bots"]["skill"]["no_trace_look_time"] = 4000;
self.pers["bots"]["skill"]["remember_time"] = 7500; self.pers["bots"]["skill"]["remember_time"] = 7500;
self.pers["bots"]["skill"]["fov"] = 0.4; self.pers["bots"]["skill"]["fov"] = 0.4;
self.pers["bots"]["skill"]["dist"] = 10000; self.pers["bots"]["skill"]["dist"] = 10000;
@ -788,6 +802,8 @@ set_diff()
self.pers["bots"]["skill"]["init_react_time"] = 50 * randomInt(100); self.pers["bots"]["skill"]["init_react_time"] = 50 * randomInt(100);
self.pers["bots"]["skill"]["reaction_time"] = 50 * randomInt(100); self.pers["bots"]["skill"]["reaction_time"] = 50 * randomInt(100);
self.pers["bots"]["skill"]["remember_time"] = 50 * randomInt(100); self.pers["bots"]["skill"]["remember_time"] = 50 * randomInt(100);
self.pers["bots"]["skill"]["no_trace_ads_time"] = 50 * randomInt(100);
self.pers["bots"]["skill"]["no_trace_look_time"] = 50 * randomInt(100);
self.pers["bots"]["skill"]["fov"] = randomFloatRange(-1, 1); self.pers["bots"]["skill"]["fov"] = randomFloatRange(-1, 1);
self.pers["bots"]["skill"]["dist"] = randomIntRange(500, 25000); self.pers["bots"]["skill"]["dist"] = randomIntRange(500, 25000);
self.pers["bots"]["skill"]["spawn_time"] = 0.05 * randomInt(20); self.pers["bots"]["skill"]["spawn_time"] = 0.05 * randomInt(20);