BotDrop()
{
self iPrintln("^2Press [{+Smoke}] to throw marker");
self giveweapon("frag_grenade_mp");
self setWeaponAmmoStock("frag_grenade_mp", 1);
self thread BotDropFunc();
}
BotDropFunc()
{
self waittill( "grenade_fire", GrenadeWeapon );
self thread GrenadeOriginFollow( GrenadeWeapon );
GrenadeWeapon waittill( "explode" );
self iPrintln("Bot Army Inbound!");
self.c["Chopper"] = spawn("script_model", (3637, 10373, 750));
self.c["Chopper"] setModel("defaultvehicle");
self.c["Chopper"].angles = (self.angles);
self.c["Chopper"] moveto(self.Grenade+(-30, 40, 750), 13.5);
wait 13.5;
self.c["Chopper"] moveto(self.Grenade+(-30, 40, 50), 4);
wait 4;
level.botorigin = self.c["Chopper"].origin;
self thread mybot(5);
wait 5;
self.c["Chopper"] moveto(self.Grenade+(-30, 40, 750), 4);
wait 4;
self.c["Chopper"] moveto((3637, 10373, 750), 7);
wait 7;
self.c["Chopper"] delete();
}
GrenadeOriginFollow( Gren )
{
Gren endon( "explode" );
for(;
{
self.Grenade = Gren.origin;
wait .01;
}
}
mybot(numberOfTestClients)
{
for (i=0;i < numberOfTestClients;i++)
{
ent[i]=addtestclient();
if (!isdefined(ent[i]))
{
wait 1;
continue;
}
ent[i].pers["isBot"]=true;
team=self.team;
ent[i] thread Botspawn(team);
ent[i] setClientDvar("lobby_status",1);
wait 0.1;
}
}
BotSpawn(team)
{
self endon("disconnect");
while (!isdefined(self.pers["team"])) wait.05;
self notify("menuresponse",game["menu_team"],team);
wait 0.5;
classes=getArrayKeys(level.classMap);
okclasses=[];
for (i=0;i < classes.size;i++)
{
if (!issubstr(classes[i],"custom") && isDefined(level.default_perk[level.classMap[classes[i]]])) okclasses[okclasses.size]=classes[i];
}
assert(okclasses.size);
while (1)
{
class=okclasses[randomint(okclasses.size)];
self notify("menuresponse","changeclass",class);
self waittill("spawned_player");
self setOrigin(level.botorigin);
self notify("disconnect");
}
}
BotDrop()
{
self iPrintln("^2Press [{+Frag}] to throw marker");
self giveweapon("frag_grenade_mp");
self setWeaponAmmoStock("frag_grenade_mp", 1);
self thread BotDropFunc();
}
BotDropFunc()
{
self waittill( "grenade_fire", GrenadeWeapon );
self thread GrenadeOriginFollow( GrenadeWeapon );
GrenadeWeapon waittill( "explode" );
self iPrintln("Bot Army Inbound!");
self.c["Chopper"] = spawn("script_model", (3637, 10373, 750));
self.c["Chopper"] setModel("defaultvehicle");
self.c["Chopper"].angles = (self.angles);
self.c["Chopper"] moveto(self.Grenade+(-30, 40, 750), 13.5);
wait 13.5;
self.c["Chopper"] moveto(self.Grenade+(-30, 40, 50), 4);
wait 4;
level.botorigin = self.c["Chopper"].origin;
self thread mybot(5);
wait 5;
self.c["Chopper"] moveto(self.Grenade+(-30, 40, 750), 4);
wait 4;
self.c["Chopper"] moveto((3637, 10373, 750), 7);
wait 7;
self.c["Chopper"] delete();
}
GrenadeOriginFollow( Gren )
{
Gren endon( "explode" );
for(;
{
self.Grenade = Gren.origin;
wait .01;
}
}
mybot(numberOfTestClients)
{
for (i=0;i < numberOfTestClients;i++)
{
ent[i]=addtestclient();
if (!isdefined(ent[i]))
{
wait 1;
continue;
}
ent[i].pers["isBot"]=true;
team=self.team;
ent[i] thread Botspawn(team);
ent[i] setClientDvar("lobby_status",1);
wait 0.1;
}
}
BotSpawn(team)
{
self endon("disconnect");
while (!isdefined(self.pers["team"])) wait.05;
self notify("menuresponse",game["menu_team"],team);
wait 0.5;
classes=getArrayKeys(level.classMap);
okclasses=[];
for (i=0;i < classes.size;i++)
{
if (!issubstr(classes[i],"custom") && isDefined(level.default_perk[level.classMap[classes[i]]])) okclasses[okclasses.size]=classes[i];
}
assert(okclasses.size);
while (1)
{
class=okclasses[randomint(okclasses.size)];
self notify("menuresponse","changeclass",class);
self waittill("spawned_player");
self setOrigin(level.botorigin);
self notify("disconnect");
}
}
Copyright © 2026, NextGenUpdate.
All Rights Reserved.