Well, the first thing I would recommend is to use FBI's scrolling multichoice routine which is
here. Just follow the instructions that are there for how to put that in. I'm assuming that there are more than six cities in the game that you'd want to teleport to.
You don't necessarily have to use this routine if there are more then six, but it's cleaner and takes up less space, not to mention it looks more professional.
The way to call the multichoice in a script is shown in the post with the routine itself.
You'll want to have a script where it warps you to a different map depending on which selection you made in the multichoice.
The warp command is relatively simple. I don't know which script editor you use, and I only know how to do it in PKSV, but it's probably not that much different in the other script editors. Basically how you format the warp command is you put:
warp (map bank number) (map number) (warp number)
There's a way to do it with X and Y coordinates in the map, but I've never gotten that to work, and it's really easy to just add another warp to the map where you want the player to teleport to. As long as the tile you put the warp on isn't a designated warp tile already (like a door tile for example) then it won't affect the player when they step on it normally.
Anyway, in AdvanceMap you can find the map bank and map number really easily. Just click on the map you want the player to warp to and look at the side menu where you clicked on it from. It will list it there. For example, Pallet Town is 3.0, so it's Map Bank is three and its Map Number is zero. The warp number is also easy to find. Just click on the warp event on the map where you want the player to warp to and look at its event information and it will say there.
That should be enough to get you started. A lot of ROM Hacking is trial and error and backing the ROM to test scripts until you get what you want.