diff --git a/userraw/maps/mp/bots/_bot_internal.gsc b/userraw/maps/mp/bots/_bot_internal.gsc index 88cae5e..cc9a6ef 100644 --- a/userraw/maps/mp/bots/_bot_internal.gsc +++ b/userraw/maps/mp/bots/_bot_internal.gsc @@ -256,6 +256,10 @@ reload_watch() break; weap = self GetCurrentWeapon(); + + if (weap == "none") + break; + if (self GetWeaponAmmoClip(weap) >= WeaponClipSize(weap)) break; } @@ -459,6 +463,9 @@ watchGrenadeFire() { self waittill( "grenade_fire", nade, weapname ); + if (!isDefined(nade)) + continue; + if (weapname == "c4_mp") self thread watchC4Thrown(nade); } @@ -2175,6 +2182,27 @@ smoke(time) self.bot.issmokingafter = false; } +/* + Bot will press use for a time. +*/ +use(time) +{ + self endon("death"); + self endon("disconnect"); + self notify("bot_use"); + self endon("bot_use"); + + if(!isDefined(time)) + time = 0.05; + + self botAction("+use"); + + if(time) + wait time; + + self botAction("-use"); +} + /* Bot will fire if true or not. */ diff --git a/userraw/maps/mp/bots/_bot_script.gsc b/userraw/maps/mp/bots/_bot_script.gsc index 00442be..0c59816 100644 --- a/userraw/maps/mp/bots/_bot_script.gsc +++ b/userraw/maps/mp/bots/_bot_script.gsc @@ -4348,6 +4348,8 @@ bot_dom_spawn_kill_think() { if ( level.flags[i] maps\mp\gametypes\dom::getFlagTeam() == myTeam ) continue; + + flag = level.flags[i]; } if(!isDefined(flag)) diff --git a/userraw/maps/mp/bots/_bot_utility.gsc b/userraw/maps/mp/bots/_bot_utility.gsc index 8028961..c102f32 100644 --- a/userraw/maps/mp/bots/_bot_utility.gsc +++ b/userraw/maps/mp/bots/_bot_utility.gsc @@ -102,6 +102,14 @@ BotPressADS(time) self maps\mp\bots\_bot_internal::pressAds(time); } +/* + Bot presses the use button for time. +*/ +BotPressUse(time) +{ + self maps\mp\bots\_bot_internal::use(time); +} + /* Bots will press the attack button for a time */