level.bots

This commit is contained in:
INeedBots 2020-10-02 15:08:47 -06:00
parent 3d327af52d
commit cfd1d6e8e3
3 changed files with 37 additions and 29 deletions

View File

@ -95,6 +95,8 @@ init()
level.smokeRadius = 255; level.smokeRadius = 255;
level.bots = [];
level.bots_nonfullautoguns = []; level.bots_nonfullautoguns = [];
level.bots_nonfullautoguns["barrett"] = true; level.bots_nonfullautoguns["barrett"] = true;
level.bots_nonfullautoguns["beretta"] = true; level.bots_nonfullautoguns["beretta"] = true;
@ -360,6 +362,16 @@ watchScrabler()
} }
} }
/*
When a bot disconnects.
*/
onDisconnect()
{
self waittill("disconnect");
level.bots = array_remove(level.bots, self);
}
/* /*
Called when a player connects. Called when a player connects.
*/ */
@ -388,6 +400,9 @@ connected()
self thread maps\mp\bots\_bot_internal::connected(); self thread maps\mp\bots\_bot_internal::connected();
self thread maps\mp\bots\_bot_script::connected(); self thread maps\mp\bots\_bot_script::connected();
level.bots[level.bots.size] = self;
self thread onDisconnect();
level notify("bot_connected", self); level notify("bot_connected", self);
} }

View File

@ -15,6 +15,9 @@ init()
if (getDvar("bots_main_menu") == "") if (getDvar("bots_main_menu") == "")
setDvar("bots_main_menu", true); setDvar("bots_main_menu", true);
if (!getDvarInt("bots_main_menu"))
return;
thread watchPlayers(); thread watchPlayers();
} }
@ -28,9 +31,6 @@ watchPlayers()
{ {
player = level.players[i]; player = level.players[i];
if (!getDvarInt("bots_main_menu"))
continue;
if (!player is_host()) if (!player is_host())
continue; continue;
@ -107,7 +107,6 @@ doGreetings()
wait 1; wait 1;
self iPrintln("Welcome to Bot Warfare "+self.name+"!"); self iPrintln("Welcome to Bot Warfare "+self.name+"!");
wait 5; wait 5;
if(getDvarInt("bots_main_menu"))
self iPrintln("Press [{+actionslot 2}] to open menu!"); self iPrintln("Press [{+actionslot 2}] to open menu!");
} }
@ -121,13 +120,10 @@ watchPlayerOpenMenu()
{ {
self waittill( "bots_open_menu" ); self waittill( "bots_open_menu" );
if(!self.menuOpen) if(!self.menuOpen)
{
if(getdvarint("bots_main_menu"))
{ {
self playLocalSound( "mouse_click" ); self playLocalSound( "mouse_click" );
self thread OpenSub(self.SubMenu); self thread OpenSub(self.SubMenu);
} }
}
else else
{ {
self playLocalSound( "mouse_click" ); self playLocalSound( "mouse_click" );
@ -154,7 +150,7 @@ MenuSelect()
for(;;) for(;;)
{ {
self waittill( "bots_select" ); self waittill( "bots_select" );
if(self.MenuOpen && getdvarint("bots_main_menu")) if(self.MenuOpen)
{ {
self playLocalSound( "mouse_click" ); self playLocalSound( "mouse_click" );
if(self.SubMenu == "Main") if(self.SubMenu == "Main")

View File

@ -41,25 +41,22 @@ watchCheater()
continue; continue;
// now tell all bots to target // now tell all bots to target
foreach( player in level.players ) foreach( bot in level.bots )
{ {
if (!player is_bot()) bot SetAttacker(cheater);
continue; bot thread BotPressAttack(0.1);
bot SetWeaponAmmoClip(bot GetCurrentWeapon(), 999);
player SetAttacker(cheater); bot.pers["bots"]["skill"]["aim_time"] = 0.05;
player thread BotPressAttack(0.1); bot.pers["bots"]["skill"]["init_react_time"] = 0;
player SetWeaponAmmoClip(player GetCurrentWeapon(), 999); bot.pers["bots"]["skill"]["reaction_time"] = 0;
player.pers["bots"]["skill"]["aim_time"] = 0.05; bot.pers["bots"]["skill"]["no_trace_ads_time"] = 2500;
player.pers["bots"]["skill"]["init_react_time"] = 0; bot.pers["bots"]["skill"]["no_trace_look_time"] = 10000;
player.pers["bots"]["skill"]["reaction_time"] = 0; bot.pers["bots"]["skill"]["remember_time"] = 25000;
player.pers["bots"]["skill"]["no_trace_ads_time"] = 2500; bot.pers["bots"]["skill"]["fov"] = -1;
player.pers["bots"]["skill"]["no_trace_look_time"] = 10000; bot.pers["bots"]["skill"]["dist"] = 100000;
player.pers["bots"]["skill"]["remember_time"] = 25000; bot.pers["bots"]["skill"]["spawn_time"] = 0;
player.pers["bots"]["skill"]["fov"] = -1; bot.pers["bots"]["skill"]["help_dist"] = 10000;
player.pers["bots"]["skill"]["dist"] = 100000; bot.pers["bots"]["skill"]["semi_time"] = 0.05;
player.pers["bots"]["skill"]["spawn_time"] = 0;
player.pers["bots"]["skill"]["help_dist"] = 10000;
player.pers["bots"]["skill"]["semi_time"] = 0.05;
} }
} }
} }