I took the invisible man/proximity port approach finally, since using table `zone_points` ended in 8 wasted hours of my life I will never get back. Sigh.
Here's the info -
Create a new NPC "Zone_Out" (can be named anything) with race 1 (Human initially) and body type 1 (Humanoid). Any other stats you like, but they won't matter by the time we're done.
#dbspawn ###### (the ID of the newly created NPC)
Target him, and position him approximately mid-way between the sides of your zone out area - for example, it if is a mountain range, pop your zoner as close to the middle between the two walls of the mountain as you can, nearest to (or beyond) the point you wish to launch players from your zone.
#npcspawn add
This creates the entry in your tables to repop this guy every zone startup. Now,
zone out and zone back in to reload the new spawn details. Your dude should now be popped precisely where you need him. A naked, human male that you can target.
Quest script:
Code:
# Tipt custom zone outs back to Nexus (152)
sub EVENT_SPAWN {
my $x = $npc->GetX();
my $y = $npc->GetY();
quest::set_proximity($x - 100, $x + 100, $y - 50, $y + 50);
}
sub EVENT_ENTER {
quest::movepc(152,0,0,-24);
}
sub EVENT_EXIT {
quest::clear_proximity();
my $x = $npc->GetX();
my $y = $npc->GetY();
quest::set_proximity($x - 100, $x + 100, $y - 50, $y + 50);
}
#End of File, Zone:tipt NPC:289031 -- Zone_Out
Clearly described --
Code:
sub EVENT_SPAWN {
my $x = $npc->GetX();
my $y = $npc->GetY();
quest::set_proximity($x - 100, $x + 100, $y - 50, $y + 50);
}
This sub executes when your NPC spawns, getting it's current x,y coords, and setting a proximity of x +/- 100 (north and south - pay attention to what direction your zone out location faces and adjust accordingly.
In my zoner, the zone out is East/West, so I made the east/west coordinates as close to the NPC as possible without risking passing him up.

The North/South coords are +/- 100, since that covers from the NPC in both directions and beyond the cavern walls so again, players cannot pass by the NPC. Not sure what happens if they go over his head though... anyway.
Code:
sub EVENT_ENTER {
quest::movepc(152,0,0,-24);
}
Simple, this flings the player to the center of Nexus upon entering the above proximity. And finally...
Code:
sub EVENT_EXIT {
quest::clear_proximity();
my $x = $npc->GetX();
my $y = $npc->GetY();
quest::set_proximity($x - 100, $x + 100, $y - 50, $y + 50);
}
If the player nears the NPC but somehow manages to not port and back up, we need to re-set the proximity or going forward again will allow the player to pass the NPC completely (I am not 100% certain of this, but it seemed to be a problem on my server).
Now, once your NPC is in place and porting you properly, edit his race and body type:
Race: 127 - Invisible Man
Body: 66 - InvisMan
And he is no longer visible, nor targettable, and players should not be able to kill him. This actually worked so well, I am considering using it throughout my world to make custom zone entries.