c_move(me,vector(0,shot_speed*time,0),vector(0,0,shot_gravity*time),ignore_models);
- - - should be - - -
c_move(me,vector(my._shot_speed*time,0,0),vector(0,0,my._shot_gravity*time),ignore_models);

I'm not sure if you can assign a function to an entity, so try this...

Code:
 

action fShoot
{
my.enable_impact = on;
my.event = fShootEvent;
while(my != null)
{
c_move(me, vector(0, my._shot_speed * time, 0), vector(0, 0, my._shot_gravity * time), ignore_models);
my._shot_gravity -= 0.05;
wait(1);
}
}

function fShootEvent()
{
if (event_type == event_impact)
{
my.event = null;
wait(1);
ent_remove(me);
}
}

...
temp.x = 65;
temp.y = 0;
temp.z = 5;
vec_rotate(temp.x, my.pan);
vec_add(temp.x, my.x);
you = ent_create(sShot, temp.x, fShoot);
you._shot_speed = my._shot_speed;
you._shot_gravity = my._shot_gravity;
...





xXxGuitar511
- Programmer