it almost literaly looks like this..

ENTITY* speaker;
ENTITY* non_speaker;

function dialogue_pointer()
{
if(vec_dist(player.x,my.x) < 100)
{
speaker = me;
{
else
{
non_speaker = me;
}
}

action actor()
{
while(player != NULL)
{
dialogue_pointer();
if((my.skill1 == 1) && (speaker == me))//no need to test dist already tested
{
init_dialogue();
my.skill1 = 0;//this however sets all "actors" skill1 to 0.
}
wait(1);
}
}

sorry for the stripped down version, but no one likes to sift through a thousnd lines of unrelated code. this is the only place where skill1 is even looked at or modified...very basic stuff, probably the reason it is killing me.


Everybody Poops.
here are some tutorials I made.
http://www.acknexturk.com/blender/