Jump to content

How can I make a narration for a Skyrim mod?


horrorgun

Recommended Posts

Hey guys, I'm thinking about making a mod that relies on a narrator telling a story in certain areas. I'm curious about adding a voice narration that plays while the player is making his way though a dungeon, or other areas, how do I go about doing this? I tried Googling how to make one but found nothing. In some dungeons in Skyrim you can hear a voice over come from nowhere when you enter certain areas, especially in the Ansilvund dungeon. Hopefully should be able to make a narration or a voice that doesn't come from a character in the creation kit.


Any help would be much appreciated.


Link to comment
Share on other sites

I may not be understanding, but it seems what you are asking for is pretty simple. Create the dialogue, place a trigger box at the point you want the dialogue to play, script the trigger box to play that line of dialogue when the player enters the box.

Link to comment
Share on other sites

Take a look at what happens in Meridia's quest.

 

Alternatively, you could create a trigger box, as shittakaburi said, and then have a talking activator speak. Then, in the dialogue, set the audio output override super high so you can hear it from anywhere.

 

 

I may not be understanding, but it seems what you are asking for is pretty simple. Create the dialogue, place a trigger box at the point you want the dialogue to play, script the trigger box to play that line of dialogue when the player enters the box.

Hey guys thanks for helping, after reading what you said I looked up how to make triggers and found a tutorial that showed how to make objects appear. https://www.youtube.com/watch?v=UQvM520pyjo

 

I followed it and retrofitted the trigger so it played sounds instead and got the narration to work, while also editing a script that I found from here. http://tesalliance.org/forums/index.php?/topic/4785-trigger-scripts/

 

Although I have encountered one problem. Every time I enter the trigger the sound file plays again over the current sound file, how do I make it so it only plays once and never again even when the player enters the trigger again? So for example the player will only hear the sound play the first time he enters the trigger and never again in the entire game, unless he reloads an old save.

 

Here's the code I am using for the trigger below:

 

Scriptname VoiceScript extends ObjectReference
Sound Property FXVoiceNarrationTest Auto
Event OnTriggerEnter (objectReference activateRef)
if activateRef == Game.GetPlayer()
FXVoiceNarrationTest.Play(Self)
;Depends on what you want to do
endif
endEvent
Link to comment
Share on other sites

You would do:

 

Scriptname voicescript extends objectreference

 

Sound property fxvoicenarrationtest auto

Int controlvar = 0

 

Event ontriggerenter(objectreference activateref)

 

If activateref == game.getplayer() && controlvar == 0

 

FXVoiceNarrationTest.Play(self)

; depends on what you want to do

Controlvar = 1

 

Endif

 

Endevent

 

Does that make sense?

Link to comment
Share on other sites

You would do:

 

Scriptname voicescript extends objectreference

 

Sound property fxvoicenarrationtest auto

Int controlvar = 0

 

Event ontriggerenter(objectreference activateref)

 

If activateref == game.getplayer() && controlvar == 0

 

FXVoiceNarrationTest.Play(self)

; depends on what you want to do

Controlvar = 1

 

Endif

 

Endevent

 

Does that make sense?

Thank you :) I just tried it in the dungeon and it works great, I'll upload a small clip of the test in action. Thank you for this, now I'll be able to start work on the mod now that you've shown me how to add narration.

Most of the code makes sense but I am pretty new to all of this, If I'm correct in thinking, should just be able to copy and paste the code but change the names of what is being activated.

Link to comment
Share on other sites

 

You would do:

 

Scriptname voicescript extends objectreference

 

Sound property fxvoicenarrationtest auto

Int controlvar = 0

 

Event ontriggerenter(objectreference activateref)

 

If activateref == game.getplayer() && controlvar == 0

 

FXVoiceNarrationTest.Play(self)

; depends on what you want to do

Controlvar = 1

 

Endif

 

Endevent

 

Does that make sense?

Thank you :smile: I just tried it in the dungeon and it works great, I'll upload a small clip of the test in action. Thank you for this, now I'll be able to start work on the mod now that you've shown me how to add narration.

Most of the code makes sense but I am pretty new to all of this, If I'm correct in thinking, should just be able to copy and paste the code but change the names of what is being activated.

 

 

For similar situations? Yep.

 

Explanation of Controlvars: I simply added a small variable (I called it Controlvar, but it can be whatever) that was originally 0. When you walked through the trigger, it checks to see if the actor walking through the trigger is the player and if controlvar is 0, which it should be originally. Once the code activates, the controlvar is set to 1, so the trigger no longer does anything (it no longer passes the check).

Link to comment
Share on other sites

 

 

You would do:

 

Scriptname voicescript extends objectreference

 

Sound property fxvoicenarrationtest auto

Int controlvar = 0

 

Event ontriggerenter(objectreference activateref)

 

If activateref == game.getplayer() && controlvar == 0

 

FXVoiceNarrationTest.Play(self)

; depends on what you want to do

Controlvar = 1

 

Endif

 

Endevent

 

Does that make sense?

Thank you :smile: I just tried it in the dungeon and it works great, I'll upload a small clip of the test in action. Thank you for this, now I'll be able to start work on the mod now that you've shown me how to add narration.

Most of the code makes sense but I am pretty new to all of this, If I'm correct in thinking, should just be able to copy and paste the code but change the names of what is being activated.

 

 

For similar situations? Yep.

 

Explanation of Controlvars: I simply added a small variable (I called it Controlvar, but it can be whatever) that was originally 0. When you walked through the trigger, it checks to see if the actor walking through the trigger is the player and if controlvar is 0, which it should be originally. Once the code activates, the controlvar is set to 1, so the trigger no longer does anything (it no longer passes the check).

 

Ahh I see, that makes sense now.

https://www.youtube.com/watch?v=WiLlkqs7ZYE&feature=youtu.be

Here's a video of the test I did, the voice is from Spec Ops the Line and the music is Incubus- 2nd Movement of the Odyssey from Halo 2.

Edited by horrorgun
Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...