Let's say you have a car driving around a track and heading for a point set somewhere close to the next curve. You give the current direction of the car and the direction to the point (car.dir, point_direction(car.x, car.y, px, py)).

If the car is not already heading for the point, it turns. The easiest way to deal here, is to set the car turn one degree clockwise if the delta is positive and counter-clockwise when it's negative.

A more advanced way is to turn the car more when the delta is higher. Anyway, because GM already gives the fixed degrees in point_direction(), you won't even need more than a couple of lines: