fix script vars

This commit is contained in:
INeedBots 2020-11-05 18:18:28 -06:00
parent c42abed4f9
commit 788bba65d7
2 changed files with 30 additions and 51 deletions

View File

@ -30,8 +30,7 @@ added()
self.pers["bots"]["skill"]["aim_offset_time"] = 1; self.pers["bots"]["skill"]["aim_offset_time"] = 1;
self.pers["bots"]["skill"]["aim_offset_amount"] = 1; self.pers["bots"]["skill"]["aim_offset_amount"] = 1;
self.pers["bots"]["skill"]["bone_update_interval"] = 0.05; self.pers["bots"]["skill"]["bone_update_interval"] = 0.05;
self.pers["bots"]["skill"]["bones"] = []; self.pers["bots"]["skill"]["bones"] = "j_head";
self.pers["bots"]["skill"]["bones"][0] = "j_head";
self.pers["bots"]["behavior"] = []; self.pers["bots"]["behavior"] = [];
self.pers["bots"]["behavior"]["strafe"] = 50; self.pers["bots"]["behavior"]["strafe"] = 50;
@ -117,6 +116,7 @@ resetBotVars()
self.bot.targets = []; self.bot.targets = [];
self.bot.target_this_frame = undefined; self.bot.target_this_frame = undefined;
self.bot.after_target = undefined; self.bot.after_target = undefined;
self.bot.after_target_pos = undefined;
self.bot.script_aimpos = undefined; self.bot.script_aimpos = undefined;
@ -470,15 +470,18 @@ updateBones()
{ {
self endon("disconnect"); self endon("disconnect");
self endon("death"); self endon("death");
bones = strtok(self.pers["bots"]["skill"]["bones"], ",");
waittime = self.pers["bots"]["skill"]["bone_update_interval"];
for(;;) for(;;)
{ {
self waittill_notify_or_timeout("new_enemy", self.pers["bots"]["skill"]["bone_update_interval"]); self waittill_notify_or_timeout("new_enemy", waittime);
if (!isDefined(self.bot.target)) if (!isDefined(self.bot.target))
continue; continue;
self.bot.target.bone = random(self.pers["bots"]["skill"]["bones"]); self.bot.target.bone = random(bones);
} }
} }
@ -513,10 +516,12 @@ updateAimOffset(obj)
{ {
if (!isDefined(obj.aim_offset_base)) if (!isDefined(obj.aim_offset_base))
{ {
if (self.pers["bots"]["skill"]["aim_offset_amount"] > 0) diffAimAmount = self.pers["bots"]["skill"]["aim_offset_amount"];
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"]), if (diffAimAmount > 0)
randomFloatRange(0-self.pers["bots"]["skill"]["aim_offset_amount"], self.pers["bots"]["skill"]["aim_offset_amount"])); obj.aim_offset_base = (randomFloatRange(0-diffAimAmount, diffAimAmount),
randomFloatRange(0-diffAimAmount, diffAimAmount),
randomFloatRange(0-diffAimAmount, diffAimAmount));
else else
obj.aim_offset_base = (0,0,0); obj.aim_offset_base = (0,0,0);
} }
@ -592,6 +597,8 @@ target()
playercount = level.players.size; playercount = level.players.size;
for(i = -1; i < playercount; i++) for(i = -1; i < playercount; i++)
{ {
obj = undefined;
if (i == -1) if (i == -1)
{ {
if(!isDefined(self.bot.script_target)) if(!isDefined(self.bot.script_target))
@ -699,6 +706,9 @@ target()
} }
} }
} }
if (!isdefined(obj))
continue;
if(theTime - obj.time < initReactTime) if(theTime - obj.time < initReactTime)
continue; continue;
@ -846,9 +856,8 @@ start_bot_after_target(who)
self endon("disconnect"); self endon("disconnect");
self endon("death"); self endon("death");
self.bot.after_target = spawnStruct(); self.bot.after_target = who;
self.bot.after_target.target = who; self.bot.after_target_pos = who.origin;
self.bot.after_target.last_pos = who.origin;
self notify("kill_after_target"); self notify("kill_after_target");
self endon("kill_after_target"); self endon("kill_after_target");
@ -927,7 +936,7 @@ aim()
else if(weaponClass(curweap) == "grenade") else if(weaponClass(curweap) == "grenade")
nadeAimOffset = dist/16000; nadeAimOffset = dist/16000;
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) if(no_trace_time > no_trace_ads_time)
{ {
@ -1020,7 +1029,7 @@ aim()
if (isDefined(self.bot.after_target)) if (isDefined(self.bot.after_target))
{ {
nadeAimOffset = 0; nadeAimOffset = 0;
last_pos = self.bot.after_target.last_pos; last_pos = self.bot.after_target_pos;
dist = DistanceSquared(self.origin, last_pos); dist = DistanceSquared(self.origin, last_pos);
if(self.bot.isfraggingafter || self.bot.issmokingafter) if(self.bot.isfraggingafter || self.bot.issmokingafter)

View File

@ -278,10 +278,7 @@ difficulty()
self.pers["bots"]["skill"]["aim_offset_time"] = 1.5; self.pers["bots"]["skill"]["aim_offset_time"] = 1.5;
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"] = []; self.pers["bots"]["skill"]["bones"] = "j_spineupper,j_ankle_le,j_ankle_ri";
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"]["behavior"]["strafe"] = 0; self.pers["bots"]["behavior"]["strafe"] = 0;
self.pers["bots"]["behavior"]["nade"] = 10; self.pers["bots"]["behavior"]["nade"] = 10;
@ -309,11 +306,7 @@ difficulty()
self.pers["bots"]["skill"]["aim_offset_time"] = 1; self.pers["bots"]["skill"]["aim_offset_time"] = 1;
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"] = []; self.pers["bots"]["skill"]["bones"] = "j_spineupper,j_ankle_le,j_ankle_ri,j_head";
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"]["behavior"]["strafe"] = 10; self.pers["bots"]["behavior"]["strafe"] = 10;
self.pers["bots"]["behavior"]["nade"] = 15; self.pers["bots"]["behavior"]["nade"] = 15;
@ -341,12 +334,7 @@ difficulty()
self.pers["bots"]["skill"]["aim_offset_time"] = 0.75; self.pers["bots"]["skill"]["aim_offset_time"] = 0.75;
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"] = []; self.pers["bots"]["skill"]["bones"] = "j_spineupper,j_spineupper,j_ankle_le,j_ankle_ri,j_head";
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"]["behavior"]["strafe"] = 20; self.pers["bots"]["behavior"]["strafe"] = 20;
self.pers["bots"]["behavior"]["nade"] = 20; self.pers["bots"]["behavior"]["nade"] = 20;
@ -374,13 +362,7 @@ difficulty()
self.pers["bots"]["skill"]["aim_offset_time"] = 0.5; self.pers["bots"]["skill"]["aim_offset_time"] = 0.5;
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"] = []; self.pers["bots"]["skill"]["bones"] = "j_spineupper,j_spineupper,j_ankle_le,j_ankle_ri,j_head,j_head";
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"]["behavior"]["strafe"] = 30; self.pers["bots"]["behavior"]["strafe"] = 30;
self.pers["bots"]["behavior"]["nade"] = 25; self.pers["bots"]["behavior"]["nade"] = 25;
@ -408,11 +390,7 @@ difficulty()
self.pers["bots"]["skill"]["aim_offset_time"] = 0.35; self.pers["bots"]["skill"]["aim_offset_time"] = 0.35;
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"] = []; self.pers["bots"]["skill"]["bones"] = "j_spineupper,j_head";
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"]["behavior"]["strafe"] = 40; self.pers["bots"]["behavior"]["strafe"] = 40;
self.pers["bots"]["behavior"]["nade"] = 35; self.pers["bots"]["behavior"]["nade"] = 35;
@ -440,10 +418,7 @@ difficulty()
self.pers["bots"]["skill"]["aim_offset_time"] = 0.25; self.pers["bots"]["skill"]["aim_offset_time"] = 0.25;
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"] = []; self.pers["bots"]["skill"]["bones"] = "j_spineupper,j_head,j_head";
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"]["behavior"]["strafe"] = 50; self.pers["bots"]["behavior"]["strafe"] = 50;
self.pers["bots"]["behavior"]["nade"] = 45; self.pers["bots"]["behavior"]["nade"] = 45;
@ -471,8 +446,7 @@ difficulty()
self.pers["bots"]["skill"]["aim_offset_time"] = 0; self.pers["bots"]["skill"]["aim_offset_time"] = 0;
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"] = []; self.pers["bots"]["skill"]["bones"] = "j_head";
self.pers["bots"]["skill"]["bones"][0] = "j_head";
self.pers["bots"]["behavior"]["strafe"] = 65; self.pers["bots"]["behavior"]["strafe"] = 65;
self.pers["bots"]["behavior"]["nade"] = 65; self.pers["bots"]["behavior"]["nade"] = 65;
@ -519,11 +493,7 @@ set_diff()
self.pers["bots"]["skill"]["aim_offset_time"] = randomFloatRange(0.05, 1); 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"]["aim_offset_amount"] = randomFloatRange(0.05, 1);
self.pers["bots"]["skill"]["bone_update_interval"] = 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"] = "j_head,j_spineupper,j_ankle_ri,j_ankle_le";
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"]["behavior"]["strafe"] = randomInt(100); self.pers["bots"]["behavior"]["strafe"] = randomInt(100);
self.pers["bots"]["behavior"]["nade"] = randomInt(100); self.pers["bots"]["behavior"]["nade"] = randomInt(100);