// Place in the OnFailToOpen event for the door void main() { object oPC = GetClickingObject(); int nPCClass1 = GetClassByPosition(1, oPC); int nPCClass2 = GetClassByPosition(2, oPC); int nPCClass3 = GetClassByPosition(3, oPC); int nCheck1 = CLASS_TYPE_ROGUE; int nCheck2 = CLASS_TYPE_ASSASSIN; if (!GetIsPC(oPC)) { return; } else if ((nPCClass1 == nCheck1) || (nPCClass2 == nCheck1) || (nPCClass3 == nCheck1) || (nPCClass1 == nCheck2) || (nPCClass2 == nCheck2) || (nPCClass3 == nCheck2)) { //FloatingTextStringOnCreature("The door unlocks itself and opens.", oPC); SetLocked(OBJECT_SELF, FALSE); ActionOpenDoor(OBJECT_SELF); DelayCommand(6.0f, ActionCloseDoor(OBJECT_SELF)); DelayCommand(6.2f, SetLocked(OBJECT_SELF, TRUE)); } else { //FloatingTextStringOnCreature("The door is locked. You must be a Rogue or Assassin to use this door.", oPC); } }