@Up: Bez sensu to jest. Wartość odległości w tym wypadku musi być stała (boję się wiedzieć, jak by to w praktyce wyglądało), więc idąc tym tokiem myślenia:
GML
view_object = celownik;
dist = point_distance( player.x, player.y, mouse_x, mouse_y );
if ( dist > 200 )
{
celownik.x = player.x + lengthdir_x( 200, point_direction( player.x, player.y, mouse_x, mouse_y ) );
celownik.y = player.y + lengthdir_y( 200, point_direction( player.x, player.y, mouse_x, mouse_y ) );
}
Powinno działać.