void main() { object oTarget; object oSpawn; object oActor; // Get the creature who triggered this event. object oPC = GetEnteringObject(); // Only fire for (real) PCs. if ( !GetIsPC(oPC) || GetIsDMPossessed(oPC) ) return; // Abort if the local string is not exactly "1". if ( GetLocalString(oPC, "crbthse1") != "1" ) 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()); // Spawn "mrcrbt1". oTarget = GetWaypointByTag("WP_SPn_mrcrbt1"); oSpawn = CreateObject(OBJECT_TYPE_CREATURE, "mrcrbt1", GetLocation(oTarget)); // Have "mrcrbt1" perform a sequence of actions. oActor = GetObjectByTag("mrcrbt1"); AssignCommand(oActor, ActionJumpToObject(oPC)); // Have "mrcrbt1" say something. AssignCommand(GetObjectByTag("mrcrbt1"), SpeakString("Let us speak for a moment!")); // Have "mrcrbt1" strike up a conversation with the PC. oActor = GetNearestObjectByTag("mrcrbt1", oPC); DelayCommand(0.7, AssignCommand(oActor, ActionStartConversation(oPC))); }