-------------------------------------------------------------------------------- Script Name: Cut-scenes Scenario Author: Genji Script: I used a waypoint tagged begin over a large generic trigger tagged spawn_in_trigger with the following in the trigger OnEnter: void main() { object creature = GetEnteringObject(); AssignCommand(creature,ClearAllActions()); SetCommandable(FALSE,creature); int numHeld = GetLocalInt(OBJECT_SELF,"number_held_creature") + 1; SetLocalObject(OBJECT_SELF,"held_creature_" + IntToString(numHeld),creature); SetLocalInt(OBJECT_SELF,"number_held_creature",numHeld); object convict = GetObjectByTag("NW_CONVICT"); object cultist = GetObjectByTag("NW_CULTMEMBER"); AssignCommand(cultist,ActionStartConversation(convict)); } this will start a conversation between the cultist ( with a valid conversation ) and the convict ( with no conversation ). Conversation's between npc's run like overheard npc-pc conversations; you see the text and the nodes just go in order. at the last node of the conversation I put the following to get the pc's (and friends) back unfrozen and teleported them back to a waypoint tagged "start" Action Taken: void main() { object trigger = GetObjectByTag("spawn_in_trigger"); object creature; int count = 1; int numHeld = GetLocalInt(trigger,"number_held_creature"); // cycle through and unfreeze everyone that was frozen. // then port them back to the waypoint tagged "start" object returnObj = GetWaypointByTag("start"); for(count;count<=numHeld;count++) { creature = GetLocalObject(trigger,"held_creature_" + IntToString(count)); DelayCommand(3.0,SetCommandable(TRUE,creature)); DelayCommand(3.0,AssignCommand(creature,ClearAllActions())); DelayCommand(3.0,AssignCommand(creature,JumpToObject(returnObj))); DeleteLocalObject(trigger,"held_creature_" + IntToString(count)); } DeleteLocalInt(trigger,"number_held_creature"); } For my testing I used a floor lever with this script in it to beam the pc to the "begin" waypoint and start the whole process: void main() { object pc = GetLastUsedBy(); AssignCommand(pc,JumpToObject(GetWaypointByTag("begin"))); } Details: Update: Due to the bug in 1.23, if you have a conversation and you want it to do action on the last node , such as this example, then you have to remove the nw_walk_wp scripts from the conversation end and abort. You can hold the pc's in place as long as you want. Any active pc can still look at their inventory and spell books and have any number of annoying screens open while your scene is playing out. They just can't move or perform any action. They can still yell voice chats as well, so consider a ,"shut-the-heck-up" silencing effect as a option. Remember that the generic trigger the pc's are being frozen in will freeze any creature that comes to it. You can use the area OnEnter to freeze them and save the pc's into the area object, but then the pc's will not activate the OnEnter of the trigger. In which case you'll have to come up with another way to start your conversation and such. -Genji -------------------------------------------------------------------------------- Last Updated: 09/07/2002 Webmaster --------------------------------------------------------------------------------