Go to Kanto and go to Route 8 a pokemon with cut will be needed and you will probably have better luck finding one at night
Chat with our AI personalities
You can't catch a Haunter in Emerald. You can trade for one, you can find a Duskull/Dusclops at MT Pyre, but you can't straight out find a wild Haunter.
you have to trade
To get a Gengar you must first catch a Haunter. To evolve the Haunter you have to trade it to another gaming system.
Catch a Gastly (either in Burned Tower in Ecruteak City or in Sprout Tower in Violet City) and evolve it to a Haunter (it evolves at level 25). When you have a Haunter, just trade it and it will evolve into Gengar.
Gengar can only be obtained by trading a Haunter.