I'd rather dig up a little older thread than start a new one...
I've read this post thoroughly, tho to me it's in greek...
however, were still having a little problem, and can't seem to find the problem.
The shooting/ collision, and surface impacts are all fine..
except the impact 'bullet hole' is offset,
though the 'bullet hole' sprite is ok relative to the impacted surface, ( it's reading the surface angles correctly) the point of the 'bullets impact an the point on the surface is offset a lot.
Were using an impact sprite quite a bit larger than a bullet hole, if it was a bulet hole size, it's be even more noticable how far off the impact is by the bulet', It's just acting like it's 'reading' the bullet model's bounding box.
And as was described by Grimber, changing the bullet model size helps nothing

Its the part after that we can't seem to get figured out how to correct this.
Below is the gun/bullet/impact code. Impacts by 'bullet' models will mostly be on blocks... any models it will hit don't need accuracy in this case.
We are also curious about a crosshair. we would still like to have one very much, how well would one work with this code?
We really need the help to get over this hump here...
Thanks!
-----------------------------------------------------------------------------
Code:
// guns and stuff
entity* temp_ptr;
function impact
{
my.scale_x = 0.4;
my.scale_y = my.scale_x;
my.scale_z = my.scale_x;
my.z += 5;
my.facing = off; my.oriented = on; my.decal = on;
my.passable = on; my.bright = on; my.flare = on;
my.alpha = 99.9; my.transparent = on;
sleep(0.5);
while(my.alpha > 0){my.alpha -= 3*time; wait(1);}
ent_remove(me);
}
function hit_event
{
if(event_type == event_impact || event_type == event_entity)
{
you.health -= 25;
temp_ptr = ent_create ("impactglow3.tga", target, impact);
vec_to_angle(temp_ptr.pan, normal);
wait(1);
ent_remove(me);
}
if(event_type == event_block)
{
beep;
temp_ptr = ent_create ("impactglow3.tga", target, impact);
vec_to_angle(temp_ptr.pan, normal);
wait(1);
ent_remove(me);
}
}
function fly_bullet()
{
my.enable_impact = on;
my.enable_block = on;
my.enable_entity = on;
my.event = hit_event;
my.bright = on;
my.flare = on;
my.pan = camera.pan;
my.tilt = camera.tilt;
my.push = -1;
var last;
while(last < 50)
{
last += 1 * time;
my.roll += 55*time;
c_move(me, vector(150*time, 0, 0), nullvector, activate_trigger);
wait(1);
}
ent_remove(me);
}
function shoot_weapon
{
// var offset[3] = 100, -25, -25;
vec_for_vertex(temp, my, 77);
ent_create("lazerbeam.mdl", temp, fly_bullet);
}
----------------------------------------------------------------------------
Crosshair and impact accuracy to simplify our problems.. please help the needy

Jason