Common L4D Mapping Errors
Versions: You must be logged in to view history.
A list of common mapping errors and problems.
- Why does a newly compiled map crash L4D after being loaded?
- Left 4 Dead requires the file "stringtable_dictionary.dct" to be embedded inside the BSP to open it. If the file is not present L4D will pack the file inside the BSP, but will crash in the process. To prevent this from happening, you can configure Hammer to automatically pack a "stringtable_dictionary.dct" file into your BSP during the compile process. To do this, follow the tutorial here. The "stringtable_dictionary.dct" file itself can be obtained from that tutorial, or extracted from an official L4D map using a tool like Pakrat.
- How do I make the infected spawn?
- Your map must have a info_director that is enabled, you also may have to use the console command "director_start". For wandering zombies to be spawned when you load the map, the director needs to be able to compute a path from the start to the finish. See Navigation Meshes and the official L4D Level Design Docs for more info
- Why won't the survivor bots move?
- The most likely cause is a faulty or missing ".nav" file. See Navigation Meshes
- Why is the molotov fire / Smoker's smoke cloud not visible in-game?
- This is usually due to the lack of a
env_fog_controller entity. Also, check to make sure there were no errors generated during the map's compile process.
- Why won't my rescue closets work?
- Rescue closets will not function correctly if there are any nav errors present in the map (the "NAV ERRORS - Map is unplayable!" message appears in game). You will want to make sure the map's nav mesh is properly set-up.
- How do I play my map in Versus Mode or Survival Mode?
- To play your map in Versus or Survival mode, first set the CVAR "mp_gamemode" to "versus" or "survival" (respectively), then load your map using the "map" command. So if you wanted to play your map "warehouse.bsp" in survival mode, you would type in the console (while on the main menu) "mp_gamemode survival; map warehouse". Similarly, if you wanted to switch back to regular campaign mode, type "mp_gamemode coop; map warehouse". (Note 1: "coop" and "campaign" are synonymous when using the mp_gamemode command) (Note 2: If you're already in a game running locally, you can switch gametypes by using the "mp_gamemode" command, then the "changelevel" command.)
- Why does the copy of Hammer included with the L4D SDK take several minutes to launch?
- L4D utilizes a different file structure from other Source based games. Hammer also searches through all the game's textures, models, VGUI materials and sounds as well as loading different shaders. These checks can equate to thousands of individual process events.
- Why doesn't my custom map load when using -tools mode?
- When loading the -tools mode version of L4D, press F10 to switch to the game, bring down the console and set sv_lan 1.
- Why is the rain particles splash when hitting the floor/objects nearly impossible to see / very transparent?
- You must compile your map with HDR enabled for the rain splash effect to be clearly visible.
- Why doesn't the game recognise/play custom sounds I place in the sound directory even though they are in the correct format?
- Custom sounds in L4D require that you pakrat the sounds into the bsp file before they will play. If you are using a custom soundscape, pakrating will not work, instead you must rebuild the audio cache before the engine will read your soundscape. Ingame, type snd_rebuildaudiocache into the console. When it is finished your sounds will work ingame. Unfortunately every downloader of your campaign will need to manually enter this command for your soundscapes to work.
Tip:Once you rebuild the sound cache, you may include your _master.cache and custom sounds within your VPK (pakratting the cache into the bsp may be more reliable), which will allow your campaigns custom sounds to work without them being bspzip'd or having clients run snd_rebuildaudiocache.
- After compiling my map without vrad to quickly test small changes, the map became full bright, but now even when I compile with vrad, my map is still fully lit up.
- The game engine automatically sets mat_fullbright 1 when loading a map that hasn't been compiled with vrad. However, L4D does not turn it off automatically when loading a map that has been compiled with vrad. If you leave L4D open during development in a window and reload your map after a full vrad compile, you must manually set mat_fullbright 0. After setting mat_fullbright to "0", you may need to reload your map for it to display correctly.
- Why does L4D ignore my info_survivor_position? I can only use info_player_start?
- There is a bug with logic_auto's onmapspawn in conjunction with using it to call an info_directors forcesurvivor input which does not allow it to function properly unless your map is loaded as a campaign. Instead, set up the info_director to have a name then in the info_directors output, have it trigger itself once to call forcesurvivorpositions with 0.00 delay, then again with releasesurvivorpositions with 0.01 delay.
- How do I get music to play like in official L4D campaigns?
- L4D has what is known as the Music Director. The music director will play music based on certain 'Events' occuring througout the campaign. You can learn how to add default music to your campaign, as well as how to customize your own music by following the guide here: L4D Custom Music Tutorial
- Why does the grass textures have misaligned/floating detail props (grass, bushes) when I compile and run my map?
- This is a bug with the default detail type. For now, you can use the rural detail sprites as an alternative. To use them, simply open your map in Hammer, go to Map on the top menu, and select Map Properties. From here, find the Detail Material File entry and change it from detail/detailsprites to detail/ruraldetailsprites Compile and test ingame to see the changes.
- Why does the game randomly crash to desktop only when my campaign is ran as a VPK?
- There are two common reasons for this. One is that you have custom content in your map that you either forgot to include with the VPK or is pathed wrong. As an example a single custom sprite missing from your VPK directory when referenced in the map, will crash L4D to desktop. The other common reason is having custom models in your map. There is a bug where sometimes custom models will crash the game to desktop with an error in shader.dll as soon as the model is within your PVS (is being drawn by the engine). Valve is working on this issue, but in the meantime the work around is to bspzip your custom models into the BSP files themself, instead of leaving them within the VPK directory struture.
- When all the players die, they respawn in the ending safe house, any ideas?
- As long as your info_landmarks are named and referenced correctly by coresponding info_changelevels, the reason for this bug is usually that you are marking the NAV MESH with PLAYER_START on maps that are NOT the very first map in your campaign, as well, you must have 2 areas on your map marked as CHECKPOINT (Minus the finale map), the start area of your current map, and the ending safehouse. Even the very first map which has an area marked PLAYER_START, must ALSO be marked CHECKPOINT. What is happening here, is that when you only have the end safe house marked as CHECKPOINT, the director when reloading the map looks for the nearest CHECKPOINT to the info_player_start, thus you must make sure you have the area with your info_player_start marked as CHECKPOINT as well.
Error messages and what they mean
- ***VPK: FindFile Attempting to use full path with VPK file!
- N/A, but this error can be safely ignored
- WARN: CL4DBasePanel::UpdateProgressBar called outside of level loading, discarded!
- Engine Error: 81/ - weapon_ammo_spawn: UTIL_SetModel: not precached: models/props_unique/spawn_apartment/coffeeammo.mdl
- Steam Validation Rejected
- Make sure that you have "+sv_lan 1" set in your game's launch options.
- Engine Error: CModelLoader::FindModel: NULL name
- This can be caused due to compiling the map using an outdated FGD. Older FGDs do not have the new values for the
light_environment entities, therefore you are compiling a BSP with missing information.
- Assert, File: U:devterrorsrctier0memstd.cpp, Line: 1623, Assert: ***: OUT OF MEMORY! attempted allocation size: 536873088 ****
- If the map crashed once, you can try relaunching L4D and load your map again. It should load up fine the second time. Also try turning Multicore Rendering off, if turned on.
Note:If you're compiling without the official SDK, the 2 errors below are likely due to the BSP missing a "stringtable_dictionary.dct" file. For more information on fixing this, see "Why does a newly compiled map crash after being loaded in L4D?" above.
Navigation mesh related errors
These nav errors will all cause the message "NAV ERRORS - Map is unplayable!" to be displayed in game when the map is loaded.
- The nav file was built for an older compile.
- This error message means the ".nav" file for a map is older then the ".bsp" itself. This should not be a problem unless the map's layout was changed after the ".nav" file was created. This can be remedied by running
nav_analyze in the console after changes are made to the ".bsp".
- GetGoalArea: Cannot find SPAWN_RESCUE_CLOSET area in FINALE, thus cannot guarantee reachability of goal area.
- Regarding respawn closets; there are 2 essential steps for making them work properly. Place 3 Info survivor position entities in a room or closet then in game use the
mark RESCUE_CLOSET console command to identify the closet/room as a rescue area. This process is explained in Navigation Meshes. Equally important is labeling the "player start" and checkpoint meshes using
mark CHECKPOINT and
mark PLAYER_START respectively.
- GetGoalArea: Cannot find end area - no checkpoint or finale located
- This error is due to lack of one of the following:
- A missing Prop door rotating checkpoint entity.
- Not identifying a navigation mesh with
- Not identifying a navigation mesh with
- Not properly using a trigger_changelevel with its correct info_landmark or not using it at all.
- ComputeFlowDistances: ERROR - Cannot compute flow.
- The "Flow" of the map refers to the ability of the AI to travel from the spawn location to the designated Saferoom/finale checkpoint. If there are any breaks in the navigation mesh (meshes that are not connected via
nav_splice), L4D cannot compute the path necessary to travel the map. The map need to be fully playable for the game to compute the flow. Which means a fully working spawn room and a fully working safe room are mandatory.
Nav_generate can leave certain essential meshes from being connected, sometimes manual connection is required.
Note:It is possible to remove the "NAV ERRORS - Map is unplayable!" error message. One method found is to make sure your map has an
info_director, and a nav mesh, then follow the steps in "The safe house and changing levels " and "Building the navigation mesh" in Your First Left 4 Dead Map.
- The game crashes when using nav_delete?
- Use director_stop and then nb_remove_all to make sure all survivor bots and infected are removed before editing your nav mesh.
Call of Duty: Mods: Multiplayer (624.12Kb)