ERF V1.0HftIExportInfodetectsecrettrapdoordetectsecrettrapdoorhidden_doortrapdoor 7La" +GFF V3.28 d`,T$,4<DL         (CommentsTopResRefResTypeDependenciesMissingHidden Trap Door V1.3 -------------------------------------------- Written: July 15, 2002 By: Robert Babiak: -------------------------------------------- This is a Invisible object that does a heart beat check to see if any PC is within the search radius of this door. The search radius is stored in the invisible objects Reflex saving throw. When the PC is within the search radius of the door thier search skill will be checked to determine if they have found the door. The DC of this check is determind by the Willpower save on the trigger object. When the door is found it will create a instance of the HiddenDoor blueprint and set its destination to be the waypoint named DST_ I.e.. If the Hidden Door Trigger is tagged "Basement" then the destination way point should be called "DST_Basement". Remember it is case sensitive. -------------------------------------------- Updated: July 18, 2002 By: Robert Babiak: -------------------------------------------- - The orintation of the trigger object will now be set to the trap door. this allows the direction of the final trapdoor to be set. - Added a reset ability to the door. Set a local integer on the trigger object named "Reset" and set its value to 1. - Added a optional delay to the hidding of the door. Set a local FLOAT on the door named "ResetDelay" and give it the delay before destruction. This should be done before seting the Reset flag. hidden_doortrapdoor detectsecret hidden_door detectsecrettrapdoortrapdoortrapdoor NCS V1.0B D_#3Reset3 D_#7Reset7Door6 "E ResetDelay42&  " )!; 8 & * (f  trapdoor@DST_# Destination9D_#7Door: NCS V1.0B E" Destination5J,  ?,?, //:://///////////////////////////////////////////// //:: Secret Door invis object //:: V 1.2 //:: Copyright (c) 2001 Bioware Corp. //::////////////////////////////////////////////// /* This Invisable object will do a check and see if any pc comes within a radius of this object. If the PC has the search skill or is a elf then a search check will be made. It will create a trap door that will have its Destination set to a waypoint that has a tag of DST_ The radius is determined by the reflex saving throw of the invisible object The DC of the search stored by the willpower saving throw. */ //::////////////////////////////////////////////// //:: Created By: Robert Babiak //:: Created On: June 25, 2002 //::////////////////////////////////////////////// void main() { // get the radius and DC of the secret door. float fSearchDist = IntToFloat( GetReflexSavingThrow ( OBJECT_SELF ) ); int nDiffaculty = GetWillSavingThrow ( OBJECT_SELF ); // what is the tag of this object used in setting the destination string sTag = GetTag(OBJECT_SELF); // has it been found? int nDone = GetLocalInt(OBJECT_SELF,"D_"+sTag); int nReset = GetLocalInt(OBJECT_SELF,"Reset"); // ok reset the door is destroyed, and the done and reset flas are made 0 again if (nReset == 1) { nDone = 0; nReset = 0; SetLocalInt(OBJECT_SELF,"D_"+sTag,nDone); SetLocalInt(OBJECT_SELF,"Reset",nReset); object oidDoor= GetLocalObject(OBJECT_SELF,"Door"); if (oidDoor != OBJECT_INVALID) { SetPlotFlag(oidDoor,0); DestroyObject(oidDoor,GetLocalFloat(OBJECT_SELF,"ResetDelay")); } } int nBestSkill = -50; object oidBestSearcher = OBJECT_INVALID; int nCount = 1; // Find the best searcher within the search radius. object oidNearestCreature = GetNearestCreature(CREATURE_TYPE_PLAYER_CHAR, PLAYER_CHAR_IS_PC); while ( ( nDone == 0 ) && ( oidNearestCreature != OBJECT_INVALID ) ) { // what is the distance of the PC to the door location float fDist = GetDistanceBetween(OBJECT_SELF,oidNearestCreature); if ( fDist <= fSearchDist ) { int nSkill = GetSkillRank(SKILL_SEARCH,oidNearestCreature); if (nSkill > nBestSkill) { nBestSkill = nSkill; oidBestSearcher = oidNearestCreature; } } nCount = nCount +1; oidNearestCreature = GetNearestCreature(CREATURE_TYPE_PLAYER_CHAR, PLAYER_CHAR_IS_PC, OBJECT_SELF ,nCount); } if ( ( nDone == 0 ) && ( GetIsObjectValid( oidBestSearcher ) ) ) { int nMod = d20(); // did we find it. if ((nBestSkill +nMod > nDiffaculty)) { location locLoc = GetLocation (OBJECT_SELF); object oidDoor; // yes we found it, now create a trap door for us to use. it. oidDoor = CreateObject(OBJECT_TYPE_PLACEABLE,"trapdoor",locLoc,TRUE); SetLocalString( oidDoor, "Destination" , "DST_"+sTag ); // make this door as found. SetLocalInt(OBJECT_SELF,"D_"+sTag,1); SetPlotFlag(oidDoor,1); SetLocalObject(OBJECT_SELF,"Door",oidDoor); } // if skill search found } // if Object is valid } //:://///////////////////////////////////////////// //:: Trap door that takes you to a waypoint that //:: is stored into the Destination local string. //:: FileName //:: Copyright (c) 2001 Bioware Corp. //::////////////////////////////////////////////// /* */ //::////////////////////////////////////////////// //:: Created By: Robert Babiak //:: Created On: June 25, 2002 //::////////////////////////////////////////////// void main() { object oidUser; object oidDest; string sDest; if (!GetLocked(OBJECT_SELF) ) { if ( GetIsOpen(OBJECT_SELF)) { sDest = GetLocalString( OBJECT_SELF, "Destination" ); oidUser = GetLastUsedBy(); oidDest = GetObjectByTag(sDest); AssignCommand(oidUser, ActionJumpToObject(oidDest,FALSE)); PlayAnimation(ANIMATION_PLACEABLE_CLOSE ); } else { PlayAnimation(ANIMATION_PLACEABLE_OPEN ); } } else { // ActionUseSkill } } UTP V3.28D444  ;       ! " # $ % & ' ( ) *+,-./ 0 12 3TagLocNameDescriptionTemplateResRefAutoRemoveKeyCloseLockDCConversationInterruptableFactionPlotKeyRequiredLockableLockedOpenLockDCPortraitIdTrapDetectableTrapDetectDCTrapDisarmableDisarmDCTrapFlagTrapOneShotTrapTypeKeyNameAnimationStateAppearanceHPCurrentHPHardnessFortRefWillOnClosedOnDamagedOnDeathOnDisarmOnHeartbeatOnLockOnMeleeAttackedOnOpenOnSpellCastAtOnTrapTriggeredOnUnlockOnUserDefinedHasInventoryBodyBagStaticTypeUseableOnInvDisturbedOnUsedPaletteIDComment Hidden_Door(Hidden Trap Door Trigger@F90You look about you, suspicious, but see nothing. hidden_door detectsecret9Hidden trap door trigger V1.1 Make a waypoint that has a tag of DST_ and when the user opens and uses the door they will be moved to that location. The reflex save is the distance in meters that the player can find the hidden door. The willpower save is the DC of finding this door.  !"#$%&'()*+,-./0123UTP V3.28D44 4  2 F O  $ P   T U !V "W #X $Y %Z &[ '\ (] )^ *_+,-./ 0` 1a2 3jTagLocNameDescriptionTemplateResRefAutoRemoveKeyCloseLockDCConversationInterruptableFactionPlotKeyRequiredLockableLockedOpenLockDCPortraitIdTrapDetectableTrapDetectDCTrapDisarmableDisarmDCTrapFlagTrapOneShotTrapTypeKeyNameAnimationStateAppearanceHPCurrentHPHardnessFortRefWillOnClosedOnDamagedOnDeathOnDisarmOnHeartbeatOnLockOnMeleeAttackedOnOpenOnSpellCastAtOnTrapTriggeredOnUnlockOnUserDefinedHasInventoryBodyBagStaticTypeUseableOnInvDisturbedOnUsedPaletteIDComment Trap_Door!Hidden Trap Door trapdoortrapdoorThis is the trap door that will be created when the Hidden door trigger determins that the door has been found. see comments on the trigger for how to use.  !"#$%&'()*+,-./0123