void main() { object oActor; // Get the creature who triggered this event. object oPC = GetEnteringObject(); // Only fire for (real) PCs. if ( !GetIsPC(oPC) || GetIsDMPossessed(oPC) ) return; // Only fire once. if ( GetLocalInt(GetModule(), "DO_ONCE__" + GetTag(OBJECT_SELF)) ) return; SetLocalInt(GetModule(), "DO_ONCE__" + GetTag(OBJECT_SELF), TRUE); // Have the PC perform a sequence of actions. AssignCommand(oPC, ClearAllActions()); // Have "olsentinelx" perform a sequence of actions. oActor = GetObjectByTag("olsentinelx"); AssignCommand(oActor, ActionMoveToObject(oPC)); // Have "olsentinelx" say something. AssignCommand(GetObjectByTag("olsentinelx"), SpeakString("Halt and speak with me!")); // Have "olsentinelx" strike up a conversation with the PC. oActor = GetNearestObjectByTag("olsentinelx", oPC); DelayCommand(1.5, AssignCommand(oActor, ActionStartConversation(oPC))); }