Yeah... Perhaps a tutorial on it would be good... The problem is, i don't even know what i did... but it works!
I'll have to decode it sometime myself and write it up. It probably still wont be easy to follow...
I think it comes down to TWO math counters: Level Wanted Current Level.
When you press a button (eg for level 3), it sets the "Level Wanted" math counter to 3. It then compares (logic_compare) this value with it's "Current Level", say for now 2. Since 2<3, it says "you need to move up", and starts the elevator in that direction (start forward). When it moves over a path_track, it updates "Current Level" with the level it's at. If Current Level = Wanted Level, stop the elevator! (Or it always stops at each level, but re-checks and stops continuing if the same)
oh and lock buttons until it's reached it's destination. Don't want to confuse the poor thing.
I believe my elevators would be suitable for multiplayer maps. The best trick i can suggest is not to use too many shortcuts.
EG instead of closing the particular door for the floor you are at, but instead to close all doors (via the * notation), would mean that all doors would play the closing animation, even when they were already closed. On single player you can get away with this, as you only see one door at time, but for multiplayer there is a chance someone would be watching another door.
Other than that, good luck...
If you need specific help, then we can look into things further.