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.bots = [];
level.bots_nonfullautoguns = [];
level.bots_nonfullautoguns["barrett"] = 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.
*/
@ -388,6 +400,9 @@ connected()
self thread maps\mp\bots\_bot_internal::connected();
self thread maps\mp\bots\_bot_script::connected();
level.bots[level.bots.size] = self;
self thread onDisconnect();
level notify("bot_connected", self);
}

View File

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

View File

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