This was a problem that I was having a lot when I played the Johto games. after u beat pryce and get team rocket out of the radio place, go to goldenrod city in the radio tower and battle team rocket in the tower. be careful, in the tower, you will have to face some old rocket rivals like adriana, proton, and petrel. after you beat archer, who will standing on the observatory floor, in the tower, you will then be able to pass the guy. (p.s the ragecandybar in absolutley useless)
you have to go to the guy blocking you from blackthorn city
you have to get the cianwood gym badge and the olivine gym badge
you kiss him with palkia
After you beat the gym leader before Clair that guy that was blocking your way before will let you through.
You go back to Golden Rod city and u notice that team rocket has taken over it
You will not be able to get past this guy until you have defeated Team Rocket in Goldenrod City and have beaten Pryce the Gym Leader. Once they are defeated, the guy allows you to go past.
You ride on a unicycle there Actually, you beat Team Rocket in Goldenrod City. After that, the guy blocking the way in Mahogany Town should move.
battle palkia/ dialga
Go into the Goldenrod City raidio tower and deafeat team rocket store a lot of potions and full heals.
Get a life play combat arms
You have to defeat pryce the mahogany town gym leader and defeat the team rocket people in the goldenrod city radio tower .
If it is the guy who wants you to buy a rage candy bar, buy it or go away for a bit and never get a chance to buy it again. If there is some guy blocking the cave entrance you have to go to the Lake of Rage.