The texture files must be in the same folder as the .x object. That should solve the texture issue.
As for the gun offset, you could simply use a bit of maths to calculate where to position it.
acamY#=camera angle y()
right_offset#=3
forward_offset=2
up_offset=-1
Xtemp#=sin(acamY#)*forward_offset
Ztemp#=cos(acamY#)*forward_offset
Xtemp#=sin(acamY#+90)*right_offset
Ztemp#=cos(acamY#+90)*right_offset
position camera Camera position x()+Xtemp#,camera position y()+up_offset,camera position z()+Ztemp#
I haven't tried this code, so it may not be completely accurate, but I think it should work.
Happy Coding!