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.