You are confusing tile coordinates and screen coordinates.

There are screen coordinates, which is the number of **pixels **from the upper-left corner on the **screen **to the center of the picture. This is how pictures are placed.

And then there are tile coordinates, which is the number of **tiles** from the upper-left corner of the **map**. This is how events are placed.

This is also the difference between the two sets of coordinates that you can get from "Change Variable" when referencing an event. (However, as a small gotcha, the screen coordinates you get from an event will reference its *bottom center*, not its *middle center*)

If you want to place a *picture* on a specific *tile*, you have to figure out what screen coordinates you need to put the picture on (which is not a static value unless you know for a fact that the camera will always be positioned at the exact same location when you show the picture). Also you need to enable "Move with map", because you want the picture to stick the tile even when the camera moves.

If you already have a static event on this tile, this is somewhat easy. You just need to read the event screen coordinates into variables, subtract 8 from the Y coordinate (because as mentioned above, these coordinates are from the *bottom center* of the event so we have to subtract half a tile's height to get the middle position), and then use these variables as coordinates for showing the picture.

If you *don't* have an event there, this also works as long as you have an event anywhere else on the map that you can reference. Doesn't matter where and which event, because we just need it to determine the camera position, it just has to be an event that *doesn't move* (because otherwise it may currently be between two tiles and then this calculation won't work). You would then do the same as above, but additionally get the event's *tile *coordinates into variables, subtract your *desired* tile coordinates from them so you get a difference in tiles, and then multiply those "X difference" and "Y difference" values by 16 (which is the width/height of a tile in pixels) and subtract *that* from the *screen* coordinates of the event. And then you got the coordinates for the picture again that you need!