OH, you want it to spawn not where the player is looking at but in front of him, hmm.
local pos = ply:GetPos()
N:SetPos(pos + Vector(10,0,20))
Basicly you get the player position in the world and you add to it a vector to spawn infront of player.
Note: That code isn’t perfect, if you try to spawn it at a wall the gun will probably get stuck, or if you try to spawn it in a mountain, it may get stuck too, to be sure it wouldn’t get stuck when aiming at some small stuff, It adds 20 to the player vertical pos, so the gun spawns in air.
That’s basicly what you should do, ofc you may want to get more code to be sure it only spawns in avaible space, maybe do a trace from the player pos to where the gun will be spawned to retrieve a error message to the player if it hits anything or do any workaroud you want.
Just noticed how this wouldn’t spawn in the players exact front, let me try to come with something.