string sDeny; //Created by Guile 3/26/07 //Put this script OnClick or OnFailToOpen void main() { object oPC = GetClickingObject(); if (!GetIsPC(oPC)) return; if (GetItemPossessedBy(oPC, "specialkey")== OBJECT_INVALID) { sDeny="There is a speicifc key required to open this door."; SendMessageToPC(oPC, sDeny); return; } object oTarget; location lTarget; oTarget = GetWaypointByTag("trickway1"); 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, ClearAllActions()); AssignCommand(oPC, ActionJumpToLocation(lTarget)); }