rendered paste body new vec1[3], vec2[3], vec3[3], Float:tempvec[3]
get_user_origin(id, vec1, 1) // origin; your camera point
get_user_origin(id, vec2, 4) // termina; where your bullet goes (4 is cs-only)
new xdiff = vec1[0] - vec2[0]
new ydiff = vec1[1] - vec2[1]
new zdiff = vec1[2] - vec2[2]
new Float:yovax = floatdiv(float(ydiff),float(xdiff))
new Float:zovax = floatdiv(float(zdiff),float(xdiff))
new Float:ydone = 4000.0 * yovax
new Float:zdone = 4000.0 * zovax
IVecFVec(vec1,tempvec)
tempvec[0] += 4000.0
tempvec[1] += ydone
tempvec[2] += zdone
FVecIVec(tempvec,vec3)
vec1[2] -= 6
server_print("Start:%d %d %d ~ Hit:%d %d %d ~ Calc:%f %f %f ~ Final: %d %d %d",vec1[0],vec1[1],vec1[2],vec2[0],vec2[1],vec2[2],tempvec[0],tempvec[1],tempvec[2],vec3[0],vec3[1],vec3[2])
server_print("Xdiff: %d ~ Ydiff: %d ~ Zdiff: %d ~ Yovax: %f ~ Zovax: %f ~ Ydone: %f ~ Zdone: %f",xdiff,ydiff,zdiff,yovax,zovax,ydone,zdone)