This tutorial will teach you how to make a scene in which a marker will speak as another NPC, when NOT in direct dialogue with the player (see Talking Activators for things like the DB door). An example of this is when you pick up Meridia's Beacon in game, and Meridia speaks to you. The actual actor of Meridia is nowhere near you - in fact, she's disabled. An xMarker is actually speaking with her voice. This will allow you to have the NPC speak ANYWHERE you want, without having to move the NPC around in case they need to be elsewhere.
You should understand basic quest/scene design.
You should understand basic quest/scene design.
First, you will need to make an alias in your quest for the XMarker. Call it xMarkerVoice, and make it a Create Reference to Object alias. You want to Create Reference to Object AT (with the reference as XMarker), chosen from the dropdown alias of the NPC who should be talking. In Meridia's Beacon, the xMarker is actually placed at the chest where the player will pick up the gem. It doesn't actually matter where you place it - the closest alias to where the player will get the first talking scene is best. You'll be moving the marker anyway.
The marker should have Stores Text checked. Go to Miscellaneous>Message, right click and create a NEW message. Set your quest as the owning quest, make it a messagebox, give it an ID, and make the Title your NPC's name. This NPC is the one who should be perceived as speaking when the xMarker is actually talking. With the Meridia's Beacon example, the Title would be Meridia.
The marker should have Stores Text checked. Go to Miscellaneous>Message, right click and create a NEW message. Set your quest as the owning quest, make it a messagebox, give it an ID, and make the Title your NPC's name. This NPC is the one who should be perceived as speaking when the xMarker is actually talking. With the Meridia's Beacon example, the Title would be Meridia.
Once you've saved that Message, go back to your alias and set the Display Name to your Message's editorID. This will set the xMarkerAlias' name to that of your Message's Title, so in the captions it won't say:
xMarker: A new hand touches the beacon...
Now go to the Scenes tab of your quest. Anything the xMarker will be saying will be in a scene. Make a new scene. If you'd like, you can make it Begin/End on quest start and just start the quest to start the scene. However, my quest is a normal, linear quest and I have multiple moments where the xMarker talks. (In my quest, a ghost is talking to you at multiple points as you search a location for something she's lost.) So I leave all that blank. None of the Actor Data or Behaviour is important - you can't kill the XMarker, and my NPC is disabled so you can't kill her either. She's not even a part of this scene.
Add a new actor to your scene, and make it the xMarkerVoice alias, NOT THE ALIAS OF THE NPC. Add a new phase. I'm just going to make one phase for the scene - in it the xMarker will say about 7 lines (7 responses in 1 info). However, you can make two phases and have the first line say when started, and then only say the next ones when you pick up an item by adding start conditions to the second phase. You will not have any packages on your xMarker, because xMarker's can't move.
So, I add a new action to my first phase, and make it Dialogue. I make a new info within the dialogue - I don't need to set emotion or headtracking, because you can't see the XMarker. In the info, I add as many responses as needed for my marker to say everything. For every new line in a scene, you should make a new phase with a new action. Having it all in several responses works, but can cause issues where the scene won't interrupt if it needs to be interrupted. I don't add any conditions to my phase(s), since I'll be starting it through script, and since the actor speaking is the xMarker it determines only it can say it. You CAN add conditions to the dialogue if you wish. Once you're done setting up your line, set the Audio Output Override to SOMDialogue2D. This is optional, it will just ensure the dialogue can be heard from far away. Absolutely essential - you must set the Speaker of the line (upper right of the info window) to the ID of your actor who should be seen as speaking. This will not let you use an alias for the speaker, which is unfortunate but required. You'd have to make several different infos in the action w/ different speakers and conditions checking who the alias is if the xMarkerVoice could be different people. I also checked Post Processing Required, but it is not necessary. I just did it because the Meridia's Beacon quest did. If your NPC is supposed to be talking normally, it's probably not needed.
Add a new actor to your scene, and make it the xMarkerVoice alias, NOT THE ALIAS OF THE NPC. Add a new phase. I'm just going to make one phase for the scene - in it the xMarker will say about 7 lines (7 responses in 1 info). However, you can make two phases and have the first line say when started, and then only say the next ones when you pick up an item by adding start conditions to the second phase. You will not have any packages on your xMarker, because xMarker's can't move.
So, I add a new action to my first phase, and make it Dialogue. I make a new info within the dialogue - I don't need to set emotion or headtracking, because you can't see the XMarker. In the info, I add as many responses as needed for my marker to say everything. For every new line in a scene, you should make a new phase with a new action. Having it all in several responses works, but can cause issues where the scene won't interrupt if it needs to be interrupted. I don't add any conditions to my phase(s), since I'll be starting it through script, and since the actor speaking is the xMarker it determines only it can say it. You CAN add conditions to the dialogue if you wish. Once you're done setting up your line, set the Audio Output Override to SOMDialogue2D. This is optional, it will just ensure the dialogue can be heard from far away. Absolutely essential - you must set the Speaker of the line (upper right of the info window) to the ID of your actor who should be seen as speaking. This will not let you use an alias for the speaker, which is unfortunate but required. You'd have to make several different infos in the action w/ different speakers and conditions checking who the alias is if the xMarkerVoice could be different people. I also checked Post Processing Required, but it is not necessary. I just did it because the Meridia's Beacon quest did. If your NPC is supposed to be talking normally, it's probably not needed.
Before you test, make sure that there are no conditions on your overall quest or the individual info that would bar the xMarker from speaking. GetIsID CYRAlinaGhostCRT on my quest would break the xMarker, because the ID of the subjectis NOT the speaker, necessarily. Also, checking that the voicetype is that of the ghost would also break it. The xMarker will speak with the ghost's voicetype, but that doesn't mean that the xMarker itself actually has the voicetype - confusing. But in the end, the xMarker WILL speak with your speaker's voice, and the voice files will be in the Speaker's voicetype folder.
Also, however you start your scene, you must move the xMarkerVoice to the player. If you start it when the quest starts, make/use a Start Up stage, and in it, do:
Also, however you start your scene, you must move the xMarkerVoice to the player. If you start it when the quest starts, make/use a Start Up stage, and in it, do:
Alias_xMarkerVoice.GetReference().MoveTo(Game.GetPlayer())
(xMarkerVoice after Alias_ would be the exact name of your xMarker alias.) If you started it through a trigger:
Scene Property xMarkerTalkingScene Auto
ReferenceAlias Property xMarkerVoice Auto
; fill your properties:http://skyrimmw.weebly.com/skyrim-modding/how-to-fill-properties-skyrim-;modding-tutorial
Event OnTriggerEnter(Actor akActionRef)
xMarkerVoice.GetReference().MoveTo(Game.GetPlayer())
xMarkerTalkingScene.Start()
EndEvent
If your quest is start game enabled, be sure you generate an SEQ, and if there is no voice yet - install Fuz Ro D-oh.
Note: You could have a scene between two xMarkerVoices (separate aliases) if you want. You could have a scene between an xMarkerVoice and a NPC, etc.
If you find any issues or found this helpful, please comment below.