use a pokemon that is a higher level than the pokemon you are facing and use "mean look".That way,the pokemon can't escape.
Chat with our AI personalities
There are no items that stop Pokemon from fleeing in battle in Pokemon soulsilver.Although this is true:You can catch a Pokemon that knows, Arena trap,and/or a Pokemon that knows mean look, such as a Ghastly.
you need a wobbufet or wynaut because they have shadow tag so put that Pokemon in the front of your party or you can get a octillery if your trying to catch a fleeing Pokemon
you can ether have move like mean look or you can have a wobbufet. He has an ability that the wild pokemon can't flee
It will keep fleeing unless you have a Pokemon with Mean Look or something like that so it won't escape. Try catching a wild Golbat. The same is for Mespirit.
Have a Pokemon with the move called Mean Look, which Golbat is a primary choice to have this move. The move Mean Look prevents the Pokemon from fleeing or switching out during a battle and can be very useful in a battle like this. You cannot stop Mesprit from permanently fleeing, however. It is recommended to bring a Pokemon with any sleep status moves like: Hypnosis, Sleep Powder, Yawn, etc. to further the effect.