/* Script generated by Lilac Soul's NWN Script Generator, v. 2.3 For download info, please visit: http://nwvault.ign.com/View.php?view=Other.Detail&id=4683&id=625 */ //Put this script OnUsed #include "x0_i0_secret" void main() { object oPC = GetLastUsedBy(); if (!GetIsPC(oPC)) return; if (GetItemPossessedBy(oPC, "HighPriestessRoomKey")== OBJECT_INVALID) { SendMessageToPC(oPC, "This trapdoor seems to be warded shut by some powerful magics. No matter what you try, it won't budge."); return; } if (!GetIsSecretItemOpen(OBJECT_SELF)) { // play animation of user opening it AssignCommand(oPC, ActionPlayAnimation(ANIMATION_LOOPING_GET_LOW)); DelayCommand(1.0, ActionPlayAnimation(ANIMATION_PLACEABLE_OPEN)); SetIsSecretItemOpen(OBJECT_SELF, TRUE); } else { // it's open -- go through and then close location lTarget; object oTarget = GetWaypointByTag("RoomofMirrors"); 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)); object oObject = GetObjectByTag("RoomofMirrors"); ActionPlayAnimation(ANIMATION_PLACEABLE_CLOSE); SetIsSecretItemOpen(OBJECT_SELF, FALSE); } }