This function computes a straight line path from the current instance position to the point specified by the "xgoal" and "ygoal" values. It uses the indicated step size, the same as in the function mp_linear_step(). The indicated path must already exist and will be overwritten by the new path and the function will return if a complete path was found (true) or not (false). A full path is only found there was no collision with the specified object or instance and if false is returned then a path is still generated, but it will only run up to the position where the path was blocked.NOTE: This function does not move the instance. It sets a path only, and you must use the Path functions for movement.
mp_linear_path_object(path, xgoal, ygoal, stepsize, obj);
|path||The index of the path to be used|
|xgoal||The target x position.|
|ygoal||The target y position.|
|stepsize||The speed the instance moves in pixels per step.|
|obj||The object that is to block the path. Can be an object index, an instance id or the special keyword ,all|
if mp_linear_path_object(path, mouse_x, mouse_y, 4, obj_Wall) path_start(path, 4, 0, 0);
The above code checks for a collision with "obj_Wall" along the path between the object running the code and the x/y position of the mouse. If there is no collision and the complete path is generated then it will start the object along the path generated.