Code:
// this goes from origin1 to origin2 and extended to origin3
new Float:origin1[3];
// fill your 1st origin
new Float:origin2[3];
// fill your 2nd origin
new Float:vector[3];
xs_vec_sub(origin2, origin1, vector);
new Float:length = xs_vec_len(vector);
xs_vec_normalize(vector);
new Float:extended;
// set extended to your extra distance to find origin 3
xs_vec_mul_scalar(vector, length + extended, vector);
new Float:origin3[3];
xs_vec_add(origin1, vector, origin3);
// origin3 holds the extended line end point
__________________