location lTarget; object oTarget; //The DM door in town will either port the DM or talk to the PC. //Put this script OnClick or OnFailToOpen void main() { object oPC = GetClickingObject(); if (!GetIsPC(oPC)) return; if (GetIsDM(oPC)) { oTarget = GetWaypointByTag("dmwaypt"); lTarget = GetLocation(oTarget); if (GetAreaFromLocation(lTarget)==OBJECT_INVALID) return; SetLocalLocation(oPC, "ls_stored_loc", GetLocation(oPC)); AssignCommand(oPC, ClearAllActions()); AssignCommand(oPC, ActionJumpToLocation(lTarget)); } else { ActionStartConversation(oPC, "", TRUE); } }