Get the National Dex. You can do this by catching 50 different kinds of Pokemon (give or take a little.) Then, just go to One Island and visit him.
but before this, you must have defeated the elite 4
In Ruby, Sapphire, or Emerald, never. In FireRed or LeafGreen, after you have defeated the Elite Four and have 'dex entries for at least 60 Pokémon.
one island
Beat the elite four and help celio fix the machine
Talk to celio in 1 islnad and he will ask you to get a ruby. The ruby is in 1 island inside MT.Ember.
give it to celio
Help his friend celio get two gems so you can trade with hoenn games!
You give it to Celio
he is in one island in the hospital.
Give it to Celio on one island.
You get a map from Celio, on one island.
in the dotted hole on island 6