Two Pokemon that roam the map in Pokemon Diamond and Pearl are Mesprit and Cresselia. To catch them, raise a Pokemon with a high Speed rating and the False Swipe attack to at least level 50. Use the Marking Map on your Poketch to find the Pokemon and battle it. Use False Swipe and, assuming your Pokemon was fast enough, the roaming Pokemon will take damage before fleeing the battle. Keep finding it until the target is at 1 HP since it will retain the damage you inflicted each time you encounter it. Be sure to save the game after each encounter and have some Quick Balls. Also, make sure not to encounter it in an area that has a damaging weather effect, such as the northern blizzard area. You should also try to inflict a status problem on it that won’t kill it. Keep throwing Quick Balls when you encounter it with low HP to finally catch it.