try using:
Code:

vec_set(temp,vector(100,-50,0));
vec_rotate(temp,camera.pan);
vec_add(temp,camera.x);
effect(starter_weaponfire,10,temp.x,vector(0,0,20));


temp is just any temporary vector pointer.

particles maybe spawn on point (100,-50,0)
your code will work if gun positioned by code, not engine.


I switched to other account since marth 2010. Guess which.