//get point coords at dist 2m, at angle 45deg UP of right side of player
float dist = 2;
vector orientation = player.GetOrientation(); //player orientation in world //for example orientation[0] = 20, orientation[1] = 0; orientation[2] = 45;
orientation[0] = orientation[0] + 90; //right side
vector new_dir = orientation.AnglesToVector() * dist; // \brief Converts spherical coordinates (yaw, pitch, roll in degrees) to unit length vector \return \p normalized direction vector
vector POS = player.GetPosition() + (new_dir * dist);
//at this point POS always contains coordinates on the plate, without up correction