Jump to content

Weapon reload sound


mamelukturbo

Recommended Posts

Where is it defined? Maybe I'm too tired or stupid or drunk or blind or any combination of those, but I can't see it in Art & Sound tab of weapon in geck, in FO3Edit I see sounds for Pick Up, Drop, Shoot 3D, Shoot 2D, Shoot 3D Loop, Swing - No Ammo, Block, Idle, Equip, Unequip but no reload.

 

The reload sounds are defined under Sound header but none of the records defining the reload sounds are referenced by any other record. The files are plainly in the Sound folder, I can change the sound for example for 10mm pistol reload by manually changing the related .wav file, I can find the record which defines that 10mm pistol reload sound is that particular .wav in that particular directory, BUT I can't find anything that actually uses that record. So how does the 10mm pistol Weapon record know to use the 10mm pistol reload Sound record?

 

Why I need this? I want to change some reload sounds for some custom weapons I use (i.e. some energy weapons using blatantly obvious ballistic weapon reload sound etc).

 

So, what am I missing?

Edited by mamelukturbo
Link to comment
Share on other sites

mamelukturbo - Hello!

"Where is it defined? Maybe I'm too tired or stupid or drunk or blind or any combination of those, but I can't see it in Art & Sound tab of weapon in geck, in FO3Edit I see sounds for Pick Up, Drop, Shoot 3D, Shoot 2D, Shoot 3D Loop, Swing - No Ammo, Block, Idle, Equip, Unequip but no reload."

Yes, it is strange that reload sound is not in GECK the way other weapon sounds are.

They are actually quite well hidden. :smile:

The Reload sound is defined within the animation file (.kf) of each particular reload.

The animations are packed in the .bsa under:

Fallout 3\Data\Meshes\Characters\_male

With the 1st person ones under:

Fallout 3\Data\Meshes\Characters\_1stperson

If you have any weapons mods or animation replacer they may be sitting loose in those locations in your Data files already.

For instance the Gauss rifle is a 2 hand weapon & uses Reload D so it's using:

2hareloadd.kf

If you open that file with Nifskope, expand it's details & at the very bottom of the list left click on:

NiTextKeyExtraData

It's details will come up in the Block Details window, look for "Text Keys".

This animation has four Text Keys, the first is Start, the last is End with the second a Blend & the third is where the sound is being set:

sound: WPNRifleGaussReload

You can change that to any sound that has been added via GECK, for example if you added the sound WPNSausageDogGrowl in GECK you could change that Text key to:

sound: WPNSausageDogGrowl

Save the .kf & place it in your Data folder in the proper location so it overrides the original.

The problem is that many of the reloads are used for several different weapons meaning changing the sound for one changes them for any weapon using that .kf.

There is a sneaky method using scripting to detect when a particular weapon is reloading & bypasses the .kf reload to use a custom one, like this mod:

http://fallout3.nexusmods.com/mods/8983

You could make a version of the reload that you want to change with the new sound, give it a differetn name & point your weapon at using the custom reload script method.

A good toutorial on how to add custom reloads can be found here:

http://www.svartberg.com/tutorials/fallout3_customreload/customreload.html

Though it may look complex it's actually not as hard as it may first appear. :smile:

Depending on what effect your after, you may not need to add a custom animation.

For my Jack Harper Oblivion Gear I wanted the rifle to play the electronic sounding effect from the film when it's reloaded.

I used a simple detect the animation the player is doing while holding my Tet rifle & play sound accordingly script:

SCN OJHBoltSoundScript

short OJHBoltSoundJustHappened

begin gamemode

if getcontainer == player
if player.GetEquipped OJHWeapOblivionRifle
if player.GetAnimAction == 9
if OJHBoltSoundJustHappened == 0
PlaySound OJHWPNRifleBolt
set OJHBoltSoundJustHappened to 1
endif
else
set OJHBoltSoundJustHappened to 0
endif
endif
endif

end



Where "if player.GetAnimAction == 9" is the anim action number for when the player is reloading, so the sound is played then.

My sound (OJHWPNRifleBolt) was to be played when the bolt is cocked so I built a delay into the sound itself so that it synced up to the animation.

 

The script is attached to the weapon.

 

I also use a similar script to add the jingle of shells being ejected on reload for my Webley revolvers.

It's a simpler method that may or may not be suitable for your needs.

Hope this helps!

Prensa

Edited by prensa
Link to comment
Share on other sites

Oh I would never thought of that, thanks for the detailed explanation! Just makes me wonder why Bethesda added the reload sound in this seemingly rather complicated manner, why not just define it as all other weapon sounds.

 

The tutorial from svartberg was exactly what I was looking for!

Edited by mamelukturbo
Link to comment
Share on other sites

mamelukturbo - Hello!

 

"Oh I would never thought of that, thanks for the detailed explanation!"

 

You're most welcome!

 

"Just makes me wonder why Bethesda added the reload sound in this seemingly rather complicated manner, why not just define it as all other weapon sounds."

 

It is perplexing, it's certainly well hidden. :)

 

"The tutorial from svartberg was exactly what I was looking for!"

 

Happy to have helped!

 

Prensa

Link to comment
Share on other sites

  • Recently Browsing   0 members

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