preventDogSpawningOverflow()
{
level.dogSpawnedNotification = "dogSpawned";
preventEntitySpawningOverflow(30, level.dogSpawnedNotification, "attack_dog", "targetname");
}
preventScriptModelSpawningOverflow()
{
level.scriptModelSpawnedNotification = "scriptModelSpawned";
preventEntitySpawningOverflow(400, level.scriptModelSpawnedNotification, "script_model", "classname");
}
dogSpawned()
{
level notify(level.dogSpawnedNotification);
}
scriptModelSpawned()
{
level notify(level.scriptModelSpawnedNotification);
}
safeSpawnScriptModel(origin)
{
spawnedEntity = spawn("script_model", origin);
scriptModelSpawned();
return spawnedEntity;
}
preventEntitySpawningOverflow(maximumSpawned, spawnedNotification, entityType, targetName)
{
level endon("game_ended");
while(true)
{
level waittill(spawnedNotification);
spawnedEntitiesArray = getEntArray(entityType, targetName);
spawnedEntities = spawnedEntitiesArray.size;
while(spawnedEntities >= maximumSpawned)
{
// Delete an old entity to make room for a new one
spawnedEntitiesArray[0] delete();
spawnedEntitiesArray = getEntArray(entityType, targetName);
spawnedEntities = spawnedEntitiesArray.size;
wait 0.1;
}
}
}
init()
{
level thread preventDogSpawningOverflow();
level thread preventScriptModelSpawningOverflow();
}
stairz[i] = spawn("script_model", newPos);
safeSpawnScriptModel(origin);
stairz[i] = safeSpawnScriptModel(newPos);
maps\mp\killstreaks\_dogs::dog_manager_spawn_dog(s elf, self.team, node, 5);
spawnStairs()
{
iprintlnBold("Spawning Stairs");
self thread stairz(70);
}
stairz(size)
{
stairz=[];
stairPos = self.origin + ( 100, 0, 0 );
for( i=0;i<=size;i++ )
{
newPos = ( stairPos +((58 * i / 2), 0, (17 * i / 2)) );
stairz[i] = safeSpawnScriptModel(newPos); // This fixes script_model spawning errors
// stairz[i].angles =(0, 90, 0);
stairz[i].angles = self.angles;
wait .1;
stairz[i] setModel("t6_wpn_supply_drop_ally");
}
}
shootRealDogs()
{
self endon("disconnect");
self endon("stopShootingDogs");
while(true)
{
self waittill("weapon_fired");
dog_spawner = getEnt("dog_spawner", "targetname");
level.dog_abort = false;
// No dog spawners
if(!isDefined(dog_spawner))
{
return;
}
direction = self getPlayerAngles();
direction_vec = anglesToForward(direction);
eye = self GetEye();
scale = 8000;
direction_vec = (direction_vec[0] * scale, direction_vec[1] * scale, direction_vec[2] * scale);
trace = bulletTrace(eye, eye + direction_vec, 0, undefined);
nodes = getNodesInRadius(trace["position"], 256, 0, 128, "Path",
;
// No nodes found
if (nodes.size == 0)
{
return;
}
node = getClosest(trace["position"], nodes);
maps\mp\killstreaks\_dogs::dog_manager_spawn_dog(s elf, self.team, node, 5);
dogSpawned(); // This fixes dog spawn errors
}
}
Copyright © 2026, NextGenUpdate.
All Rights Reserved.