lol
Ok I can think of two different ways for the model thing:
- calculate a position infront of the player (center of the screen => vec_for_screen) and create (ent_create) a bullet there which will move with a certain speed

- calculate two positions: one far distance to the player and one at the gun's muzzle.
Now trace from the camera coordinates to the position far away from the player, then create the bullet at the gun's muzzle and turn it towards that position and let it fly

I'm sure there are other ways.
The first way I mentioned is quick and works, but the bullets do not fly from the gun towards where the crosshair aims.
So the second way is a bit more "realistic", nearly as "realistic" as ballistic can be in games