Well, here's a little example.
Code:
entity* ent1;
entity* ent2;
var offset[3];
DEFINE youPos, skill10;
DEFINE oFront, 1;
DEFINE oBack, 2;
DEFINE oLeft, 3;
DEFINE oRight, 4;
Action Object1
{
ent1 = my;
while(1)
{
// get the offset
vec_diff(offset, ent2, ent1);
// normalize the offset relative to me
vec_set(temp, my.pan);
vec_inverse(temp);
vec_rotate(offset, temp);
//
if (abs(offset.x) >= abs(offset.y))
{
if (offset.x > 0)
{my.youPos = oFront;}
else
{my.youPos = oBack;}
}
else
{
if (offset.y > 0)
{my.youPos = oRight;}
else
{my.youPos = oLeft;}
}
}
}
Action Object2
{
ent2 = my;
}
Object1's skill10 (.youPos) will be set to a flag (oFront, oLeft, ...) if Object2 is (in front, left, ...).