It's actually not that simple, since you need a track for every single step. I stumbled into this problem when I made a garage door for the help forums. Otherwise your escalator will be like all the steps overlaping each other. One way to avoid this will be make a multi_manager and make it start them all in sequence, but this way it has to be invisible at the beginning of the level until all the teps are started and moving.
Map based isn't the only way it could be done. You can make a looping model and still use func_convoyers. It will look like the ones from VIce City.
And here's a try for you:
Since the steps are all the same and they are escalating just one at a time the loop will be really short - just a single step. Here a schematics of what I have in mind:
http://img.photobucket.com/albums/v210/phutech3000/escalator1.jpgThese BMW-like circles are origin brushes. The black line is the solid ground. The red steps are passable func_trains. The black boxes on each end indicate where the floor is an ubder this spot the trains wont be visible anymore. The character market spots are trajectory points, NOT path_corners. I mean the trains don't go trough these points, they just follow their direction.
My idea is you have the func_convoyer moving the player up. The trains will be passable, so there sould be no problem in making them. They all go one step forward (just as the points indicate) and when they reach the end they are turned invisible and in turn another set of func_trains at staring position are made visible. While the second set moves up, the first one is back to it original place and their visibilty swaps again. It uses much less entities and is much less head spinning. I'm pretty sure it will work.
Anyone else to come with a better idea?
PS: ANd shit, it happened again! Crafing these long posts is a nasty business. I even see some of my words already posted. Anyway, my idea is new.