possible fix for script vars

This commit is contained in:
INeedBots 2020-11-05 18:06:09 -06:00
parent b697c9e20d
commit f7c04beb26
2 changed files with 29 additions and 51 deletions

View File

@ -38,8 +38,7 @@ added()
self.pers["bots"]["skill"]["aim_offset_time"] = 1;
self.pers["bots"]["skill"]["aim_offset_amount"] = 1;
self.pers["bots"]["skill"]["bone_update_interval"] = 0.05;
self.pers["bots"]["skill"]["bones"] = [];
self.pers["bots"]["skill"]["bones"][0] = "j_head";
self.pers["bots"]["skill"]["bones"] = "j_head";
self.pers["bots"]["behavior"] = [];
self.pers["bots"]["behavior"]["strafe"] = 50;
@ -146,6 +145,7 @@ resetBotVars()
self.bot.target_this_frame = undefined;
self.bot.jav_loc = undefined;
self.bot.after_target = undefined;
self.bot.after_target_pos = undefined;
self.bot.script_aimpos = undefined;
@ -1610,9 +1610,12 @@ updateBones()
self endon("disconnect");
self endon("spawned_player");
bones = strtok(self.pers["bots"]["skill"]["bones"], ",");
waittime = self.pers["bots"]["skill"]["bone_update_interval"];
for(;;)
{
self waittill_any_timeout(self.pers["bots"]["skill"]["bone_update_interval"], "new_enemy");
self waittill_any_timeout(waittime, "new_enemy");
if (!isAlive(self))
return;
@ -1620,7 +1623,7 @@ updateBones()
if (!isDefined(self.bot.target))
continue;
self.bot.target.bone = random(self.pers["bots"]["skill"]["bones"]);
self.bot.target.bone = random(bones);
}
}
@ -1655,10 +1658,11 @@ updateAimOffset(obj, theTime)
{
if (!isDefined(obj.aim_offset_base))
{
if (self.pers["bots"]["skill"]["aim_offset_amount"] > 0)
obj.aim_offset_base = (randomFloatRange(0-self.pers["bots"]["skill"]["aim_offset_amount"], self.pers["bots"]["skill"]["aim_offset_amount"]),
randomFloatRange(0-self.pers["bots"]["skill"]["aim_offset_amount"], self.pers["bots"]["skill"]["aim_offset_amount"]),
randomFloatRange(0-self.pers["bots"]["skill"]["aim_offset_amount"], self.pers["bots"]["skill"]["aim_offset_amount"]));
offsetAmount = self.pers["bots"]["skill"]["aim_offset_amount"];
if (offsetAmount > 0)
obj.aim_offset_base = (randomFloatRange(0-offsetAmount, offsetAmount),
randomFloatRange(0-offsetAmount, offsetAmount),
randomFloatRange(0-offsetAmount, offsetAmount));
else
obj.aim_offset_base = (0,0,0);
}
@ -1747,6 +1751,8 @@ target()
playercount = level.players.size;
for(i = -1; i < playercount; i++)
{
obj = undefined;
if (i == -1)
{
if (!isDefined(self.bot.script_target))
@ -1867,6 +1873,9 @@ target()
}
}
if (!isdefined(obj))
continue;
if(theTime - obj.time < initReactTime)
continue;
@ -2012,9 +2021,8 @@ start_bot_after_target(who)
self endon("disconnect");
self endon("spawned_player");
self.bot.after_target = spawnStruct();
self.bot.after_target.target = who;
self.bot.after_target.last_pos = who.origin;
self.bot.after_target = who;
self.bot.after_target_pos = who.origin;
self notify("kill_after_target");
self endon("kill_after_target");
@ -2112,7 +2120,7 @@ aim()
nadeAimOffset = dist/3000;
}
if(no_trace_time && (!isDefined(self.bot.after_target) || self.bot.after_target.target != target))
if(no_trace_time && (!isDefined(self.bot.after_target) || self.bot.after_target != target))
{
if(no_trace_time > no_trace_ads_time && !usingRemote)
{
@ -2211,7 +2219,7 @@ aim()
if (isDefined(self.bot.after_target) && !isClimbing)
{
nadeAimOffset = 0;
last_pos = self.bot.after_target.last_pos;
last_pos = self.bot.after_target_pos;
dist = DistanceSquared(self.origin, last_pos);
if(weaponClass(curweap) == "grenade" || curweap == "throwingknife_mp")

View File

@ -1026,10 +1026,7 @@ difficulty()
self.pers["bots"]["skill"]["aim_offset_time"] = 1.5;
self.pers["bots"]["skill"]["aim_offset_amount"] = 4;
self.pers["bots"]["skill"]["bone_update_interval"] = 2;
self.pers["bots"]["skill"]["bones"] = [];
self.pers["bots"]["skill"]["bones"][0] = "j_spineupper";
self.pers["bots"]["skill"]["bones"][1] = "j_ankle_le";
self.pers["bots"]["skill"]["bones"][2] = "j_ankle_ri";
self.pers["bots"]["skill"]["bones"] = "j_spineupper,j_ankle_le,j_ankle_ri";
self.pers["bots"]["behavior"]["strafe"] = 0;
self.pers["bots"]["behavior"]["nade"] = 10;
@ -1057,11 +1054,7 @@ difficulty()
self.pers["bots"]["skill"]["aim_offset_time"] = 1;
self.pers["bots"]["skill"]["aim_offset_amount"] = 3;
self.pers["bots"]["skill"]["bone_update_interval"] = 1.5;
self.pers["bots"]["skill"]["bones"] = [];
self.pers["bots"]["skill"]["bones"][0] = "j_spineupper";
self.pers["bots"]["skill"]["bones"][1] = "j_ankle_le";
self.pers["bots"]["skill"]["bones"][2] = "j_ankle_ri";
self.pers["bots"]["skill"]["bones"][3] = "j_head";
self.pers["bots"]["skill"]["bones"] = "j_spineupper,j_ankle_le,j_ankle_ri,j_head";
self.pers["bots"]["behavior"]["strafe"] = 10;
self.pers["bots"]["behavior"]["nade"] = 15;
@ -1089,12 +1082,7 @@ difficulty()
self.pers["bots"]["skill"]["aim_offset_time"] = 0.75;
self.pers["bots"]["skill"]["aim_offset_amount"] = 2.5;
self.pers["bots"]["skill"]["bone_update_interval"] = 1;
self.pers["bots"]["skill"]["bones"] = [];
self.pers["bots"]["skill"]["bones"][0] = "j_spineupper";
self.pers["bots"]["skill"]["bones"][1] = "j_spineupper";
self.pers["bots"]["skill"]["bones"][2] = "j_ankle_le";
self.pers["bots"]["skill"]["bones"][3] = "j_ankle_ri";
self.pers["bots"]["skill"]["bones"][4] = "j_head";
self.pers["bots"]["skill"]["bones"] = "j_spineupper,j_spineupper,j_ankle_le,j_ankle_ri,j_head";
self.pers["bots"]["behavior"]["strafe"] = 20;
self.pers["bots"]["behavior"]["nade"] = 20;
@ -1122,13 +1110,7 @@ difficulty()
self.pers["bots"]["skill"]["aim_offset_time"] = 0.5;
self.pers["bots"]["skill"]["aim_offset_amount"] = 2;
self.pers["bots"]["skill"]["bone_update_interval"] = 0.75;
self.pers["bots"]["skill"]["bones"] = [];
self.pers["bots"]["skill"]["bones"][0] = "j_spineupper";
self.pers["bots"]["skill"]["bones"][1] = "j_spineupper";
self.pers["bots"]["skill"]["bones"][2] = "j_ankle_le";
self.pers["bots"]["skill"]["bones"][3] = "j_ankle_ri";
self.pers["bots"]["skill"]["bones"][4] = "j_head";
self.pers["bots"]["skill"]["bones"][5] = "j_head";
self.pers["bots"]["skill"]["bones"] = "j_spineupper,j_spineupper,j_ankle_le,j_ankle_ri,j_head,j_head";
self.pers["bots"]["behavior"]["strafe"] = 30;
self.pers["bots"]["behavior"]["nade"] = 25;
@ -1156,11 +1138,7 @@ difficulty()
self.pers["bots"]["skill"]["aim_offset_time"] = 0.35;
self.pers["bots"]["skill"]["aim_offset_amount"] = 1.5;
self.pers["bots"]["skill"]["bone_update_interval"] = 0.5;
self.pers["bots"]["skill"]["bones"] = [];
self.pers["bots"]["skill"]["bones"][0] = "j_spineupper";
self.pers["bots"]["skill"]["bones"][1] = "j_spineupper";
self.pers["bots"]["skill"]["bones"][2] = "j_head";
self.pers["bots"]["skill"]["bones"][3] = "j_head";
self.pers["bots"]["skill"]["bones"] = "j_spineupper,j_head";
self.pers["bots"]["behavior"]["strafe"] = 40;
self.pers["bots"]["behavior"]["nade"] = 35;
@ -1188,10 +1166,7 @@ difficulty()
self.pers["bots"]["skill"]["aim_offset_time"] = 0.25;
self.pers["bots"]["skill"]["aim_offset_amount"] = 1;
self.pers["bots"]["skill"]["bone_update_interval"] = 0.25;
self.pers["bots"]["skill"]["bones"] = [];
self.pers["bots"]["skill"]["bones"][0] = "j_spineupper";
self.pers["bots"]["skill"]["bones"][1] = "j_head";
self.pers["bots"]["skill"]["bones"][2] = "j_head";
self.pers["bots"]["skill"]["bones"] = "j_spineupper,j_head,j_head";
self.pers["bots"]["behavior"]["strafe"] = 50;
self.pers["bots"]["behavior"]["nade"] = 45;
@ -1219,8 +1194,7 @@ difficulty()
self.pers["bots"]["skill"]["aim_offset_time"] = 0;
self.pers["bots"]["skill"]["aim_offset_amount"] = 0;
self.pers["bots"]["skill"]["bone_update_interval"] = 0.05;
self.pers["bots"]["skill"]["bones"] = [];
self.pers["bots"]["skill"]["bones"][0] = "j_head";
self.pers["bots"]["skill"]["bones"] = "j_head";
self.pers["bots"]["behavior"]["strafe"] = 65;
self.pers["bots"]["behavior"]["nade"] = 65;
@ -1267,11 +1241,7 @@ set_diff()
self.pers["bots"]["skill"]["aim_offset_time"] = randomFloatRange(0.05, 1);
self.pers["bots"]["skill"]["aim_offset_amount"] = randomFloatRange(0.05, 1);
self.pers["bots"]["skill"]["bone_update_interval"] = randomFloatRange(0.05, 1);
self.pers["bots"]["skill"]["bones"] = [];
self.pers["bots"]["skill"]["bones"][0] = "j_head";
self.pers["bots"]["skill"]["bones"][1] = "j_spineupper";
self.pers["bots"]["skill"]["bones"][2] = "j_ankle_ri";
self.pers["bots"]["skill"]["bones"][3] = "j_ankle_le";
self.pers["bots"]["skill"]["bones"] = "j_head,j_spineupper,j_ankle_le,j_ankle_ri";
self.pers["bots"]["behavior"]["strafe"] = randomInt(100);
self.pers["bots"]["behavior"]["nade"] = randomInt(100);