Moczulak
19th October 2012, 10:24
Hi all. I do not know how to rewrite the script so that the team of zombies appeared from 500 units hunters team, but at the same time so that a single player zombies appear close to zombie team. Please help me.
This is my script:
getSpawnpoint_NearTeam(spawnpoints)
{
if(!isdefined(spawnpoints))
return undefined;
aliveplayers = undefined;
players = getentarray("player", "classname");
for(i = 0; i < players.size; i++)
{
player = players[i];
if(player.sessionstate == "spectator" || player.sessionstate == "dead" || player == self)
{
continue;
}
aliveplayers = add_to_array(aliveplayers, player);
}
bestposition = undefined;
if(isdefined(aliveplayers))
{
distlargest = -33554432;
for(i = 0; i < spawnpoints.size; i++)
{
if(positionWouldTelefrag(spawnpoints[i].origin))
continue;
if(isdefined(self.lastspawnpoint) && self.lastspawnpoint == spawnpoints[i])
continue;
dist = 0;
for(j = 0; j < aliveplayers.size; j++)
{
if(aliveplayers[j].pers["team"] == self.pers["team"])
dist = dist - (distance(spawnpoints[i].origin, aliveplayers[j].origin) <= 100);
else
dist = dist + (distance(spawnpoints[i].origin, aliveplayers[j].origin) >= 500);
}
if(dist > distlargest)
{
distlargest = dist;
bestposition = spawnpoints[i];
}
}
spawnpoint = bestposition;
}
else
{
spawnpoint = getSpawnpoint_Random(spawnpoints);
}
self.lastspawnpoint = spawnpoint;
return spawnpoint;
}
This is my script:
getSpawnpoint_NearTeam(spawnpoints)
{
if(!isdefined(spawnpoints))
return undefined;
aliveplayers = undefined;
players = getentarray("player", "classname");
for(i = 0; i < players.size; i++)
{
player = players[i];
if(player.sessionstate == "spectator" || player.sessionstate == "dead" || player == self)
{
continue;
}
aliveplayers = add_to_array(aliveplayers, player);
}
bestposition = undefined;
if(isdefined(aliveplayers))
{
distlargest = -33554432;
for(i = 0; i < spawnpoints.size; i++)
{
if(positionWouldTelefrag(spawnpoints[i].origin))
continue;
if(isdefined(self.lastspawnpoint) && self.lastspawnpoint == spawnpoints[i])
continue;
dist = 0;
for(j = 0; j < aliveplayers.size; j++)
{
if(aliveplayers[j].pers["team"] == self.pers["team"])
dist = dist - (distance(spawnpoints[i].origin, aliveplayers[j].origin) <= 100);
else
dist = dist + (distance(spawnpoints[i].origin, aliveplayers[j].origin) >= 500);
}
if(dist > distlargest)
{
distlargest = dist;
bestposition = spawnpoints[i];
}
}
spawnpoint = bestposition;
}
else
{
spawnpoint = getSpawnpoint_Random(spawnpoints);
}
self.lastspawnpoint = spawnpoint;
return spawnpoint;
}