lol, if noone wants to answer noone would I guess
simple as that.

Alright about your bullet problem:
scale_z has nothing to do with the bullets angle nor direction.
its just a skill to scale the bullet (make it bigger for example).
You just need to change 1 line in your player_bullet function, here it is: (updated)
Code:

function player_bullet()
{
my.passable = on;
my.scale_x = 1.9;
my.scale_y = 1.9;
my.scale_z = 1.9;
my.narrow = on;
wait(1);
my.min_x = -1;
my.min_y = -1;
my.max_x = 1;
my.max_y = 1;
my.pan = camera.pan;
my.tilt = player.tilt; //CHANGED
my.skin = 2;
my.flare = on;
my.bright = on;
my.ambient = 100;
my.unlit = on;
my.enable_entity = on;
my.enable_impact = on;
my.enable_block = on;
my.event = player_bullet_event;
while (1)
{
if(vec_dist(my.x,player.x)>40){my.passable = off;}
move_mode = ignore_you+ignore_passable+glide;
ent_move(vector(100*time,0,0),nullvector);
wait(1);
}
}