What you'll need:
A small amount of patience
A high-level pokemon that knows false-swipe
a fast pokemon that knows a paralysis move
about 4 quick balls per roaming pokemon
about 10 ultra balls per roaming pokemon
a pokemon that's ability is arena trap
ok, first, go to ecruteak city, and go to the route below it, with your paralysis pokemon in front.just keep walking up into ecruteak and back dowwn into the route below until a roamer in in your area. then, battle it and use the paralysis move. itll run away, but itl be paralysed. so then, assuming itts the same pokemon you want to catch, again just keep walking between ecruteak and the route until it appears and use false swipe, so it only has 1hp left....
finaaly, the third time you battle it, have your arena trap pokemon out, and use a quick ball first. then, if that doeassnt catch it, use some ultra balls. you'll have caught it in no time.
um..ok, thats it.