//Script Name: invroom_teleport ////////////////////////////////////////// //Created by: Genisys / Guile //ON: 7/29/08 ///////////////////////////////////////// /* **Notes** This goes in the Action Taken, on the conversation line which allow PC's to organize thier inventory. This script teleports them to the inventory room, where they can quickly sort thier inventory. */ ////////////////////////////////////////// string sDeny; //Main Script void main() { object oPC = GetPCSpeaker(); //If the system is in use, don't allow anyone to enter! if (GetLocalInt(GetModule(), "INVUSE")== 1) { sDeny="Inventory Room In Use, Try again later."; SendMessageToPC(oPC, sDeny); return; } //Otherwise set that the room is in use! //This allows the PC into the room!! //Note this variable is removed when the PC leaves the area! SetLocalInt(GetModule(), "INVUSE", 1); //This allows the PC into the room! //If the PC does not have this variable, they are automatically teleported out! SetLocalInt(oPC, "INVROOMUSER", 1); object oTarget; location lTarget; oTarget = GetWaypointByTag("isystemway"); lTarget = GetLocation(oTarget); if (GetAreaFromLocation(lTarget)==OBJECT_INVALID) return; SetLocalLocation(oPC, "inv_loc", GetLocation(oPC)); AssignCommand(oPC, ClearAllActions()); DelayCommand(3.0, AssignCommand(oPC, ActionJumpToLocation(lTarget))); oTarget = oPC; int nInt; nInt = GetObjectType(oTarget); if (nInt != OBJECT_TYPE_WAYPOINT) ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_IMP_UNSUMMON), oTarget); else ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_IMP_UNSUMMON), GetLocation(oTarget)); }