i don't know if it will work in Pearl. but in my Ruby i feed my Golbat lots of Pokeblock (Poffins) and always kept it first in my party. and i also did whatever i could to make it happy like visiting the people who massage,comb,groom you pokemon
from a woman in eterna city's Pokemon city
Fly/walk to Eterna City and go into the Pokemon center. Talk to the girl inside there and she will give you the friendship checker.
If you have diamond or pearl, go to Veilstone city and there will be a building where you can give your pokemon massages once a day. Do that and keep them out of the Pc box. :)
go to pastoria city, then go right, go to footstep man, keep your pokemon in front of party, talk to him. he will tell you.
When he/she gets friendly enough by leveling it up. You can find out the friendship level by getting a poketch app in eterna city Pokemon center
In both diamond and pearl the one city is Hearthome
The sixth gym is in Canalave City of Pokemon Pearl, west of Jubilife City.
You can't go to Celadon city in Pokemon Pearl. Its from an earlier region.
Train with it and travel with it a lot then it will start to like you and if you want to check then go to Dr. Footstep outside of Pastoria City
Between pastoria city and hearthome city.
That is the city you start at!
Its not in a city its in a tower.