string sDeny; void main() { object oPC = GetLastUsedBy(); if (!GetIsPC(oPC)) return; int nInt; nInt=GetLocalInt(oPC, "LanceQuest"); if (!(nInt == 2)) { sDeny="This portal is not currently active"; SendMessageToPC(oPC, sDeny); return; } AssignCommand(oPC, ClearAllActions()); object oTarget; location lTarget; oTarget = GetWaypointByTag("DST_GnosticKing_portal"); lTarget = GetLocation(oTarget); //only do the jump if the location is valid. //though not flawless, we just check if it is in a valid area. //the script will stop if the location isn't valid - meaning that //nothing put after the teleport will fire either. //the current location won't be stored, either if (GetAreaFromLocation(lTarget)==OBJECT_INVALID) return; AssignCommand(oPC, ActionJumpToLocation(lTarget)); }