I think there is a bit of functionality missing: you can't summon the elevator from another floor. In my copy, I added the ability to instantly move the elevator to any named brick:
function fxDTSBrick::elevatorSetBrick(%this, %brickname, %client)
{
if(%this.isElevator)
{
%group = getBrickGroupFromObject(%this);
%dest = eval("return "@ %group @".NTObject_"@ %brickname @"_0;");
if(isObject(%dest))
{
if(%dest.getDatablock().brickSizeZ == 1)
{
cancel(%this.elevatorGlass.schedule);
%this.elevatorGlass.setTransform(setWord(%this.elevatorGlass.getTransform(), 2, getWord(%dest.getTransform(), 2)));
}
}
}
}
And of course:
registerOutputEvent("fxDTSBrick", "elevatorSetBrick", "String 25 150");
Technically, I think GotoBrick should be named MoveToBrick, then this function could be called GoToBrick, but I didn't want to have to fix it everywhere in my build.
If someone/thing is on the elevator when you summon it, it falls. Fun!