void ClearAndJumpToObject(object oDestination); void ClearAndJumpToObject(object oDestination) { ClearAllActions(); JumpToObject(oDestination); } void main() { int nHench; object oHench; object oTarget; // Get the PC who is in this conversation. object oPC = GetPCSpeaker(); // Destroy objects (not fully effective until this script ends). DelayCommand(2.0, DestroyObject(GetObjectByTag("ptnwtrfnlzzxxc"))); DelayCommand(2.0, DestroyObject(GetObjectByTag("uwtrnarr1x"))); // Have the PC perform a sequence of actions. AssignCommand(oPC, ActionPlayAnimation(ANIMATION_FIREFORGET_DRINK)); // Find the location to which to teleport. oTarget = GetWaypointByTag("WP_Frgtnpaltr"); // Teleport the PC. DelayCommand(3.0, AssignCommand(oPC, ClearAndJumpToObject(oTarget))); // Also teleport associates. oHench = GetAssociate(ASSOCIATE_TYPE_ANIMALCOMPANION, oPC); DelayCommand(3.0, AssignCommand(oHench, ClearAndJumpToObject(oTarget))); oHench = GetAssociate(ASSOCIATE_TYPE_DOMINATED, oPC); DelayCommand(3.0, AssignCommand(oHench, ClearAndJumpToObject(oTarget))); oHench = GetAssociate(ASSOCIATE_TYPE_FAMILIAR, oPC); DelayCommand(3.0, AssignCommand(oHench, ClearAndJumpToObject(oTarget))); oHench = GetAssociate(ASSOCIATE_TYPE_SUMMONED, oPC); DelayCommand(3.0, AssignCommand(oHench, ClearAndJumpToObject(oTarget))); // Support for multiple henchmen (includes horses). nHench = 1; oHench = GetHenchman(oPC, 1); while ( oHench != OBJECT_INVALID ) { DelayCommand(3.0, AssignCommand(oHench, ClearAndJumpToObject(oTarget))); // Next henchman. oHench = GetHenchman(oPC, ++nHench); } // Find the location to which to teleport. // 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); } }