Random, looking at you last posted script, I see you are only defining
vector POINTERS for the weapon_base and weapon_tip.
You need REAL vectors, not just pointers...
Try replacing the following code...
//Replace this old code
VECTOR* weapon_base;
VECTOR* weapon_tip;
//with this NEW code
VECTOR weapon_base, weapon_tip;
And no other changes...
As for re-assigning ME, always a tricky prospect...
I cant see you doing it WRONG, but you are probably far better off
using the YOU pointer instead, cause you can IGNORE_YOU in a trace...
(thats as deep as Ive looked sorry... bad eye-sight night tonight..)