string sDeny; /* Script generated by Lilac Soul's NWN Script Generator, v. 1.6 For download info, please visit: http://www.lilacsoul.revility.com */ //Put this OnUsed void main() { object oPC = GetLastUsedBy(); if (!GetIsPC(oPC)) return; if (GetItemPossessedBy(oPC, "KryxStaff")!= OBJECT_INVALID) { sDeny="You may only possess one of Kryx's Staves"; SendMessageToPC(oPC, sDeny); return; } int DoOnce = GetLocalInt(OBJECT_SELF, GetTag(OBJECT_SELF)); if (DoOnce==TRUE) return; SetLocalInt(OBJECT_SELF, GetTag(OBJECT_SELF), TRUE); CreateItemOnObject("kryxstaff", oPC); object oTarget; location lTarget; oTarget = GetWaypointByTag("Heijan"); 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; oTarget=GetFirstFactionMember(oPC, FALSE); while (GetIsObjectValid(oTarget)) { AssignCommand(oTarget, ClearAllActions()); AssignCommand(oTarget, ActionJumpToLocation(lTarget)); oTarget=GetNextFactionMember(oPC, FALSE); } DestroyObject(OBJECT_SELF); }