From 0.6.0-DR2 Doors.cpp:
Code:
if (opentype == 58 && strncmp(dest_zone,"NONE",sizeof("NONE")) != 0 ){ // Teleport door!
if ( strncmp(dest_zone,zone_name,sizeof(zone_name)) == 0){
sender->GMMove(dest_x,dest_y,dest_z);
}
else {
sender->MovePC(dest_zone, dest_x, dest_y, dest_z);
}
I assume you could add as many checks as you wanted. Of course, a perl script would take alot of implementing because many of its core elements rely on an npc entity, but if you wanted to, it probably could be done.