Erstellst du deine Einheiten per Script?
Wenn ja mach das doch so:
Das schreibst du an ganz oben zu den Variablen im Script.
var* unitHandleArray[max_entities];
var unitHANum = 0;//Nummer der schon eingetragenen Einheiten
Das in die Funktion wo du die Einheiten erstellst.
you = ent_create("sphere.mdl",nullvector,NULL);//Hier kommt deine ent_create Funktion hin
unitHandleArray[unitHANum] = handle(you);
unitHANum++;
Und das ist die neue "FOG" Funktion.
function manage_fog()
{
my.tilt = 90;
my.alpha = 100;
my.oriented = on;
my.transparent = on;
my.passable = on;
ENTITY* ent; //temp Entity-Pointer
var i = 0;
while (1)
{
for(i=0;i<unitHANum;i++)
{
ent = ptr_for_handle(unitHandleArray[i]);
if (vec_dist(ent.x, my.x) < 350)
{
my.alpha = 0;
}
else
{
my.alpha = 100;
}
ent = NULL;
}
wait (1);
}
}
Ich habe das jetzt nicht getested, sollte aber funktionieren.
MFG Ralph