ID:2045995
 
(See the best response by Rushnut.)
Code:
atom/Click(location,control,params)
params = params2list(params)
world.log << "[location] :: [params["icon-x"]],[params["icon-y"]]"
walk_to(usr,new/target(location,params["icon-x"],params["icon-y"]))

target
parent_type = /atom/movable
New(atom/LOC,X,Y)
loc = LOC
step_x = X
step_y = Y
..()


Problem description:

I'd like to make the user walk to a clicked location precisely to the very pixel. Using the walk_to proc would be preferable, though I've played around with little equations of my own to no avail. Insight?

Note: I made target because walk_to simply brings you to the location you click, while I want you to move to the pixel you click.
If you're wanting full-blown pathfinding with pixel movement you're out of luck as I believe it's been marked "Not Feasible".

And I don't think anyone has put any effort into making one, or it might be to difficult. Dunno.
Why not use walk_to to reach the location, then fine-tune once you get there?
In response to Lummox JR
The project I'm working on utilizes drawn lines that stream from the user. Fine-tuning makes it ugly, but I guess I can make it not create lines for the fine-tuning.

walk_to runs in the background, so how should I go about checking when the user reaches the destination?
Hrm, good point there.
Kozuma3 wrote:
And I don't think anyone has put any effort into making one, or it might be to difficult. Dunno.

False.

Konlet wrote:
I'd like to make the user walk to a clicked location precisely to the very pixel.

Use linear algebra, though I wouldn't rely on icon-x and icon-y to give you accurate step_x and step_y values. It gives incorrect values depending on certain factors, like transform.
This popped into my mind o:

var/obj/destination = null
walk_to()
while(destination && get_dist(src,destination) > 1)
sleep(#)
In response to Kozuma3
get_dist() does not return pixels, and having multiple loops running is inefficient.
Best response
Use an update loop and dist_bounds.
In response to Konlet
Konlet wrote:
having multiple loops running is inefficient.

The nerve you have...