Para Fire red se puede usar el comando setworldmapflag para bloquear o permitir el vuelo a cierta localización. Pero en ruby, que es lo que creo que utilizas, no se usa ese comando y he mirado un poco y no se ve otro parecido. Pero es cierto que no se puede volar a una ciudad antes de visitada, por algo se deberá regir...