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)