instead of:
while (1)
{
temp_pos.x += 20 * cos(plBiped01_entity.x); // 20 = particle radius
temp_pos.y += 20 * sin(plBiped01_entity.x); // use the same value here
effect(effect_x, 1, temp_pos.x, nullvector);
wait (1);
}
try:
while (1)
{
vec_set(temp,vector(20,0,0));
vec_rotate(temp,(plBiped01_entity.pan);
vec_add(temp,(plBiped01_entity.x);
effect(effect_x, 1, temp, nullvector);
wait (1);
}
also, temp_pos is not a vector, the way you're defining it, but you're acting like it is.