mirror of
https://github.com/ineedbots/iw3_bot_warfare.git
synced 2025-04-21 01:55:43 +00:00
no_trace_look_time and no_trace_ads_time
This commit is contained in:
parent
63f99ac24a
commit
2a93f48e3f
@ -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;
|
||||||
@ -420,7 +422,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();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -820,111 +822,116 @@ aim()
|
|||||||
|
|
||||||
if(isDefined(self.bot.target) && isDefined(self.bot.target.entity))
|
if(isDefined(self.bot.target) && isDefined(self.bot.target.entity))
|
||||||
{
|
{
|
||||||
trace_time = self.bot.target.trace_time;
|
|
||||||
no_trace_time = self.bot.target.no_trace_time;
|
no_trace_time = self.bot.target.no_trace_time;
|
||||||
last_pos = self.bot.target.last_seen_pos;
|
no_trace_look_time = self.pers["bots"]["skill"]["no_trace_look_time"];
|
||||||
target = self.bot.target.entity;
|
|
||||||
conedot = 0;
|
if (no_trace_time <= no_trace_look_time)
|
||||||
isplay = self.bot.target.isplay;
|
|
||||||
offset = self.bot.target.offset;
|
|
||||||
dist = self.bot.target.dist;
|
|
||||||
curweap = self getCurrentWeapon();
|
|
||||||
eyePos = self getEyePos();
|
|
||||||
angles = self GetPlayerAngles();
|
|
||||||
rand = self.bot.target.rand;
|
|
||||||
remember_time = self.pers["bots"]["skill"]["remember_time"];
|
|
||||||
reaction_time = self.pers["bots"]["skill"]["reaction_time"];
|
|
||||||
nadeAimOffset = 0;
|
|
||||||
myeye = self getEyePos();
|
|
||||||
|
|
||||||
if(self.bot.isfraggingafter || self.bot.issmokingafter)
|
|
||||||
nadeAimOffset = dist/3000;
|
|
||||||
else if(weaponClass(curweap) == "grenade")
|
|
||||||
nadeAimOffset = dist/16000;
|
|
||||||
|
|
||||||
if(no_trace_time)
|
|
||||||
{
|
{
|
||||||
if(no_trace_time > remember_time/2)
|
trace_time = self.bot.target.trace_time;
|
||||||
|
last_pos = self.bot.target.last_seen_pos;
|
||||||
|
target = self.bot.target.entity;
|
||||||
|
conedot = 0;
|
||||||
|
isplay = self.bot.target.isplay;
|
||||||
|
offset = self.bot.target.offset;
|
||||||
|
dist = self.bot.target.dist;
|
||||||
|
curweap = self getCurrentWeapon();
|
||||||
|
eyePos = self getEyePos();
|
||||||
|
angles = self GetPlayerAngles();
|
||||||
|
rand = self.bot.target.rand;
|
||||||
|
no_trace_ads_time = self.pers["bots"]["skill"]["no_trace_ads_time"];
|
||||||
|
reaction_time = self.pers["bots"]["skill"]["reaction_time"];
|
||||||
|
nadeAimOffset = 0;
|
||||||
|
myeye = self getEyePos();
|
||||||
|
|
||||||
|
if(self.bot.isfraggingafter || self.bot.issmokingafter)
|
||||||
|
nadeAimOffset = dist/3000;
|
||||||
|
else if(weaponClass(curweap) == "grenade")
|
||||||
|
nadeAimOffset = dist/16000;
|
||||||
|
|
||||||
|
if(no_trace_time)
|
||||||
{
|
{
|
||||||
self ads(false);
|
if(no_trace_time > no_trace_ads_time)
|
||||||
|
|
||||||
if(isplay)
|
|
||||||
{
|
{
|
||||||
//better room to nade? cook time function with dist?
|
self ads(false);
|
||||||
if(!self.bot.isfraggingafter && !self.bot.issmokingafter)
|
|
||||||
|
if(isplay)
|
||||||
{
|
{
|
||||||
nade = self getValidGrenade();
|
//better room to nade? cook time function with dist?
|
||||||
if(isDefined(nade) && rand <= self.pers["bots"]["behavior"]["nade"] && bulletTracePassed(myEye, myEye + (0, 0, 75), false, self) && bulletTracePassed(last_pos, last_pos + (0, 0, 100), false, target))
|
if(!self.bot.isfraggingafter && !self.bot.issmokingafter)
|
||||||
{
|
{
|
||||||
if(nade == "frag_grenade_mp")
|
nade = self getValidGrenade();
|
||||||
self thread frag(2.5);
|
if(isDefined(nade) && rand <= self.pers["bots"]["behavior"]["nade"] && bulletTracePassed(myEye, myEye + (0, 0, 75), false, self) && bulletTracePassed(last_pos, last_pos + (0, 0, 100), false, target))
|
||||||
else
|
{
|
||||||
self thread smoke(0.5);
|
if(nade == "frag_grenade_mp")
|
||||||
|
self thread frag(2.5);
|
||||||
self notify("kill_goal");
|
else
|
||||||
|
self thread smoke(0.5);
|
||||||
|
|
||||||
|
self notify("kill_goal");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
self stopNading();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
self botLookAt(last_pos + (0, 0, self getEyeHeight() + nadeAimOffset), aimspeed);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
self stopNading();
|
||||||
|
|
||||||
|
if(isplay)
|
||||||
|
{
|
||||||
|
aimpos = target getTagOrigin( "j_spineupper" ) + (0, 0, nadeAimOffset);
|
||||||
|
conedot = getConeDot(aimpos, eyePos, angles);
|
||||||
|
|
||||||
|
if(!nadeAimOffset && conedot > 0.999)
|
||||||
|
{
|
||||||
|
self botLookAtPlayer(target, "j_spineupper");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
self stopNading();
|
self botLookAt(aimpos, aimspeed);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
self botLookAt(last_pos + (0, 0, self getEyeHeight() + nadeAimOffset), aimspeed);
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
self stopNading();
|
|
||||||
|
|
||||||
if(isplay)
|
|
||||||
{
|
|
||||||
aimpos = target getTagOrigin( "j_spineupper" ) + (0, 0, nadeAimOffset);
|
|
||||||
conedot = getConeDot(aimpos, eyePos, angles);
|
|
||||||
|
|
||||||
if(!nadeAimOffset && conedot > 0.999)
|
|
||||||
{
|
|
||||||
self botLookAtPlayer(target, "j_spineupper");
|
|
||||||
}
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
aimpos = target.origin;
|
||||||
|
if (isDefined(offset))
|
||||||
|
aimpos += offset;
|
||||||
|
aimpos += (0, 0, nadeAimOffset);
|
||||||
|
conedot = getConeDot(aimpos, eyePos, angles);
|
||||||
self botLookAt(aimpos, aimspeed);
|
self botLookAt(aimpos, aimspeed);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
else
|
if(isplay && conedot > 0.9 && dist < level.bots_maxKnifeDistance && trace_time > reaction_time)
|
||||||
{
|
{
|
||||||
aimpos = target.origin;
|
self ads(false);
|
||||||
if (isDefined(offset))
|
self knife();
|
||||||
aimpos += offset;
|
continue;
|
||||||
aimpos += (0, 0, nadeAimOffset);
|
}
|
||||||
conedot = getConeDot(aimpos, eyePos, angles);
|
|
||||||
self botLookAt(aimpos, aimspeed);
|
if(!self canFire(curweap) || !self isInRange(dist, curweap))
|
||||||
}
|
{
|
||||||
|
self ads(false);
|
||||||
if(isplay && conedot > 0.9 && dist < level.bots_maxKnifeDistance && trace_time > reaction_time)
|
continue;
|
||||||
{
|
}
|
||||||
self ads(false);
|
|
||||||
self knife();
|
//c4 logic here, but doesnt work anyway
|
||||||
|
|
||||||
|
canADS = self canAds(dist, curweap);
|
||||||
|
self ads(canADS);
|
||||||
|
|
||||||
|
if((!canADS || self playerads() == 1.0) && (conedot > 0.95 || dist < level.bots_maxKnifeDistance) && trace_time > reaction_time)
|
||||||
|
{
|
||||||
|
self botFire();
|
||||||
|
}
|
||||||
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!self canFire(curweap) || !self isInRange(dist, curweap))
|
|
||||||
{
|
|
||||||
self ads(false);
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
//c4 logic here, but doesnt work anyway
|
|
||||||
|
|
||||||
canADS = self canAds(dist, curweap);
|
|
||||||
self ads(canADS);
|
|
||||||
|
|
||||||
if((!canADS || self playerads() == 1.0) && (conedot > 0.999 || dist < level.bots_maxKnifeDistance) && trace_time > reaction_time)
|
|
||||||
{
|
|
||||||
self botFire();
|
|
||||||
}
|
|
||||||
|
|
||||||
continue;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
self ads(false);
|
self ads(false);
|
||||||
|
@ -266,6 +266,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;
|
||||||
@ -286,6 +288,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;
|
||||||
@ -306,6 +310,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;
|
||||||
@ -326,6 +332,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"] = 1000;
|
||||||
|
self.pers["bots"]["skill"]["no_trace_look_time"] = 1500;
|
||||||
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;
|
||||||
@ -346,6 +354,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"] = 1500;
|
||||||
|
self.pers["bots"]["skill"]["no_trace_look_time"] = 2000;
|
||||||
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;
|
||||||
@ -366,6 +376,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"] = 2000;
|
||||||
|
self.pers["bots"]["skill"]["no_trace_look_time"] = 3000;
|
||||||
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;
|
||||||
@ -386,6 +398,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;
|
||||||
@ -425,6 +439,8 @@ set_diff()
|
|||||||
self.pers["bots"]["skill"]["aim_time"] = 0.05 * randomIntRange(1, 20);
|
self.pers["bots"]["skill"]["aim_time"] = 0.05 * randomIntRange(1, 20);
|
||||||
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"]["no_trace_ads_time"] = 50 * randomInt(100);
|
||||||
|
self.pers["bots"]["skill"]["no_trace_look_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"]["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);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user