//Put this script OnEnter #include "prc_class_const" void main() { location lTarget; object oTarget; object oPC = GetEnteringObject(); int nClass; nClass = GetLevelByClass(CLASS_TYPE_ROGUE, oPC) +GetLevelByClass(CLASS_TYPE_NINJA, oPC) +GetLevelByClass(CLASS_TYPE_SCOUT, oPC) +GetLevelByClass(CLASS_TYPE_BARD, oPC) +GetLevelByClass(CLASS_TYPE_BEGUILER, oPC) +GetLevelByClass(CLASS_TYPE_FACTOTUM, oPC) +GetLevelByClass(CLASS_TYPE_PSYCHIC_ROGUE, oPC); int nSearch = GetSkillRank(SKILL_SEARCH, oPC, TRUE); //:: They must be a level 21 rogue nothing happens if (nClass <= 20) { //:: Only if they can spot it! if(nSearch >= 30) { FloatingTextStringOnCreature("You notice a strange looking crack in the wall.", oPC, FALSE); } } else if (nClass >= 21) { if(nSearch >= 34) { int nHench; object oHench; object oTarget; // Send a message to the player's chat window. SendMessageToPC(oPC, "You have found a secret lever!"); // Have text appear over the PC's head. FloatingTextStringOnCreature("You have found a secret lever!", oPC); // Find the location to which to teleport. oTarget = GetWaypointByTag("royalrogueway"); // Save the PC's current location for the return trip. SetLocalLocation(oPC, "ls_stored_loc", GetLocation(oPC)); // Teleport the PC. AssignCommand(oPC, ClearAllActions()); AssignCommand(oPC, JumpToObject(oTarget)); // Also teleport associates. oHench = GetAssociate(ASSOCIATE_TYPE_ANIMALCOMPANION, oPC); AssignCommand(oHench, ClearAllActions()); AssignCommand(oHench, JumpToObject(oTarget)); oHench = GetAssociate(ASSOCIATE_TYPE_DOMINATED, oPC); AssignCommand(oHench, ClearAllActions()); AssignCommand(oHench, JumpToObject(oTarget)); oHench = GetAssociate(ASSOCIATE_TYPE_FAMILIAR, oPC); AssignCommand(oHench, ClearAllActions()); AssignCommand(oHench, JumpToObject(oTarget)); oHench = GetAssociate(ASSOCIATE_TYPE_SUMMONED, oPC); AssignCommand(oHench, ClearAllActions()); AssignCommand(oHench, JumpToObject(oTarget)); // Support for multiple henchmen (includes horses). nHench = 1; oHench = GetHenchman(oPC, 1); while ( oHench != OBJECT_INVALID ) { AssignCommand(oHench, ClearAllActions()); AssignCommand(oHench, JumpToObject(oTarget)); // Next henchman. oHench = GetHenchman(oPC, ++nHench); } } } }