Why does my shoot trace weapon not work?

Because you only spawn an emitter when you didn’t hit anything.

(Return value of a trace means: Did the trace hit anything?)