Guys, i need your help/opinion!

im working on a 3rd Person game, and currently im busy with the weapon code.
Everything work fine and i can figure most things out by myself but there is this one problem.
Best way to attach the weapon(s) to the players hand?

1. Method
Attach the gun with vec_for_bone/vertex.
Code:
...
while(1)
{
vec_for_vertex (my.skill1, you, 999);
vec_for_vertex (my.skill4, you, 1000);
vec_diff (my.skill7, my.skill4, my.skill1);
vec_to_angle (my.pan, my.skill7);
vec_set (my.x, my.skill1);
wait (1);
}
...


Here i have the problem that when i shoot or aim (raising the gun for about 90 degrees) the gun suddenly turns around in the players hand. it returns to its position again when the gun is lowered and so on... Any idea on that?

2. Method
Animate the gun together with the player. then delete the player mesh and save the gun with the animations and do it like this:
Code:
...
while(1)
{
//vec_set stuff here      
my.frame = player.frame;
my.next_frame = player.next_frame;
wait(1);
}
...


This way seems almost perfect, as i dont need to worry about "gun turning"-problems laugh
only downside i notice is that the gun model is too big in size because of the animations.
Then i found "ent_animatefrom" which would be cool but i have no idea if and how i can combine 2. Method with "ent_animatefrom". I mean i think its possible to write its own animate_function for the guns just like for the player and only use instead of ent_animate - ent_animatefrom, but it would be better if there is a easier way.

so now my questions:
Which method would you prefer? Which is the most common, most efficient one?
Can someone solve atlease one of the problems above?!
Any input helps me!
Thanks guys!

Last edited by chris_oat; 09/23/11 12:14.