This article relates to the game "Left 4 Dead". Click here for more information.
This article's documentation is for anything that uses the Source engine. Click here for more information.

L4D Custom Music Tutorial: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
m (→‎Example Tips: Unicodifying, replaced: [[IMage: → [[File: (3))
 
(10 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{toc-right}}
{{lang|{{PAGENAME}}}}{{L4D topicon}}{{Source topicon}}[[Category:Left 4 Dead]][[Category:Sound System]][[Category:Tutorials]]
This tutorial will go over how to customize the Music Director for your campaign using the<code>mapname_level_sounds.txt</code>file.
If you are planning on creating custom soundscripts as well, you should still follow this tutorial and append those scripts to the <code>level_sounds.txt</code>.


{{Bug|At the moment there is an issue where any campaign implementing custom soundscripts will play a random incorrect sound when you throw a molotov at zombies. I am investigating this issue and will contact Valve about it. I will update this page with the information I find.}}
This tutorial will go over how to customize the Music Director for your campaign using the mymapname_level_sounds.txt file.
If you are planning on creating custom soundscripts as well, you should still follow this tutorial and append those scripts to the level_sounds.txt.
There is 2 methods for adding custom music to your campaign.
{{Note|Your campaign maps should have a valid nav mesh for many soundscript events to work properly.}}
== PAKRAT Method ==
This method is the easyest, but often will lead to a much larger VPK file size due to duplicated WAV files across multiple BSPs as well you will need to repackadge your sounds after every map compile.
Use this method if you only have a few custom sound files or they are not used on multiple maps within your campaign.
There are 7 steps to this method of adding custom music to your campaign:
# Create a text file called [your_exact_map_name]_level_sounds.txt in your addons maps directory.
# Copy ALL the contents from my example soundscript into that file.
# In the missions file of your addon, find the NAME parameter, and pick a short name that has no spaces.
# In notepad, press CTRL + H, to find and replace XXXXX with the same name you used in missions.txt NAME field.
# Begin replacing any wav files you choose in the script to reference your own files. (Do not include sounds/ in the paths, it's assumed)
# [[BSPZIP]] or [[Pakrat]] your custom music into the map .bsp file. (The paths for each wav file within the bsp should be sounds/music/your_custom_folder)
# Packadge your campaign into a [[L4D Campaign Add-on Tutorial|VPK]] and test it out ingame, your custom music should work!
== _Master.Cache Method ==
This method is more size efficient since you won't be storing files within BSPs. As well when you recompile your maps during development, you wont need to repakadge custom sounds.
Unfortunately due to a bug with the VPK system, this method requires that your campaign be they very first campaign played when players load Left 4 Dead as once the game engine loads a campaigns cache file, it won't bother loading any others until the game is restarted.
{{Note|Valve is aware of this issue, and it may be fixed with the Match Making update coming out shortly after the Crash Course DLC}}
Use this method if you have tons of custom sounds/music that is used across multiple maps and you want to maintain a small VPK size.


There are 9 steps to this method of adding custom music to your campaign:  
There are 9 steps to this method of adding custom music to your campaign:  
 
# Create a text file called <code>mapname_level_sounds.txt</code> in your add-on's maps directory.
# Create a text file called [your_exact_map_name]_level_sounds.txt in your addons maps directory.
# Copy ALL the contents from the example soundscript into that file.
# Copy ALL the contents from my example soundscript into that file.
# In the missions file of your add-on, find the NAME parameter and pick a short name that has no spaces.
# In the missions file of your addon, find the NAME parameter, and pick a short name that has no spaces.
# In notepad, press {{key|Ctrl|H}} to find and replace XXXXX with the same name you used in <code>missions.txt</code> NAME field.
# In notepad, press CTRL + H, to find and replace XXXXX with the same name you used in missions.txt NAME field.
# Begin replacing any WAV files you choose in the script to reference your own files. (Do not include <code>sounds/</code> in the paths, it's assumed.)
# Begin replacing any wav files you choose in the script to reference your own files. (Do not include sounds/ in the paths, it's assumed)
# Load up ''Left 4 Dead'' and turn off all add-ons except the one you are working on. (Other campaigns' custom sounds may cause trouble if you don't.)
# Load up Left 4 Dead and turn off all addons except the one you are working on. (Other campaigns custom sounds will screw this step up if you don't)
# In the console, enter <code>snd_rebuildaudiocache</code> and wait about 5 mins for it to finish.
# In the console, enter snd_rebuildaudiocache and wait about 5 mins for it to finish.
# Copy the _master.cache file from your<code>maps/soundcache</code>, place it in your add-on's <code>maps/soundcache</code> directory.
# Copy the _master.cache file from your maps/soundcache, place it in your addons maps/soundcache directory.
# Package your campaign into a [[L4D Campaign Add-on Tutorial|VPK]] and test it out in-game. Your custom music should work!
# Packadge your campaign into a [[L4D Campaign Add-on Tutorial|VPK]] and test it out ingame, your custom music should work!
{{Note|You will need to repeat the <code>snd_rebuild</code> steps whenever you add new sound files.}}
 
{{todo|This method seems to have a 50/50 chance of allowing users to hear your custom sounds without rebuilding their audio cache. It may be more beneficial to PAKRAT/BSPZIP the <code>_master.cache</code> file within the<code>.bsp</code>itself, thereby hiding the file from other people's add-ons, which would avoid sound conflicts and possibly force your custom soundcache to load instead of the default. This is untested, but it's worth a try.}}
{{Note|You will need to repeat the snd_rebuild steps whenever you add new sound files.}}


== Custom Music Script File ==
== Custom Music Script File ==
This is the example soundscript you need to copy.
This is the example soundscript you need to copy.


It is a stripped version of the game_sounds_music.txt to only include the Events you need to edit for your campaign.
It is a stripped version of the <code>game_sounds_music.txt</code> to only include the Events you need to edit for your campaign.
It is highly commented allowing a greater insight into what each section is for when deciding on what to change.
It is highly recommended allowing a greater insight into what each section is for when deciding on what to change.


You may also opt not to change anything in the file, which will give your campaign the default music cues associated with the Airport campaign.
You may also opt not to change anything in the file, which will give your campaign the default music cues associated with the Airport campaign.


http://www.evolvedant.com/soundscript/example_script.zip
http://www.evolvedant.com/soundscript/example_script.zip
{{Note|There was a slight typo in the previous file.. if intro music wasn't working for you, redownload this file.}}
{{Note|There was a slight typo in the previous file. If intro music wasn't working for you, redownload this file.}}


== Example Tips ==
== Example Tips ==
If your campaign is called "Awesome" and contains maps such as <code>l4d_awesome_forest</code>, <code>l4d_awesome_campsite</code>, etc…


If your campaign is called 'Awesome' and contains maps such as l4d_awesome_forest, l4d_awesome_campsite, etc...
Your add-on's maps directory should contain <code>l4d_awesome_forest_level_sounds.txt</code>:
Your addons maps directory should contain l4d_awesome_forest_level_sounds.txt
[[File:L4dMapDir.jpg‎|center|500px]]
[[IMage:L4dMapDir.jpg‎|center|500px]]
 
The NAME parameter in your missions.txt would be 'awesome' and look like this:
[[Image:L4dmissions2.jpg|center|500px]]


A custom intro song that we will call 'thriller.wav' when using method 1, correctly pathed and added into the bsp would look like this:
The NAME parameter in your <code>missions.txt</code> would be "awesome" and look like this:
[[Image:L4dPakrat.jpg|center|500px]]
[[File:L4dmissions2.jpg|center|500px]]


Heres how your sound script would look properly edited to make use of thriller.wav
Here's how your sound script would look properly edited to make use of <code>thriller.wav</code>:
[[Image:L4dsoundscript.jpg‎|center|500px]]
[[File:L4dsoundscript.jpg‎|center|500px]]


== See also ==
== See also ==
* [[L4D Campaign Add-on Tutorial]]
* [[L4D Campaign Add-on Tutorial]]
[[Category:Left 4 Dead]]

Latest revision as of 00:20, 7 January 2024

English (en)Translate (Translate)

This tutorial will go over how to customize the Music Director for your campaign using themapname_level_sounds.txtfile. If you are planning on creating custom soundscripts as well, you should still follow this tutorial and append those scripts to the level_sounds.txt.


There are 9 steps to this method of adding custom music to your campaign:

  1. Create a text file called mapname_level_sounds.txt in your add-on's maps directory.
  2. Copy ALL the contents from the example soundscript into that file.
  3. In the missions file of your add-on, find the NAME parameter and pick a short name that has no spaces.
  4. In notepad, press Ctrl+H to find and replace XXXXX with the same name you used in missions.txt NAME field.
  5. Begin replacing any WAV files you choose in the script to reference your own files. (Do not include sounds/ in the paths, it's assumed.)
  6. Load up Left 4 Dead and turn off all add-ons except the one you are working on. (Other campaigns' custom sounds may cause trouble if you don't.)
  7. In the console, enter snd_rebuildaudiocache and wait about 5 mins for it to finish.
  8. Copy the _master.cache file from yourmaps/soundcache, place it in your add-on's maps/soundcache directory.
  9. Package your campaign into a VPK and test it out in-game. Your custom music should work!
Note.pngNote:You will need to repeat the snd_rebuild steps whenever you add new sound files.
Todo: This method seems to have a 50/50 chance of allowing users to hear your custom sounds without rebuilding their audio cache. It may be more beneficial to PAKRAT/BSPZIP the _master.cache file within the.bspitself, thereby hiding the file from other people's add-ons, which would avoid sound conflicts and possibly force your custom soundcache to load instead of the default. This is untested, but it's worth a try.

Custom Music Script File

This is the example soundscript you need to copy.

It is a stripped version of the game_sounds_music.txt to only include the Events you need to edit for your campaign. It is highly recommended allowing a greater insight into what each section is for when deciding on what to change.

You may also opt not to change anything in the file, which will give your campaign the default music cues associated with the Airport campaign.

http://www.evolvedant.com/soundscript/example_script.zip

Note.pngNote:There was a slight typo in the previous file. If intro music wasn't working for you, redownload this file.

Example Tips

If your campaign is called "Awesome" and contains maps such as l4d_awesome_forest, l4d_awesome_campsite, etc…

Your add-on's maps directory should contain l4d_awesome_forest_level_sounds.txt:

L4dMapDir.jpg

The NAME parameter in your missions.txt would be "awesome" and look like this:

L4dmissions2.jpg

Here's how your sound script would look properly edited to make use of thriller.wav:

L4dsoundscript.jpg

See also