get_aim_origin returns the origin where player is aiming at, i don't understand why you think it y and z axes would return 0, and why you don't print x origin, and also why you have let line "pev(attacker, pev_v_angle, rvec);"
May be you are confused with punchangle that is not the same thing, punchangle should be 0 on 1st shot, and punchangle is relative to player, not to world.