you can get only latias. after beating league champion randoom in woods, waters.
In ruby, sapphire and emerald zigzagoon can be found in the grass north of littleroot town.
Vulpix can be found in the grass-sections of Mount Pyre. I REPEAT: It is found in the grass-sections, not the inside building.
You can catch Chimeco at Mt. Pyre summit, in the grass near the couple you recieve the red/blue orb from
Go to the route east of fortree city and look in the big grass.
Tropius can be found in the tall grass on the route west of fortree city.
You catch them by fishing, surfing or sometimes even walking in tall grass near bodies of water. You can also catch them by diving underwater.
How do you catch latios in Pokemon sapphire
Can't catch zapdos in sapphire
in Pokemon sapphire/ruby you need to go under water in go into the grass it might take a while but keep trying and don't give up.
Lombre isn't a water Pokemon you find it in the grass by Lanettes house
Try the grass on Route 117 outside of Mauville City. Roselia has about a 30% catch rate there.