function spawnhumans( var num )
{
STRING* s = str_create("");
STRING* s1 = str_create("humanspawn"); // this is the name of a model already in the compiled level
var i;
var found = 0;
var sp = 0;
var sp1 = 1;
var temp;
VECTOR loc;
ENTITY* spawnpoint;
spawnpoint = ent_next (NULL);
if ( spawnpoint == NULL ) spawnpoint = ent_next (NULL);
str_for_entname ( s, spawnpoint); // get the name of the entity whe just set spawnpoint to
while( !(str_cmpni (s, s1)) ); // if the name of the ent is not "humanspawn" then its the wrong one and keep looking
{
spawnpoint = ent_next (spawnpoint);
if ( spawnpoint == NULL ) spawnpoint = ent_next (NULL);
str_for_entname ( s, spawnpoint);
wait(1);
}
spawnpoint.group = 1; //
loc.x = spawnpoint.x;
loc.y = spawnpoint.y;
loc.z = spawnpoint.z;
for( i = 1; i <= num; i++ )
{
c_ignore( 1,0 );
found = c_scan (loc, vector(0,0,1), vector(360,0,100), SCAN_ENTS | SCAN_LIMIT | IGNORE_WORLD | IGNORE_MAPS );
while ( found > 0 )
{
vec_add( loc, vector(-100+random(200), 0, 0) );
vec_add( loc, vector(0, -100+random(200), 0) );
//loc.x = loc.x+(-100+random(200));
//loc.y = loc.y+(-100+random(200));
c_ignore( 1,0 );
found = c_scan (loc, vector(0,0,1), vector(360,0,100), SCAN_ENTS | SCAN_LIMIT | IGNORE_WORLD | IGNORE_MAPS );
//wait(1);
}
//loc.x = i*100;
if ( i == num )
{
player = ent_create("guy5.mdl", vector(loc.x,loc.y,loc.z), updatecharacter);
}else{
ent_create("guy5.mdl", vector(loc.x,loc.y,loc.z), updatecharacter);
}
wait(-.5);
}
ptr_remove(s);
ptr_remove(s1);
}