I need a grass and a dark type for my hg team, so cacturne is perfect.
How do I unlock him?
To unlock Cacturne you need to place 42 Waterside objects in the Desert area.
To unlock Cacnea you need to place 35 Forest objects in the Desert area. P.S. You need the Nat. Dex. Source
Hope This Helped :D
Neither of these pokemon can be caught in the safari zone in Pokemon Heartgold.
Source 1 & Source 2
After checking around it turns out my sources were wrong. This here says that you can get cacturne after placing 18 Forest Objects and waiting 20 Days. This is for the Savannah area.